赛道-–-本地立方体贴图
汉化标题:赛道-–-本地立方体贴图
原文标题:Tracks-–-Local-cubemaps
汉化更新时间:2026-01-14 16:56:42 +0800
英文原文最新更新时间:2022-06-13 01:18:53 +0300
通常 AC 中的所有反射都会使用围绕摄像机位置拍摄的全局立方体贴图(360° 图片)。因此,例如在有光泽的建筑物上,当摄像机移动时,反射也会开始移动,通常显得过于明显:
注意:即使观察方向与建筑表面之间的角度没有变化,反射仍会发生变化。
使用本地立方体贴图后的玻璃看起来如下:
语法
[LOCAL_CUBEMAP_...]
MESHES = base_vetri ; 需要拥有独立立方体贴图的赛道网格列表
POSITION = 100, 1, 10 ; (可选)立方体贴图位置,如果未设置则使用网格中心
OFFSET = 0, 0, 0 ; (可选)从网格推断位置时的偏移
EXCLUDE = base_vetri ; 排除不在立方体贴图内的网格(也可以提高速度)
CLIP_PLANE_NEAR = 2 ; 近裁剪平面,单位为米(可帮助去除近处物体的反射)
HIGH_RESOLUTION = 0 ; 设为 1 使用高分辨率立方体贴图(适用于大型平面表面)
LOW_RESOLUTION = 0 ; 设为 1 使用低分辨率立方体贴图(适用于动态立方体贴图)
IS_DYNAMIC = 0 ; 设为 1 切换到动态模式
DYNAMIC_FAST = 0 ; (不推荐!)设为 1 每帧更新一面
STATIC_FACES = TOP, LEFT, REAR, BOTTOM ; 排除不参与动态更新的静态面(参见提示)
INCLUDE_SKY = 1 ; 设为 0 以排除天空以略微提高速度(在不需要时)
INCLUDE_CARS = 0 ; 设为 1 包含赛车
DYNAMIC_LIGHTING = 0 ; 设为 1 将光照包含在反射中
DEBUG = 0 ; 设为 1 可显示立方体贴图中心和静态面(红色高亮)
DEBUG_CLEAR = 0 ; 禁用天空并设为 1 以测试刷新率在启用动态立方体贴图并显示车辆的情况下,你可以让那些镜面看起来更具活力:
但请小心,这些功能开销很大。如果赛道上有多个镜面,你可以使用单个移动的本地立方体贴图来覆盖它们所有:
[LOCAL_CUBEMAP_...]
POSITION_0 = 10, 1, 100 ; 第一个镜面的位置信息
POSITION_1 = 10, 1, 200 ; 第二个镜面的位置信息
POSITION_2 = 10, 1, 300 ; 第三个镜面的位置信息
...立方体贴图会移动到离观察者更近的位置。
重要提示
不要担心随时间变化的静态立方体贴图:即使是静态贴图也会不时更新以跟随光照条件变化。
请记住性能问题。除非必要,请避免使用高分辨率、动态、光照或包含车辆的选项。
一个低分辨率的立方体贴图占用 2.6 MB VRAM,普通分辨率占用 12.5 MB,高分辨率占用 50.3 MB,请注意这一点。
除非确有必要,否则不要使用
DYNAMIC_FAST。在未使用
DYNAMIC_FAST时,本地立方体贴图每隔几帧才会更新一面。通常来说,只需频繁更新少数几面即可。在STATIC_FACES中标记其他面(使用DEBUG = 1检查哪些面是静态的),并且每隔几帧更新一面通常就足够了(如 GIF 所示)。我建议手动定位立方体贴图。请记住,立方体贴图对于立方体贴图中心点处的表面点的反射是完全精确的,距离中心越远反射越不准确。如果你有一栋带玻璃窗的大建筑,请将立方体贴图放置在面向赛道的一侧并稍微降低一些高度,这样主要可见区域在准确性上会更好,但代价是其他面精度降低。
另一种用法是为轨道上许多不需要精确反射的物体使用一个静态立方体贴图,这样可以阻止反射随摄像机移动而变化,并为场景提供一个主题。例如在 Highlands 的房屋窗户中,使用如下配置:
ini[LOCAL_CUBEMAP_...] MESHES = material:House_02, material:house? POSITION = 842.36, 6.79, 612.28 ; 将位置设置在小镇中的某处,使房屋反射其他房屋 LOW_RESOLUTION = 1这些窗户将获得稳定的反射,由于它们不是动态且分辨率较低,它们的渲染成本可能实际上低于原始(假定用户使用分辨率高于 256×256 的全局立方体贴图)。
或者,你甚至可以将位置放置在上方某处,使其主要反射天空。