透明材料
透明材料问题有两个主要方面:
- 确定材料是透明还是不透明。
- 透明材料的渲染顺序。
确定透明/不透明材料
XPS模型数据包括材料的属性,我们可以利用这些属性来确定是否使用透明模式。因此,XPS模型通常不会出现误判的情况。
PMX模型不提供这样的数据,所以我们目前主要使用两种方法:
- 通过纹理的属性推断材料是否透明。如果纹理包含一个alpha通道,就判断材料是透明的。然而,也有例外情况,比如一些材料将alpha通道用作平滑值而不是透明度。
- 通过名称推断。例如,如果名称包含”shadow”或”hair”等词语,就判断材料是透明的。
因此,PMX模型可能会有一定比例的误判情况。
透明材料的渲染顺序
大多数XPS模型包含渲染顺序的数据,所以通常不会出现重大问题。
一些PMX模型的材料没有合理的渲染顺序,这可能导致叠加后出现奇怪的屏幕。
透明深度预处理(HD)
默认情况下,HD和RT版本将打开透明深度预处理模式。在这种模式下,所有透明材料都将经过深度预处理,使用z缓冲来确定材料的层次关系,以确保透明材料的顶层正确渲染。这种方法可以解决层次问题,但缺点是会丢弃所有底层材料。如果模型需要同时显示多个层次,可能会出现问题。例如,头发和透明服装或角色被其他透明物体遮挡时。此模式可以在系统设置中关闭。
从1.4.3版本开始,可以为每个独立材料设置独立的深度预处理设置:
- 透明预处理开关:每个材料可以独立控制是否使用深度预处理。
- 透明预处理阈值:在使用深度预处理的情况下,可以使用此参数控制深度预处理区域。值越大,深度预处理范围越小。默认设置为0.8。
透明材料设置
在每个独立材料选项中,您可以更改材料的透明模式,可以设置为自动、强制透明或强制不透明。
在头发选项中,您可以更改所有头发材料的透明模式。
在全局材料设置中,您可以从几个不同的选项中选择透明度排序顺序。
透明材料
透明材质
透明材质是指透明的材质,不包括皮肤、头发、眼睛或嘴唇材质。
默认情况下关闭此功能,以便在材质列表中单独控制材质。如果您希望对所有透明材质应用一致的设置,可以启用它并在此处进行调整。
分类
系统会根据网格信息(对于XPS模型)或纹理格式(对于PMX模型)自动确定材质是不透明还是透明。有时可能会出错,因此您可以手动将材质分配到这个类别。
纹理增强
您可以通过利用特定效果的高光图,从基础图或高光图生成法线图,以及使用自定义细节贴图来改善材质的细节,增强此类别中材质的纹理。