目前,我正在尝试深入研究分组对象或更好的层次有序对象。但是我对object3D
及其子女的位置和可见性有一个奇怪的问题。
所以我有一组对象,到目前为止主要对象的光源,以及一些例如主要对象的孩子的球体。
问题是,位于另一个对象(兄弟姐妹)后面的子对象(来自摄像机视图)是可见的。并且所有子对象都出现在主对象的前面,而实际位于主对象后面的对象。
可悲的是,我无法在codePen中重现这一点,所以我不得不拍摄一些场景照片,很多道歉。
在照片中,相机围绕光源顺时针旋转(主要对象向左)。
基本上我正在做的是:
mObj = new THREE.Object3D();
mObj.add(new THREE.Mesh(someGeometry, someMaterial);
cObj = new THREE.Object3D();
cObj.add(new THREE.Mesh(someGeometry, someMaterial);
mObj.add(cObj);
scene.add(mObj);
这与对象层次顺序或其他内容有关吗?
第二个更可以忽略的问题是,在我的一台电脑上,那些黑暗(因为没有光线)的物体部分会产生那些奇怪的黑色/灰色面孔,我无法解释。也许是显卡/驱动程序?
答案 0 :(得分:1)
这些物体之间的距离是多少?它可能是一个浮点舍入问题。我自己也遇到过。
如果是这样,并且你正在获得闪烁的模型,你需要将你的相机和活动模型保持在原点,并在你周围移动宇宙以保持精确的重要位置(靠近玩家)。