虚幻4 简单的自定义光照
虚幻的大部分材质模型使用的是DeferredRendering。所以没办法直接获取光源的位置。但是gbuffer里面会储存fragment的normal,position等信息。这里就拿最简单的一个兰伯特光照模型作为例子。首先我们建一个材质然后做如下操作
在这里面的这个节点会从gbuffer中返回每个fragment的法线信息
这个是返回gbuffer里每个fragment的位置信息,虚幻4材质编辑器高度傻瓜化,sampler操作都帮我们做了。
最后这个是自己定义的光源位置。我这里把光源定义在(10000,10000,10000)的位置。这个值可以暴露出来,然后把这个材质做成dynamic的供给蓝图或者c++。这样就可以间接获取光源位置了。
最后就可以看到我们学DX或者Gl时光照第一课的简单的兰伯特光照啦。虽然没什么用不过对理解虚幻4的渲染有点帮助吧。
这也为在虚幻4里实现卡通光照提供了方法。
大神厉害,小萌新我是一句都没看懂... 没懂。。。。 请问这材质拿来做什么的 同问有啥用? 看不懂 看看有什么用 可以用 AtmosphericLightVector 代替LightVector,当然场景里需要摆放一个AtmosphericFog,做主光源的DirectionalLight上勾选AtmosphereSunLight,
谢谢分享
页:
[1]