我在化身上的衣物有些问题,如下图所示
大多数建议我在建模软件中简单地将裤子拉离身体,直到与其他衣服组合在一起为止
我现在可以把衬衫从裤子上拉开,但是我有很多不同的衣服,要检查/调整它们似乎并不可行。
尝试并应用某种分层系统会更好。
有人可以建议我如何实现这样的系统或如何实现目标吗?
我已经研究过尝试使用着色器执行此操作,但是没有运气能达到我想要获得的结果(但是,我不是Shaderlab / CG专家)
我还尝试过将化身分成不同的部分,并用衣服网代替它们,但这仍然留下了衣服彼此可见的问题。
我希望最好有一个系统,在其中我可以对每件衣服进行分层,以便无论它们以正确的顺序彼此重叠显示而没有重叠。
答案 0 :(得分:2)
如果您真的想使用分层,则可以使用Unity的Render Layers。
转到图层->编辑图层
添加所需的图层(顺序无关紧要)
将“图层”分配给您想要由全角质素摄像机渲染的对象。
作为示例,我添加了trousers cube
层trousers
,pillover cube
层pullover
和OnTop cube
层OnTop
< / p>
创建一个新的Empty GameObject,并将其命名为CameraParent
。这将包含您所有的相机,并且您应该移动此相机,而不要移动到目前为止的相机。
如果这是一个VR / AR应用程序,则可能必须将Camera
组件附加到该父对象,使其成为主摄像机,但使其不呈现任何内容
创建例如4个子对象,并给它们一个Camera
组件。另外,请确保只有一个摄像机标记为MainCamera
,并且只有一个摄像机在场景中具有AudioListener
。我以4台相机为例,分别具有TrousersCamera
,PulloverCamera
,OnTopCamera
和BackgroundCamera
。
现在设置渲染
BackgroundCamera
在这里,您可以像以前一样渲染其他任何东西
ClearFlags
:例如SkyBox
Culling Mask
:选择所有层除了 trousers
,pullover
和OnTop
Depth
:-1
TrousersCamera
用于渲染裤子(在其他任何东西之上)
ClearFlags
:仅深度Culling Mask
:仅选择 trousers
Depth
:0
(您会看到一个较大的值呈现在一个较低的值之上) PulloverCamera
用于在裤子顶部绘制套头衫
ClearFlags
:仅深度Culling Mask
:仅选择 pullover
Depth
:1
OnTopCamera
用于在一切之上渲染其他东西
ClearFlags
:仅深度Culling Mask
:仅选择 OnTop
Depth
:2
因此,您可以看到,尽管红色多维数据集(OnTop cube
)确实远远落后于其余部分,而蓝色多维数据集(Pullover cube
)位于中间,但红色多维数据集将始终呈现在顶部,而不是蓝色,而不是棕色(trousers cube
),最后是背景。