草庐IT

材质库

全部标签

【unity shader】水体渲染基础-基于texture distortion的流体流动材质

1.基于uv的texturedistortion当液体静止时,它在视觉上与固体没有太大区别。但大多数时候,我们的性能不一定支持去实现特别复杂的水物理模拟,需要的只是在常规的静态材料的表面上让其运动起来。我们可以对网格的UV坐标实现动态变化,从而让表面的纹理效果实现变形的动态变化。1.1.uv实时变化我们直接生成一个默认unlitshader,然后赋予其对应的纹理图片,并且写入随时间变化的uv更新函数。//infragshaderi.uv+=_Time.y;为了实现随机方向的uv变化,我们这里引入一张指示流动方向的贴图。float2flowDir=tex2D(_FlowMap,i.uv);i.u

UE4/UE5 虚幻引擎,材质HueShift色相(色调改变)

官方文档说明:https://docs.unrealengine.com/5.0/zh-CN/image-adjustment-material-functions-in-unreal-engine/HueShift(色调改变)HueShift(色调改变)函数使输入颜色的当前色调值偏移给定的百分比。此百分比基于1,并以色环为中心。例如,变动0.5 (50%)将改变为互补色调,即色环上对面的色调。变动1.0(100%)不会进行更改,因为这相当于正好绕色环旋转一周。1、 材质中调用HueShift 输入的色调(0,0,1)(0,0,1)偏移0.5(50%)的值是(0.666,0.666,0.333

【UE4 材质编辑篇】1.0 shader编译逻辑

UE4新手,学起来()文章仅记录自己的思考。参考:虚幻4渲染编程(材质编辑器篇)【第一卷:开篇基础】-知乎(zhihu.com)开篇基础就摸不着头脑,原因是此前完全没有摸过UE4,一点一点记录吧:每个连连看都会编译节点后生成一个ShaderTemplate,但是这篇文章之后的部分,我看的有点稀里糊涂的。于是看了另一篇关于shader编译的文章:UE4HLSL和Shader开发指南和技巧-知乎(zhihu.com)蓝图里的Custom节点,其实就是自定义的一些函数,然后引擎帮你在编译shader的时候生成一个个完整的函数,比如我在UE4.3下一个默认的材质里加入一个简单的return1的Cust

[Unity]透明材质

学习目标:UnityShader的渲染渲染顺序中的透明材质学习内容:1、透明度测试2、透明度混合3、渲染队列4、透明模型缘由:一般渲染的话会根据深度缓冲来确定渲染顺序的,但是由于透明材质需要关闭深度写入,因为透明材质会混合队列中其他材质的颜色,不能用普通材质的方法来渲染,1和2分别讲两种实现透明的方式1、透明度测试    比较极端的测试,如果片元的透明度不满足某个阈值,那么会被直接舍弃,否则会跟不透明片元一样进行深度测试、深度写入等,不考虑关闭深度写入的问题,结果只会是完全透明或者不透明2、透明度混合    该方法可得到真正的半透明效果,核心理念是与将自身的透明度与已经存在颜色缓冲中的颜色进行

【Overload游戏引擎细节分析】PBR材质Shader---完结篇

PBR基于物理的渲染可以实现更加真实的效果,其Shader值得分析一下。但PBR需要较多的基础知识,不适合不会OpenGL的朋友。一、PBR理论PBR指基于物理的渲染,其理论较多,需要的基础知识也较多,我在这就不再写一遍了,具体可以参看:LearnOpenGLPBR理论-英文或者LearnOpenGLPBR理论-中文Overload也提供了这种材料,借助贴图可以实现非常真实的材质效果。下面这个例子的贴图来自LearnOpenGL,大家可以自己去下载。二、PBRShader分析顶点着色器#shadervertex#version430corelayout(location=0)invec3geo

轻量封装WebGPU渲染系统示例<38>- 动态构建WGSL材质Shader(源码)

实现原理:基于宏定义和WGSL文件系统实现(还在完善中...)当前示例源码github地址:https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/DynamicShaderBuilding.ts当前示例运行效果:此示例基于此渲染系统实现,当前示例TypeScript源码如下:exportclassDynamicShaderBuilding{ privatemRscene=newRendererScene(); initialize():void{ this.mRscene.initializ

【小沐学Unity3d】3ds Max 多维子材质编辑(Multi/Sub-object)

文章目录1、简介2、精简材质编辑器2.1先创建多维子材质,后指定它2.2先指定标准材质,后自动创建多维子材质3、Slate材质编辑器3.1编辑器简介3.2编辑器使用结语1、简介多维子材质(Multi/Sub-object)是为一个模形(必须加载可编辑多边形或可编辑网格)的某部分指定一个才质ID,可以指定多个才质ID,然后给这个模形给才质时,每个ID的多维子才质对应一个同ID的模形部分。(1)多维子物体材质适用于对同一物体上适用2种或以上材质时适用。比如,一个墙体的两面使用不同的材质。这时,我们就可以使用多维子物体材质了。(2)常见的小物体大多使用一张贴图,但是也有大体量的场景会使用五六张甚至数

材质界的ImageNet,大规模6维材质实拍数据库OpenSVBRDF发布

在计算图形学领域,材质外观刻画了真实物体与光线之间的复杂物理交互,通常可表达为随空间位置变化的双向反射分布函数(Spatially-VaryingBidirectionalReflectanceDistributionFunction,缩写为SVBRDF)。它是视觉计算中不可或缺的组成部分,在文化遗产、电子商务、电子游戏和视觉特效等领域中有着广泛的应用。在过去的二十年里,特别是深度学习流行后,学术界与工业界对高精度、多样化数字材质外观的需求不断增加。但由于技术上的挑战,采集大型数据库仍然十分困难,目前公开可用的材质外观实拍数据库的数量非常有限。为此,浙江大学计算机辅助设计与图形系统全国重点实验

Unity 获取文件夹下的预制体名称(可改成其他材质)

其实获取并不难可以说想起来API就能想起来但是很多不常用API就会使人容易遗忘 废话就不多说了首先命名空间必不可少的usingSystem.IO;接下来看主要代码的部分吧  我拿的我的Resources下的player文件夹下举个例子吧//名称集合Listlist=newList();voidStart(){GetPrefabInfo();}//从文件夹中获取玩家模型publicvoidGetPrefabInfo(){//获取所用的预制体路径string[]prefabs=Directory.GetFiles("Assets/Resources/player","*.prefab",Searc

UE4 使用材质后期 制作玻璃有雨效果

效果展示,其实这是一个动画效果以上为所有逻辑拿到TexCoord给到Panner,Time和Speed都是通过下面计算而来,后面讲,再拿到时间和速度值过后,加上扰动值,最后取G值,因为雨事从上而下的动,需要的是一个从上往下的渐变。拿到一个TexCoord的R值,从左往右的渐变,做一个梯度渐变,乘以一个值,往下取整,然后再除以一个相同的值就会产生梯度渐变效果,这个值看情况而定,连到Lerp的Alpha,A和B自己取值就好,自己调整效果即可,再乘以负数,因为目前为止Panner的数值正数,Panner正数速度是从下往上的流动,而真实效果是从上往下的流动,所以得乘以一个负数,具体负多少,看自己下雨的