虚幻引擎4光照:胶囊阴影

发表于2017-07-24
评论0 8.8k浏览

翻译:王成林(麦克斯韦的麦斯威尔 ) 审校:黄秀美(厚德载物)


这是4.11中的一个新特征。

这个例子将介绍如何使用胶囊阴影的新特征在非直接光照区域和静态光照区域中产生柔性阴影(soft shadow)。这会为你的骨骼网格物体提供一个紧贴地面的效果!

想要查看额外的调整和控制台变量数值的对比请滚动到页面下方。


准备步骤:创建胶囊物理资源

1.    在你的内容浏览器中选择任意一个可用的骨骼网格物体。例如我复制了引擎文件夹中的骨骼网格物体“TutorialTPP”。

2.    选择完成后,右键点击骨骼网格物体并选择创建->物理资源

3.    物理资源的设置窗口会弹出。将最小骨骼大小调整为一个更大的数值并点击确认

当创建胶囊阴影时,你要记得你不需要为每块骨骼都添加一个胶囊。通过使用更大的最小骨骼大小,你可以跳过手部和脚部中我们用不到的那些较小的骨骼。记住使用胶囊阴影的目的是为你的角色加入一种和地面接触的感觉,不需要100%准确。

4.    现在打开新创建的物理资源,我们可以在这里进行任何所需的调整。如果你使用以上设置,你应该得到类似下图的样子。

场景中的阴影不代表胶囊阴影的实际样子。

你会注意到手部和脚部没有胶囊。这没关系。我们不需要身体所有部位都有准确的胶囊。然而,由于脚部需要稍微低一些给人一种胶囊阴影和地面相接触的感觉。

选择小腿部位胫骨处的两个胶囊,并沿Z轴对它们进行拉伸。完成后你应该得到和以下图片中相类似的内容。记住脚部很重要,它可以使你感觉到角色和地面相接触,因此也许你需要为脚部添加一些小的胶囊或球体,但是对于这个例子要展示的内容这样已经足够了。

 

为骨骼网格物体分配物理资源

1.    选择骨骼网格物体然后双击在Persona编辑器中打开它。

2.    Persona编辑器打开后,在面板左侧的网格物体细节中输入“Shadows”,寻找阴影物理资源(Shadow Physics Asset)选项。如果在顶部没有,将滚动鼠标到“光照”标签就能找到了。

3.    点击下拉菜单并选择你希望用于胶囊阴影的物理资源。我之前将我的物理资源命名为PA_CapsuleShadows,这样如果项目中有多个物理资源我可以很容易地找到它。

 

开启骨骼网格物体的胶囊阴影

在接下来这部分内容中我有一个用墙和天花板围起来的场景,用来表示一个受到静态光照的环境。我在其中加入一些间接光照来展示胶囊阴影的效果。

这个场景只用到了一个移动性设置为“静态(Static)”的天空光源actor。没有其他的光源。该场景的光照已经提前被构建好以产生使用间接胶囊阴影所需的间接光照样本。

1.    将你的骨骼网格物体拖拽到场景中。这时你会注意到它没有投射任何柔性阴影,看上去和地面也不接触。

2.    选择骨骼网格物体然后在细节面板中滚动到光照选项卡,开启胶囊间接阴影Capsule Indirect Shadows)。

3.    开启之后,你可以看到骨骼网格物体的物理资源产生的柔性阴影。

也许你觉得该阴影只有很小一点,但是如果你将骨骼网格物体移动到墙边你可以看到这些胶囊阴影为你的静态光照环境带来的不同。

 

展示

胶囊阴影会在间接光照缓存样本之间内延,这些样本是在你构建静态光照时被放置在关卡中的。在下面的视频中你将看到随着骨骼网格物体在一个受到直接光照的平面上移动,该物体会调整内延的方向。

下面的场景是静态光照场景和含有间接光照缓存样本可视化元素的无光照场景之间的一个对比。


编辑器视图中的胶囊阴影

在该视图中我拖拽骨骼网格物体,你可以看到随着胶囊阴影经过平面上的间接光照缓存样本它会进行内延。由于该场景只有一个静态天空光actor,除了用于间接光照的胶囊阴影之外骨骼网格物体没有直接光照产生的阴影。

 


直接和间接胶囊阴影的比较

该场景使用一个固定定向光源进行照射:

·  左上:没有阴影投射

·  右上:骨骼网格物体的动态阴影投射

·  左下:胶囊间接阴影

·  右下:胶囊直接阴影

 

限制

·  需要DX-11,因为要用到使用计算着色器(compute shader)的贴图延迟实现。

·  任意网格物体形状的自阴影缺陷。

 

控制台变量

使用以下控制台变量你可以调整游戏中胶囊阴影的样子。

 

胶囊间接圆锥角度对比:

胶囊间接圆锥角度:0.392699(默认)

胶囊间接圆锥角度:0.5

胶囊间接阴影最低可见度对比:

胶囊间接阴影最低可见度:0.1(默认)

胶囊间接阴影最低可见度:0.3


胶囊最大直接遮挡距离对比

即将展出!


胶囊最大间接遮挡距离对比

胶囊最大间接遮挡距离对比:400(默认)

胶囊最大间接遮挡距离对比:500

这是该场景中一个非常细微的变化。看一下右上角靠近墙的角色。在这个场景示例中阴影遮挡被增加到了500个单位而不是400


沿垂直方向胶囊阴影减弱的角度对比

即将展出!

 

胶囊阴影全分辨率对比:

即将展出!

 

胶囊天空角度缩放对比:

胶囊天空角度缩放:0.6(默认)

胶囊天空角度缩放:1.0

 

【版权声明】

原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: