开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

蛮牛译馆

关注:514

当前位置:游戏蛮牛 技术专区 蛮牛译馆

查看: 1198|回复: 1

[Unreal教程] UE4如何在间接静态光照或阴影中渲染你的贴花

[复制链接]  [移动端链接]
排名
7302
昨日变化
7

137

主题

171

帖子

1042

积分

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
159865
好友
9
蛮牛币
1887
威望
0
注册时间
2016-8-1
在线时间
500 小时
最后登录
2017-3-30

蛮牛译员

发表于 2016-11-10 11:59:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 manew_JR 于 2016-11-10 12:02 编辑

本文内容及注意点:
贴花是添加额外的细节通过染色、泄漏、污垢、飞溅的最好方式,印刷数字/字母或海报上已经放置静态网格在水平。贴花是加载到已经放置在关卡中的静态网格上的染色、泄漏、污垢、飞溅等等最好的方法中的一个。
但是如果你添加的贴花在阴影中不能被渲染或者是间接照明区域,如下:
01.jpg

你的贴花在dynamic lighting起作用,这里的灯光需要设置为固定或者是可移动
02.jpg

但他们不能在间接静态照明下工作,这意味着周围的任何光源被设置为静态
03.jpg

或在任何贴花不直接被固定的或者是可移动的光照照明的情况下,如下图:
04.jpg
甚至使用无光照视图模式也会使得贴花消失:
05.jpg

如何去处理这样的问题,你应该怎么做呢?
虚幻4引擎包含特殊的贴花渲染系统,包含了更多的可预测的性能行为与一般渲染提速。但是在Unreal默认的情况下在间接被烘焙的静态光源下你设计的贴花不被渲染。 所有的贴花都需要接收动态光源来在关卡中显示贴花(这种情况下,所有的光源都应该被设定为固定或者是可移动类型,而不是静态的)

你有三种方法在阴影或者是间接静态光源下渲染你的贴花:

· 只在受固定或者是可移动光源的影响区域贴附你的贴花
· 避免在间接光源区域使用贴花(例如在阴影下或者是静态光源的边缘)
· 开启贴花的DBuffer模式,这也是我们本节课想说明的,来开启在任何灯光下让贴花起作用的功能
下面我们来一起研究一下第三种方法

首先使DBUFFER DECALS开启
为了让你的贴花在间接光源下渲染,你需要开启DBuffer贴花选项。这个功能在默认的模式下是不被开启的,因为他会耗费一定的CPU和内存。
下面我们就来一步一步说明如何在Unreal中打开这个功能
第一步就是在项目设置中找到DBuffer decals并开启
第二步就是在蓝图中修改贴花的选项在DBuffer模式下起作用


STEP 1:
转到编辑>项目设置:
06.jpg
找到Rendering,做如下的修改:
07.jpg

Lighting:
· DBuffer Decals: On
Optimization:
· Early Z-pass: Opaque and Masked Meshes
· Moveables early in Z-pass: On
STEP 2:
现在我们就来修改在间接光下或者是阴影下的那些贴花。这种情况下的所有的贴花都需要被修改。
双击你的贴花来打开材质编辑器:
08.jpg

在材质编辑器中的细节面板中,选择Decal Blend Mode下拉菜单中满足你的条件的选项
09.jpg
· DBuffer Translucent Color, Roughness, Normal
· DBuffer Translucent Color
· DBuffer Translucent Color, Normal
· DBuffer Translucent Color, Roughness
· DBuffer Translucent, Normal
· DBuffer Translucent Normal, Roughness
· DBuffer Translucent Roughness


这时候要做的就是根据你的decal来选择上述选项中的一个。例如,如果你的贴花包含基础颜色以及Normal map这两个输入,然后就在选项中选择“DBuffer Translucent Color, Normal”然后点击编译以及保存。就这样将所有你需要去改变的贴花都做这样的变换。
10.jpg


STEP 3:
在做了这些改变之后,重启编辑器
12.jpg
项目中所有原来有的渲染需要重新编译一遍(当然你运行的时候编译会自动运行)
11.jpg

你现在应该能看到在间接光源或者阴影下贴花也能起作用
13.jpg


那些其他的贴花呢?
所有的其他的贴花如果在Translucent, Stain, Normal or Emissive设置下这时候也不会被渲染,这时候其他的贴花都要设置成默认的"DBuffer Translucent..." 这样其他不在阴影的贴花也能在DBuffer模式下渲染


如果DBuffer让你的项目或者是编辑器崩溃怎么办呢?
注意:只有在DBuffer情况下你的项目崩溃了才用下面的方法。
转到你的项目储存的文件夹下
或者是在UE启动器的项目文件夹下右键选择"Show in Folder":
14.jpg
进入Config文件夹下并且打开DefaultEngine.ini文件:
15.jpg


用记事本打开这个文件,鼠标拉到底部,会看到这样的代码,将其修改为set r.DBuffer=False
018-ue4-decals-do-not-render-13.jpg

保存并关闭这个文件最后重新启动你的项目,这时候发现一切又回到最开始的时候了,是不是很神奇。


》》译馆招募新译员啦!《《
     蛮牛译林军福利多多哦!

扫描下方二维码关注游戏蛮牛官方微信~每日都有精选干货与你分享呦~
155547iluo7umxezrb2ekr.png






回复

使用道具 举报

7日久生情
1702/5000
排名
694
昨日变化
2

2

主题

317

帖子

1702

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
63268
好友
0
蛮牛币
98
威望
0
注册时间
2014-12-24
在线时间
429 小时
最后登录
2017-3-30

一贫如洗

发表于 2016-12-4 15:34:47 | 显示全部楼层
{:87:}........
[发帖际遇]: 326865585 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表