【发布时间】:2013-07-18 08:46:24
【问题描述】:
假设我有这个角色,我想让用户选择它,所以当它被选中时,我想在它周围显示一个轮廓。
角色是一个带有一些网格的 object3D。 我试图克隆并设置一个背面材质,但它不起作用,问题是形状中的每个立方体都是单独渲染背面的,所以轮廓是错误的。
是否需要为轮廓创建另一个网格,有更简单的方法吗?
【问题讨论】:
-
您可以克隆并设置普通材质,然后稍微缩放克隆并将其移离相机。所以轮廓只是实际模型后面的更大模型。只是一个想法,我记得读过一些游戏就是这样做的......
-
好吧,谢谢你。我会尝试从相机中移动克隆来测试你的方式,但问题是我的角色比这更复杂,而且他们在地上行走我猜只是因为相机是从顶部看的,轮廓克隆会去地下,把一切都搞砸!
-
你最终设法让它工作了吗?我对解决方案非常感兴趣。
-
我提供赏金是因为我真的很想知道如何做到这一点。与 Ashkan 一样,使用背面材料创建克隆会出现问题,因为形状很复杂。我怀疑需要做的是这样的: 1.首先需要渲染背景 2.然后,在一个单独的透明层上,具有平面颜色的角色模型,比原来的稍大, 3.在另一个透明层上用它的正常材质/纹理对角色进行分层 4. 最后,角色层需要放在轮廓层的顶部,它们组合在一起需要放在背景中
-
Ashkan - 请记得点击复选标记“接受”答案。谢谢。
标签: javascript three.js outline