Three.js:平面只有一半的时间可见

Ran*_*lue 26 javascript three.js

我使用Three.js创建了一个旋转的平面.由于某种原因,飞机没有显示一半的时间.我在这里创建了一个显示行为的小提琴.

Chr*_*ris 40

请注意,这在Three.js修订版r50中略有改变.渲染平面的两侧可以通过side材料上的属性来实现,即

plane.material.side = THREE.DoubleSide;
Run Code Online (Sandbox Code Playgroud)

这里了解更多详情.


GNi*_*i33 15

它是不可见的,因为飞机的背面没有被渲染(或更好地说,一个平面没有默认的背面.在侧面说明,看看背面 - 剔除这个.虽然它不是这个问题例如,它可能会给你一些关于渲染的洞察力).

Three.js确实为您提供了一种非常简单的渲染背景的方法.

在Three.js - r49及以下:

您需要做的就是将doubleSidedplane-Object 的- property 设置为true.

plane.doubleSided = true;
Run Code Online (Sandbox Code Playgroud)

对于较新的版本 - r50及以上

在较新的版本中,正如donnyB已经在他的回答中正确说明的那样,属性从Object3D- 对象移动到Material- 对象,所以你需要设置它有点不同,如下所示:

plane.material.side = THREE.DoubleSide;
Run Code Online (Sandbox Code Playgroud)

还编辑了你的小提琴给你看:http://jsfiddle.net/VsWb9/1084/

它使用的是比R50更新的Three.js版本,该属性设置在第35行