Choose your operating system:
Windows
macOS
Linux
介绍
本节试图让用户熟悉算法详情和基本的权衡,从而让用户充分利用系统,并让许可方和其他希望修改代码以更好地满足其需求的人获得深入的了解。该系统的源码是我们自己的算法和开源第三方软件与自由许可证的混合物。
生成代理几何体和纹理的步骤
下面您将看到代理几何体工具网格体和纹理生成所涉及步骤的高级细分。
为了方便为代理生成纹理,来自源模型的材质最初被烘焙成纹理。
重建到单个静态网格体中:生成适合参数化的流形几何体。
源几何体被空间采样到距离场表示中。这样,几何体的水密外层皮肤就被捕获了。采样率是根据目标屏幕大小自动选择的,但是用户可以在任何一个UI中使用 覆盖空间采样距离(Override Spatial Sampling Distance) 选项进行覆盖。
注意:目前系统使用的空间样本距离将在输出日志中进行回显,例如 LogProxyLODMeshReduction: Spatial Sampling Distance Scale used 5.670509
较小的采样距离将对计算时间和内存产生较大的影响。
从距离场中以多边形网格体的形式提取水密表面。这样做的好处是,从外部无法访问的源几何体形状的任何部分都会被自动剔除。
新表面可能比原来的几何体有更多的多边形,但现在相交的不同模型将由单个网格体表示,因此任何简化都不应该导致裂纹。相反,独立地简化相互接触或相交的不同网格体会产生不必要的结果。
水密表面的简化。这是通过基于边缘重叠算法的二次网格体简化来实现的,该简化实际上利用了UE4中已经使用的代码(用于静态网格体简化),并根据目标屏幕大小自动计算误差阈值。
将简化的流形几何体分割成UV岛状区。
注意:这会在UV缝隙上产生重复的顶点。
为简化几何体生成切线空间。
为代理几何体生成纹理。
创建UV图谱中的简化几何体的纹素与源几何体上的位置之间的对应关系。
代理几何体UV被保守地栅格化为一个二维网格。
第二个二维网格记录原始源几何体上的命中点,当光线从代理几何体上的位置发射时,对应的纹素在UV空间中居中。
按照用户界面指定的方式将材质转移到代理纹理中(如基础纹理、法线纹理、高光纹理等)。