(144)距离场环境遮挡

一个新功能可从有向距离场体(沿每个刚性物体预计算)生成中量的环境遮挡。该功能也将生成可移动天空光照的阴影。它支持动态场景变化 - 可移动或隐藏刚性网格体并影响遮挡。与屏幕空间环境遮挡不同,遮挡是从世界空间遮挡器进行计算,因此画外丢失数据将不会形成穿帮。

此动态环境遮挡解决方案存在一些扩散限制,以便支持动态场景变化,因此并不适用于所有项目。需要特别指出的是,只支持轻微的非等分缩放(挤压)。此外,映射到每个物体上的体积纹理较小,因此大型静态网格体的精度较差。

只有静态网格体组件、范例静态网格体组件、植物和地形可形成遮挡。植物必须在设定中启用“Affect Distance Field Lighting”。其他物体仍可接受遮挡。

设置过程

  • 首先,启用项目设置 Generate Mesh Distance Fields(在 Rendering 下)并重启编辑器。下次加载时,背景中将生成距离场。该处理为多线程进行,多核处理的速度将更快。

  • 将 Engine Scalability 设为 Epic,以便形成阴影。较低的设置下将禁用距离场环境遮蔽。

  • 放置一个 Skylight,将 Mobility 设为 Movable

  • 现在即可从动态更新的静态网格体对关卡和环境遮蔽进行编辑。

生成的距离场分辨率默认较低,可导致光斑的出现。可提高静态网格体上的 Distance Field Resolution Scale进行补偿。

结果

弥散遮蔽

距离场环境遮蔽生成一个环境法线(最少遮挡的方向),用于结合遮蔽因子修改天空光照弥散计算。

No Distance Field Ambient Occlusion

No Distance Field Ambient Occlusion

Distance Field Ambient Occlusion

Distance Field Ambient Occlusion

正午的 Fortnite 关卡。在 Fortnite 中,玩家可以随时推倒任何墙壁、地板或天花板并重新建造,因此光照必须随之进行更新。距离场环境遮蔽支持这些变化。

Video of interaction with objects in the level editor, with Distance Field AO updating in realtime.

镜面遮蔽

距离场环境遮蔽在天空光照上形成近似镜面的遮蔽。定向遮蔽锥形和反射锥形(尺寸取决于材质的粗糙度)相交即可进行计算。

0Original.jpg

0Original.jpg

0SpecularOcclusion.jpg

0SpecularOcclusion.jpg

管道上的镜面遮蔽。

植物遮蔽

尽管距离场遮蔽在表面上进行,但其仍可对诸多小叶片组成的片状植物进行处理。在植物网格体上启用 Generate Distance Field As If Two Sided 将柔化计算的遮挡,可获得最佳效果。天空光照上的 Min Occlusion 可有效防止内部完全变黑。

Screen Space Ambient Occlusion only

Screen Space Ambient Occlusion only

Distance Field Ambient Occlusion on foliage

Distance Field Ambient Occlusion on foliage

三角网格体在距离场中缩小时,带 LOD(细节模型级别)的植物和距离场环境遮挡之间可能出现问题,产生过度遮挡。出现此问题的原因是距离场在一段距离中仍然准确,但三角网格体却不准确。

在这些 LOD 上使用使用 World Position Offset,将顶点拉出距离场即可解决此问题。对摄像机的小偏移也有效。对布告板而言,使用新的 Pixel Depth Offset 功能创建可更好地展示原始 3D 三角网格体的有效深度值。

No Pixel Depth Offset

No Pixel Depth Offset

Pixel Depth Offset

Pixel Depth Offset

距离树布告板显示天空光照过度遮挡,利用 Pixel Depth Offset 进行了改善。

它的工作原理是什么?

此技术中使用的距离场是代表网格体表面的有向距离场。有向距离场在每个点保存到最近表面的距离。网格体中的点保存为负的距离。

DistanceField.jpg

距离场首个实用属性的作用是在追踪光线时安全地跳过空白空间,因为到最近表面的距离已经明确。在区区数步中即可决定相交。对距离场进行光线追踪将生成用于投射阴影的能见度结果。

RayTrace.jpg

距离场第二个实用属性的作用是在追踪光线时获得近似的锥形相交(而不产生额外消耗)。对距离场进行光线追踪即可形成非常柔和的区域阴影。该属性是距离场环境遮挡的关键,因为少量的锥形即可为接收器点的整个半球计算出柔和的可见性。

ConeTrace.jpg

整个关卡由存储在体积纹理中的范例距离场展示。地形通过高度场单独展示。

Scene View

Scene View

Mesh Distance Fields View

Mesh Distance Fields View

使用距离场进行灯光设置的延伸阅读。

设置

天空光照

  • Cast Shadow - 光线投射阴影时才会计算距离场环境遮挡。

  • Occlusion Max Distance - 进行遮挡计算的最大遮挡物距离。增大该数值将增加距离场环境遮挡的消耗,但可实现远处的遮挡。

  • Contrast - 用于增加计算遮挡的对比度。

  • Min Occlusion - 可根据需求防止遮挡出现全黑区域。可用于模拟多反射光照,在现实中不会出现全黑的区域。

  • Occlusion Tint - 用于遮挡着色的常量颜色。保证物理正确需设为黑色,其他的值可构成艺术风格效果。

原始组件

  • Affect Distance Field Lighting - 可禁用距离场灯光法的原始影响。

网格体构建设置

MeshSettings.jpg

  • Distance Field Resolution Scale - 距离场被指派到每个静态网格体的默认前提是假定它们放置在世界场景中的默认标度为 1。利用此设置可对放置在不同标度的网格体进行补偿,或单纯增强距离场环境遮挡效果。

  • Generate Distance Field As If Two Sided - 如网格体三角形的两面均可被看到(如植物),勾选此标记。完成此设置后,网格体的自身阴影穿帮将减少,并对植物动画进行限制。

  • Distance Field Replacement Mesh - 一个替代静态网格体,用于生成照亮此网格体的距离场。World Position Offset 从其起点位置对网格体形状产生巨大改变时,此替代网格体十分实用。

限制

技术限制

  • 高端功能,仅支持 DX11。

  • 只生成环境遮挡,与天空遮挡不同(因其遮挡距离受限)。

  • 虽然可进行动态移动,但只从刚性网格体投射阴影。

  • 材质通过 World Position Offset 或置换进行网格体变形时将出现穿帮,因为距离场表现无法获悉这些变形。

当前版本的限制(会在之后进行改善)

  • 无法正确处理非等分缩放(反射为正常)。然而, 2 倍或更小的缩放通常不明显。 只支持静态网格体组件、范例静态网格体组件、植物和地形。必须在植物设置上启用 bAffectDistanceFieldLighting。

  • 在动态场景变化中更新环境遮挡存在一定延迟,因为运算将在多个帧上进行。生成新样本时,遮挡可能出现一点偏移。

  • 体积纹理将被映射到每个网格体,因此较大物体的距离场分辨率不高,环境遮挡效果较差。

性能

距离场环境遮挡的消耗主要是 GPU 时间和显示内存。距离场环境遮挡已对此进行优化,可在中配 PC 和 PS4 上运行。其现有消耗更为可靠,因此较为恒定,对物体密度的依赖较小。

使用静态相机和较平表面时,与之前相比新方法快 1.6 倍。在拥有植物和快速移动摄像机的复杂场景中,新方法快 5.5 倍。PS4 完整游戏场景的距离场环境遮挡消耗为 3.7ms。

之前的方法进行了自适应抽样,因此平坦表面进行的运算较少,但也引起干净环境中出现许多斑点。

Old Method - Adaptive

Old Method - Adaptive

New Method - Smooth

New Method - Smooth

环境遮挡当前的计算速度足以消除自适应抽样,因此遮挡更为流畅。

Old Method - Adaptive

Old Method - Adaptive

New Method - Smooth

New Method - Smooth

由此可以了解,新方法需要较长的历史过滤,可能出现重影(尤其是阴影投射物被移除后)。我们将争取在之后对此进行改善。

技术细节

主要利用跟随摄像机的全局距离场进行优化。它的创建方法为:将所有常规单个物体距离场合成为一些集中围绕摄像机的体积纹理(称之为裁剪图)。只有新的可见区域和受场景修改影响的区域需要更新,因此合成消耗并不大。

裁剪图纹素尺寸的示例图 - 每个裁剪图颜色均不相同。

DF_ClipMap.png

全局距离场的分辨率比物体距离场低,因此无法用于所有物体。为天空遮挡计算锥形追踪时,物体距离场在被着色点附近被取样,而更快速的全局物体距离场被取样的位置更远。

以下是全局距离场和物体距离场光线追踪的对比示例图。全局距离场中的表面布满斑点,较薄的物体将消失。

DF_GlobalDF.png

疑难排解和精度

精度的主要因素是有效的距离场分辨率。可通过 DistanceFieldResolutionScale 进行修改。关卡中网格体尺寸相近,精度越高,因为较大的网格体容易出现较多错误。在 Fortnite 中,网格体顺应一个网格,或是四处放置的道具,借此可以达到最佳效果。对地形进行单独处理,不受距离场分辨率影响。

  • 使用 View->LightingFeatures 下的“Distance Field AO”显示标识开关编辑器中的功能。在游戏中,此命令为“show distancefieldao”。

  • 使用 View->Visualize 下的“Distance Field AO”显示标识隔绝从此功能中产生的环境遮挡。

  • 使用 View->Visualize 下的“Mesh Distance Fields”显示标识查看场景的距离场展示。

VisualizeMeshDistanceFields.jpg 
一个关卡中网格体距离场的示例图

Mesh.jpg 
原始网格体

LowResDistanceField.jpg 
距离场分辨率过低,重要功能缺失,环境遮挡将出现穿帮

HighResDistanceField.jpg 
DistanceFieldResolutionScale 被设为 3,重要功能已展示

简易反射光照

在天空光照上取消勾选“Lower Hemisphere Is Black”并在立方体贴图上绘制一些底色,即可获得与太阳反射光照相似的效果而无需额外消耗。这将使灯光泄露到室内,因其并不遵循定向光源的投影,在室外场景中较为有效。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Lora通信是一种适用于物联网设备的无线通信技术,利用无线电信号传递数据。Lora sf7代表着数据传输的速率为SF7(扩频因子为7),通常被用于较长距离的通信传输。 Lora sf7通信距离受多个因素影响。首先,Lora通信使用的是低功率长距离传输技术,其通信距离通常可以达到数公里。然而,具体的通信距离还受到环境、地形和建筑物等因素的影响。 环境因素是影响Lora sf7通信距离的重要因素之一。如果通信环境中存在大量的噪音干扰或频率冲突,会导致信号传输受阻,从而影响通信距离。 地形也会影响Lora sf7通信距离。如果通信路径中有山脉、建筑物或其他地形障碍物,会导致信号的衰减和传播损耗,从而限制了通信的距离。 此外,Lora设备的功率和天线质量也会对通信距离产生影响。较高的发射功率和优质的天线可以增加信号的覆盖范围和穿透能力,进而扩大Lora sf7通信的距离。 综上所述,Lora sf7通信距离在理想条件下可以达到几公里,但具体通信距离环境、地形、设备功率和天线质量等因素的综合影响。在实际应用中,需要根据具体的通信环境和需求来选择合适的Lora sf7设备,并通过实地测试来确定最佳通信距离。 ### 回答2: LoRaWAN SF7指的是LoRa调制技术中的扩频因子7,它决定了物联网设备在通信中的数据传输速率。在SF7的情况下,LoRa设备的通信距离可以达到较远的范围。 具体来说,LoRa通信的距离与多个因素有关。首先是基站的功率和接收灵敏度,以及设备本身的发送功率和接收灵敏度。一般情况下,LoRa设备的通信距离可以达到几公里到数十公里,甚至在特定条件下可以达到几百公里。 此外,通信距离还受到地形、环境和建筑物等的影响。如在开阔的平原地区,通信距离可能更远,而在城市或有高密度建筑物的地区,通信距离可能受到一定的限制。 值得注意的是,随着扩频因子的增加,数据传输速率会下降,但通信距离可以得到提升。因此,在选择LoRa设备的通信参数时,需要权衡数据传输速率和通信距离之间的关系。 总的来说,LoRa SF7通信距离可以达到较远的范围,可以满足许多物联网应用的需求,但具体的通信距离还需根据实际情况和设备参数来确定。 ### 回答3: Lora SF7是指LoRaWAN网络中的覆盖范围和信号传输速率。LoRa是一种低功耗广域网技术,可以在低速率下进行远距离通信。SF7代表的是扩频因子为7,也就是说,数据传输速率更快。 但是,Lora SF7的通信距离会受到多种因素的影响。首先,地理环境会对通信距离产生影响,比如有没有遮挡物、地形是否起伏等。其次,环境中的其他信号干扰也可能影响通信距离,如无线电干扰、大型设备的电磁辐射等。此外,设备的发射功率和接收灵敏度也会影响通信距离。 一般情况下,使用Lora SF7时,理论上的通信距离可以达到数公里。然而,实际通信距离可能会受到上述因素的限制,可能会略有不同。在城市地区,通信距离可能受到建筑物阻挡的影响,而在农村地区,通信距离可能更长。 总之,Lora SF7的通信距离是根据以上因素和设备设置来确定的。为了获得更远的通信距离,可以采取一些优化措施,例如增加发射功率、选择较低的扩频因子等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值