本帖最后由 安琪头号粉丝 于 2021-10-31 02:32 编辑
在youtube看到大佬的着色器心动的很然后想了下制作思路
这是我做的低配版本
我的模型的制作思路是每个面都要有一定的厚度并分离出去,模型的内部面和外部面是不同的两个材质能让边缘变亮,然后最重要的就是能确保内部面和外部面的顶点法线信息能统一朝向偏移的方向,好,说干就干!
这里可以选用自己喜欢的模型,球形或锥形或torus,我使用的是torus
然后用facet节点勾选unique points确保每个面都分离出来了,这里可以用explodeview节点看看分离出来的效果
使用foreach提取每个面并用polyextrude挤压出一定的厚度,计算单片面的法线并将法线属性传递给挤压的物体,确保它8个点的法线都是朝偏移方向的。
这里polyextrude挤压勾选front group,给它的外部面打了一个叫extrudeFront的组,方便后续单独给外部面材质。
foreach循环出去后可以看到它的法线信息确实都向偏移的方向,给个color节点测试它的外部面也单独打上了extrudeFront组信息。
展uv
同样使用foreach节点,将每个方块uv信息压到最小。
给内部面和外部面extrudeFront组不同的材质,这样模型就有了它的复合材质啦!模型的制作也完成了!
进入unity,随便给俩不同的材质,看看刚才操作是不是对的。
shader直接上图,我做的简易版本方便测试,很多大佬b站都有详细的讲解,这里注意的是要用模型自身的法线信息。
好耶!完结撒花
在youtube看到大佬的着色器心动的很然后想了下制作思路
这是我做的低配版本
我的模型的制作思路是每个面都要有一定的厚度并分离出去,模型的内部面和外部面是不同的两个材质能让边缘变亮,然后最重要的就是能确保内部面和外部面的顶点法线信息能统一朝向偏移的方向,好,说干就干!
这里可以选用自己喜欢的模型,球形或锥形或torus,我使用的是torus
然后用facet节点勾选unique points确保每个面都分离出来了,这里可以用explodeview节点看看分离出来的效果
使用foreach提取每个面并用polyextrude挤压出一定的厚度,计算单片面的法线并将法线属性传递给挤压的物体,确保它8个点的法线都是朝偏移方向的。
这里polyextrude挤压勾选front group,给它的外部面打了一个叫extrudeFront的组,方便后续单独给外部面材质。
foreach循环出去后可以看到它的法线信息确实都向偏移的方向,给个color节点测试它的外部面也单独打上了extrudeFront组信息。
展uv
同样使用foreach节点,将每个方块uv信息压到最小。
给内部面和外部面extrudeFront组不同的材质,这样模型就有了它的复合材质啦!模型的制作也完成了!
进入unity,随便给俩不同的材质,看看刚才操作是不是对的。
shader直接上图,我做的简易版本方便测试,很多大佬b站都有详细的讲解,这里注意的是要用模型自身的法线信息。
好耶!完结撒花

全部评论12