我会为何弃疗 发表于 2017-12-30 20:43:50

关于材质遮罩和材质function

file:///F:\qq\3239490787\Image\Group\Image2\P[%G`AV@Z@1`ZH90W%2]681.png如图,我想通过材质的球状遮罩,不在模型上面动功夫而是在材质上,让球体自转的同时通过添加一个黑色球状遮罩来模拟地球白天黑夜的情况。关于材质function方面的内容,官方文档并没有给出一些示例,基础不好的我并不是很能理解然后实现我想要的功能·
我想实现的功能:
①把遮罩的颜色编辑为黑色
②现在这个遮罩的轴是在x-y平面上的,我想把它旋转使得它与z轴平行(因为目前就算是把遮罩的颜色改变,天黑的地方也是不正确的,本人尝试用Texturecoordinate或rotator解决,但效果不理想)

cg_bull 发表于 2017-12-31 20:12:22

你是想弄一个太阳系那种地球围绕太阳背面是黑色的自传的同时阴影会变是么??

cg_bull 发表于 2017-12-31 20:23:45

如果是的话你在材质里面用一个三维向量减去物体的Pos然后Normalized一下最后DotNormal即可得到遮罩Mask。最后送你一个我的实现。

画中游仙 发表于 2018-1-2 09:50:27

本帖最后由 画中游仙 于 2018-1-2 09:56 编辑

我用的方法三维向量控制明暗方向dot到 pixelNormal上得到遮罩遮罩与fresnel 相乘再加上遮罩然后与固有色贴图相乘

cg_bull 发表于 2018-1-2 14:02:38

画中游仙 发表于 2018-1-2 09:50
我用的方法三维向量控制明暗方向dot到 pixelNormal上得到遮罩遮罩与fresnel 相乘再加上遮罩然 ...

你在Direction后面再减去WorldPosition。然后做一个Actor蓝图里面吧自己的位置传递给Direction。这样你可以再场景里面实时移动Direction了就

cg_bull 发表于 2018-1-2 14:03:43

画中游仙 发表于 2018-1-2 09:50
我用的方法三维向量控制明暗方向dot到 pixelNormal上得到遮罩遮罩与fresnel 相乘再加上遮罩然 ...

而且你乘菲涅尔干嘛?做大气雾霾?那种东西应该去专门弄一层渲染。直接加菲涅尔很挫的

画中游仙 发表于 2018-1-2 14:24:35

本帖最后由 画中游仙 于 2018-1-2 14:27 编辑

cg_bull 发表于 2018-1-2 14:03
而且你乘菲涅尔干嘛?做大气雾霾?那种东西应该去专门弄一层渲染。直接加菲涅尔很挫的 ...
大佬 专门做一层渲染怎么做?我试过用插片和面对摄像机的面片做出效果很假面片感太强

我会为何弃疗 发表于 2018-1-3 21:37:00

没想到好几天没上竟然有大神解答了我的疑惑,不过小弟在月下幻影前辈的帮助下通过菲涅尔反射获得alpha通道信息lerp实现了该功能
附上使用菲涅尔反射实现选区的节点图,使用该方式可以直接通过修改固定光源方向来带动遮罩的运动,不过固定光源要先开启该开关

使用两位前辈的节点同样也能得到想要的结果,bull前辈的把actor蓝图位置信息传送给direction应该是和固定光的这个开关有关吧....


再次谢谢Cg bull 和画中游仙的热心回答

Ecg- 发表于 2018-1-3 22:37:54

cg_bull 发表于 2017-12-31 20:23
如果是的话你在材质里面用一个三维向量减去物体的Pos然后Normalized一下最后DotNormal即可得到遮罩Mask。最 ...

大佬,地球和太阳表面的光晕是怎么实现的,是用bloom吗?

我会为何弃疗 发表于 2018-1-4 00:18:02

Ecg- 发表于 2018-1-3 22:37
大佬,地球和太阳表面的光晕是怎么实现的,是用bloom吗?

我来答一个吧,算是交作业。做得不好请多多指教(部分内容借用了advanced space shader素材包)

我的方法是再弄一个球和原来的地球组成一个actor。因为大气的颜色应该是黄绿色(臭氧层),所以用了黄绿色的次表面散射(不过好像做出来之后和直接白/黄光给基础颜色和并没有什么区别)当然你也可以用subsurface profile达到一样的目的。

一样使用菲涅尔获得目的alpha遮罩,即连接到想要插值的lerp节点alpha

以上
页: [1] 2
查看完整版本: 关于材质遮罩和材质function