我对化身上的衣物有一些问题,就像你在下面的图像中看到的那样
大多数人会建议我在建模软件中简单地将裤子从身体上拉出来,这是很好的,直到它与其他衣服组合在一起。
我现在可以把衬衫从裤子上拉下来,但我有许多不同的衣服,检查/调整每一件衣服似乎都不太合适。
尝试并应用某种分层系统会更好。
有没有人可以建议我如何实现这样的系统,或者我如何实现我想要的结果?
我已经尝试过使用着色器来做这件事,但是没有得到我想要的结果(但我必须承认我不是Shaderlab/CG专家)
我也试着将头像分成不同的部分,并用服装网格替换它们,但这仍然留下了服装通过彼此可见的问题。
我希望有某种类型的系统,在那里我可以分层每一件衣服,以便无论他们显示在彼此之上的正确顺序,没有任何重叠。
发布于 2019-02-12 05:03:08
如果你真的想使用分层,你可以使用Unity的Render Layers,它实际上是为此而设计的。
作为示例,我添加了一个带有图层trousers
的trousers cube
、一个带有图层pullover
的pillover cube
和一个带有图层OnTop
的OnTop cube
CameraParent
。这将包含您所有的相机,您应该移动此相机,而不是您移动到目前为止的相机。如果这是VR/AR应用程序,您可能需要将Camera
组件附加到此父对象,使其为主摄影机,但使其不渲染任何内容
Camera
组件。另外,请确保只有一个摄影机标记为MainCamera
,并且场景中只有一个摄影机具有AudioListener
。我以4个摄像头为例,设置了一个TrousersCamera
、一个PulloverCamera
、一个OnTopCamera
和一个用于渲染的BackgroundCamera
.
- BackgroundCamera
在这里,您可以像以前一样渲染任何其他内容
- `ClearFlags`: e.g. `SkyBox`
- `Culling Mask`: select all Layers **except** `trousers`, `pullover` and `OnTop`
- `Depth`: `-1`
用于渲染裤子的
- TrousersCamera
(在任何其他内容之上)
- `ClearFlags`: Depth only
- `Culling Mask`: select **only** `trousers`
- `Depth`: `0` (you see a bigger value is rendered on top of a lower value)
用于在裤子顶部渲染套头衫的
- PulloverCamera
- `ClearFlags`: Depth only
- `Culling Mask`: select **only** `pullover`
- `Depth`: `1`
用于在所有内容之上呈现其他内容的
- OnTopCamera
- `ClearFlags`: Depth only
- `Culling Mask`: select **only** `OnTop`
- `Depth`: `2`
因此,您可以看到,虽然红色立方体(OnTop cube
)确实远远落后于其他立方体和中间的蓝色立方体(Pullover cube
),但红色立方体始终会呈现在顶部,而不是蓝色,而不是棕色(trousers cube
),最后是背景。
https://stackoverflow.com/questions/54642187
复制