首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一种方法可以确保一个对象始终显示在另一个对象的顶部而不重叠?

有没有一种方法可以确保一个对象始终显示在另一个对象的顶部而不重叠?
EN

Stack Overflow用户
提问于 2019-02-12 10:56:43
回答 1查看 79关注 0票数 1

我对化身上的衣物有一些问题,就像你在下面的图像中看到的那样

大多数人会建议我在建模软件中简单地将裤子从身体上拉出来,这是很好的,直到它与其他衣服组合在一起。

我现在可以把衬衫从裤子上拉下来,但我有许多不同的衣服,检查/调整每一件衣服似乎都不太合适。

尝试并应用某种分层系统会更好。

有没有人可以建议我如何实现这样的系统,或者我如何实现我想要的结果?

我已经尝试过使用着色器来做这件事,但是没有得到我想要的结果(但我必须承认我不是Shaderlab/CG专家)

我也试着将头像分成不同的部分,并用服装网格替换它们,但这仍然留下了服装通过彼此可见的问题。

我希望有某种类型的系统,在那里我可以分层每一件衣服,以便无论他们显示在彼此之上的正确顺序,没有任何重叠。

EN

回答 1

Stack Overflow用户

发布于 2019-02-12 13:03:08

如果你真的想使用分层,你可以使用Unity的Render Layers,它实际上是为此而设计的。

  1. 转至图层->编辑图层

  1. 添加所需图层(顺序无关紧要)

  1. 将图层指定给要由ceratin相机渲染的对象。

作为示例,我添加了一个带有图层trouserstrousers cube、一个带有图层pulloverpillover cube和一个带有图层OnTopOnTop cube

  1. 创建一个新的空GameObject并将其命名为CameraParent。这将包含您所有的相机,您应该移动此相机,而不是您移动到目前为止的相机。

如果这是VR/AR应用程序,您可能需要将Camera组件附加到此父对象,使其为主摄影机,但使其不渲染任何内容

  1. 创建4个子对象,并给它们一个Camera组件。另外,请确保只有一个摄影机标记为MainCamera,并且场景中只有一个摄影机具有AudioListener。我以4个摄像头为例,设置了一个TrousersCamera、一个PulloverCamera、一个OnTopCamera和一个用于渲染

BackgroundCamera.

  • Now

代码语言:javascript
运行
复制
- BackgroundCamera

在这里,您可以像以前一样渲染任何其他内容

代码语言:javascript
运行
复制
    - `ClearFlags`: e.g. `SkyBox`
    - `Culling Mask`: select all Layers **except** `trousers`, `pullover` and `OnTop`
    - `Depth`: `-1`

用于渲染裤子的

代码语言:javascript
运行
复制
- TrousersCamera

(在任何其他内容之上)

代码语言:javascript
运行
复制
    - `ClearFlags`: Depth only
    - `Culling Mask`: select **only** `trousers`
    - `Depth`: `0` (you see a bigger value is rendered on top of a lower value)

用于在裤子顶部渲染套头衫的

代码语言:javascript
运行
复制
- PulloverCamera

代码语言:javascript
运行
复制
    - `ClearFlags`: Depth only
    - `Culling Mask`: select **only** `pullover`
    - `Depth`: `1` 

用于在所有内容之上呈现其他内容的

代码语言:javascript
运行
复制
- OnTopCamera

代码语言:javascript
运行
复制
    - `ClearFlags`: Depth only
    - `Culling Mask`: select **only** `OnTop`
    - `Depth`: `2`

因此,您可以看到,虽然红色立方体(OnTop cube)确实远远落后于其他立方体和中间的蓝色立方体(Pullover cube),但红色立方体始终会呈现在顶部,而不是蓝色,而不是棕色(trousers cube),最后是背景。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54642187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档