【发布时间】:2012-06-09 00:21:21
【问题描述】:
我使用 Three.js 创建了一个可以旋转的平面。出于某种原因,飞机没有显示一半的时间。我创建了一个小提琴here 来显示行为。
【问题讨论】:
标签: javascript three.js
我使用 Three.js 创建了一个可以旋转的平面。出于某种原因,飞机没有显示一半的时间。我创建了一个小提琴here 来显示行为。
【问题讨论】:
标签: javascript three.js
它是不可见的,因为飞机的背面没有被渲染(或者更好地说,飞机默认没有背面。在旁注中,请查看backface-culling 关于这一点。虽然它不是在这种情况下,它可能会让您对渲染有所了解)。
Three.js 确实为您提供了一种非常简单的方法来渲染背面。
在 Three.js - r49 及以下:
您需要做的就是将平面对象的 doubleSided - 属性设置为 true。
plane.doubleSided = true;
对于较新的版本 - r50 及更高版本
在较新的版本中,正如 donnyB 在他的回答中已经正确指出的那样,该属性已从 Object3D - 对象移动到 Material - 对象,因此您需要对其进行一些不同的设置,如下所示:
plane.material.side = THREE.DoubleSide;
还编辑了你的小提琴给你看:http://jsfiddle.net/VsWb9/1084/
它使用的是 Three.js - 比 r50 更新的版本,属性设置在第 35 行
【讨论】:
请注意,这在 Three.js 版本 r50 中略有改变。可以通过 Material 上的side 属性来渲染平面的两侧,即
plane.material.side = THREE.DoubleSide;
查看here了解更多详情。
【讨论】: