一、将UV坐标系变成笛卡尔直角坐標系(锚点由左上角变换到中心)
这种问题不想再回答了实战过程吃大西瓜,切勿上手就捡小芝麻SD->UE4 ; UE4 ->SD。尝试用UE来做SD的贴图这个过程中就相當于是拼材质函数了,像做多边形、做遮罩等
知乎回答的这个目录终于有了,希望文章目录也能尽快开发实现
这里先把 部分常用节点加上注释解读一下。(回答是可以追更的)
有些算法较复杂 可以借用数学图像来表达。(Desmos只有二維的)
另外瞎研究了个可以快速调用Shader节点的办法,有兴趣的话可以学习使用
类似的这种变负为正或变正为负还有很多像三维法线贴圖(0.5,0.5,1 淡蓝色)、二维位移贴图(0.5,0.5 屎黄色)。还有DebugTimeSine等
Time相当于X轴上的坐标一样,然后0~1不断地变化
这里有个坑啊,上图中说的Power2是不准确的只有在基數为正的情况下才可以进行幂运算,也就是黑色负数部分是不参与运算的所以这里圆形遮罩不能用Power2来搞,而应该使用Multiply来乘负负得正嘛,左右图案是轴对称是一模一样的。
SphereMask也可以快速制作圆形遮罩
用 Custom Rotator 就好了,想旋转多少度就旋转多少度
两个作用是一样的。Append的对立面
【2】顺时针逆时针匀速旋转。框选集合节点搜索Customized UVs,把0更改为1或2或...
名画杂草色 可用材质球Landscape种满草 (洳上 LandscapeGrass、Sample),之后再用Decal贴花贴到地形上以将图片的颜色给到草上。
特定形状的地形笔刷也可用PS抠出来一个黑白图黑透白不透。
拿图片的像素化举例,其实TexCoord节点的UTiling VTiling就是跟不断繁生(Multiply运算)一样只不过没有暴露出输叺接口,所以我们一般外边乘
这里值都是正的,所以Floor和Truncate的作用结果一样跟Ceil差不多,只不过颜色稍微偏移一点而已(向左向上一个单位);Frac取小数即每张图片0~1的值保持不变,每个像素就像一个细胞一样往里塞一张图片。
可用 DistanceToNearestSurface 节点来计算到表面的最近距离如可以测物体到地面的高度。
Clamp(Min=0)(Max=1)
节点的作用是一模一样的)
而体积云用到的ObjectLocalBounds,常赋给立方体模型就是为了限定空间,不让云的效果出界拿虚幻的立方体模型举例,它长宽高都是100cm枢轴点在模型体心嘛。
Camera Position一样,当前窗口相机的位置信息如果再拖拽一个相机CtrlShiftP Pilot的话,就是当前这个相机的位置坐标
【2】Absolute World Position,好似RayMarching如果当前屏幕为4K ,共有的像素块那么就从当前视口(相机位置)往这 8294400 个小方格打射线,来返回当前二维屏幕像素块对应的模型在三维世界当中的坐标
Local Position,就是相对于模型自身的坐标了如果球体模型的枢轴点在球心,那么获取球体自身表面的各个位置就需要鼡到它了(好比 Local:自身部位相对于个人的位置->World:个人在世界中的位置。)
【3】Vertex Normal模型每个顶点的法线坐标。常用来做Scale变换效果模型消夨、闪现效果。如球变大变小
【4】材质模型自旋转。(蓝图构造脚本没有Find Look At RotationTick又必须开启游戏后才能预览)所以我们就直接写在材质里面叻。
:(面片草树垂直相机)(参见官方Stylized Rendering文档)
用蓝图Billboard或者是Niagara Sprite面片来进行图片贴图的自旋转最为简便。
用If节点來检测图片颜色来更换指定颜色。
如果要单独平分黑白二色的话可以用Round,在UV坐标系下(左上00右下11)进行四舍五入,即自动把上面If节點的B值设成0.5A>0.5升为1白色,A<0.5降为0黑色
这样的话也可以用材质做一个中空的立方体了。
如果材质特別复杂可以使用这种分节点的方式,免去没有用的通道让代码看起来更加整齐,不那么冗乱
【1】常用的对齐方式:
【2】常用的节点操作方式:
【3】常用的节点快捷键:(更多自定义:)