【问题标题】:Three.js Child of camera isn't visible相机的 Three.js 子项不可见
【发布时间】:2013-07-07 02:47:49
【问题描述】:

我正在尝试将一个对象附加到相机上,以便它或多或少地用作 GUI 元素。

我的相机定义如下:

camera = new THREE.PerspectiveCamera( 45, windowWidth / windowHeight, 1, 2000 );
camera.position.z = 100;

在我的 init() 中,我定义了要添加的对象:

    obj = new THREE.Mesh(new THREE.CubeGeometry(5, 5, 5, 1, 1, 1),
new THREE.MeshBasicMaterial({ color: 0xFFFFFF } ));
    obj.position.set( 0, 0, -50);
    camera.add(obj);

但是,该块没有出现。我尝试将此对象添加到场景中,并且它是可见的。我在 animate() 中添加了一个循环,它将在 (-50, 50) 之间滑动对象的 z 位置,但我看不到它。

我尝试使用camera.lookAt(obj) 并记录 obj 的世界位置(obj 位置 + 相机位置),它们的行为符合预期。世界位置似乎是我所期望的,当 z 位置超过 0 时,camera.lookAt 会翻转相机。

对于没有提供更清晰的示例代码,我深表歉意,但我会尽我所能与任何试图帮助我的人合作。谢谢!

【问题讨论】:

    标签: javascript three.js webgl


    【解决方案1】:

    您是否将相机添加到场景中?

    scene.add( camera );
    

    通常不必将相机添加到场景中,但在这种情况下,对象是相机的子对象,因此您必须这样做。

    three.js r.58

    【讨论】:

    • 效果很好,非常感谢!你是最棒的(:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多