用三分和cannon.js创建一个房间



我刚刚开始使用three.js和cannon.js,我一直在尝试创建一个简单的空间,但没有成功。我正在努力此示例,我一直在尝试增加墙壁和天花板。最简单的方法是什么?现在我有

                // wall?
            wallGeometry = new THREE.PlaneGeometry( 300, 300 );
            wallGeometry.applyMatrix( new THREE.Matrix4().makeRotationX( Math.PI));
            wallMesh = new THREE.Mesh( wallGeometry, material );
            wallMesh.castShadow = false;
            wallMesh.receiveShadow = true;
            scene.add(wallMesh);

,但它很奇怪,我不会撞到它。...如果我尝试通过cannon.js添加它,我会得到一个隐形的墙,但看不到它。谁能将我指向正确的方向?

three.js本身没有物理,因此当您创建任何对象时,它永远不会使您本身"颠簸"。您必须自己编码此类功能或为此使用另一个库(就像您已经尝试使用Cannon.js一样)。

接下来 - 每个默认值,三个JS只会为您的场景创建一个环境光。如果您想要动态的闪电和阴影,则必须提供所有灯光,并且要对灯做出反应的物体必须使用meshlambertmaterial或meshphongmaterial,则必须设置几个适当的光线并使用特定类型的灯光。

在您的示例中,您似乎并没有在任何地方定义墙壁材料 - 这可能就是为什么墙壁是看不见的。

检查这些并窃取您需要的代码(似乎您需要很多: - )

http://threejs.org/examples/

http://stemskoski.github.io/three.js/index.html

最新更新