手机网游
手机网游
休闲娱乐
模拟经营
赛车驾驶
冒险解谜
恋爱养成
策略塔防
战争对抗
体育竞速
卡牌对阵
VR游戏
3D手游
武侠修仙
动作闯关
射击枪战
音乐舞蹈
横板格斗
双人游戏
换装游戏
橙光游戏
其他游戏
传奇手游
安卓软件
安卓软件
主题壁纸
购物优惠
资讯阅读
健康美食
地图出行
影音播放
教育学习
游戏辅助
摄影摄像
其他软件
金融理财
言情小说
生活服务
电竞赛事
通讯社交
系统工具
效率办公
安卓游戏
安卓游戏
益智休闲
动作冒险
网络游戏
模拟经营
儿童教育
体育竞速
策略塔防
冒险解谜
角色扮演
音乐游戏
飞行射击
赛车游戏
破解游戏
传奇手游
其他游戏
攻略资讯
攻略资讯
游戏资讯
游戏攻略
游戏问答
软件教程
合集
合集
教程合集
游戏合集
软件合集
文章合集
首页 > 攻略资讯 > 游戏资讯

虚幻引擎4:制作迪士尼电影中的Facilier博士的阴影效果

编辑:啊妹 2017-11-02

这周我无意中在reddit上发现一篇文章,它是关于《公主与青蛙》中Facilier博士的阴影效果的。我受这篇文章启发在虚幻引擎4中尝试使用前向着色来重新创造一个与实时着色相似的效果。OP指出Facilier博士的阴影改变了其被投射到的墙纸。一个细微但是有趣的效果!

开启前向着色后我们可以使用一个不同于UE4默认延迟管线的着色管线,我感兴趣的是LightAttenuation缓冲器。我仍然不太确定Epic新前向着色的准确数值,这是尝试这个新着色管线的一个不错的理由!

该实现非常简单。我使用了只能在引擎的前向渲染中使用的LightAttenuationTexture来寻找哪些部分受到光的影响。为了使用这个缓冲器你需要用到材料编辑器中的自定义节点并加入以下代码:

returnSquare(Texture2DSampleLevel(LightAttenuationTexture,LightAttenuationTextureSampler, UV, 0));

“UV”是一个输入参数(所以记得将它添加到自定义节点的参数列表中),我们要为其接入ScreenAlignedUVs节点的输出。

对于那些感兴趣的人,我是在引擎的着色器文件夹中的…/4.14/Engine/Shaders/Common.usf 文件中找到这段代码的,它包含在GetPerPixelLightAttenuation(float2 UV)函数中。

以下是GIF中用到的材料的原始样本:

没有太多的东西,只需基于该像素在屏幕空间中的光照衰减数值混合墙纸和头骨的图案即可。纹理取样器使用的是我在之前发布的WorldUV材料函数。

使用双色调代替纹理显示该效果:

LightAttenuationTexture也许不能完美地提供细节光照信息,但是用于重现这个简单的效果足够了。被烘焙的光照需要对光照贴图数据进行取样(因为光照衰减只能从动态光照获得),但是对于我这个特定的阴影墙纸例子来讲已经足够好了。

以后我还想写更多关于我做过的前向渲染实验(例如Borderlands 3对于材料级别使用的以交叉线画出阴影的新方法也许需要一些前向着色的技巧。早前这周我在推特上发布了我的第一个结果)但是现在周末结束了,应该回到真正的游戏开发上了。


免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

良心推荐

体验剧情的文字模拟游戏,我们平时有很多游戏可以玩耍,有些人喜欢操作的就去玩动作游戏,有的人喜欢枪战的就去完了射击游戏,还有一些人不太喜欢操作就会选择玩各种文字模拟游戏,今天小编就整理了一些文字剧情模拟游戏。

相关资讯