我在操作从Blender加载的对象时遇到了一些问题。我认为枢轴点总是设置为0,0,0而不是当前对象的位置。我正确地定位并导入Blender场景中的对象,但是我在旋转它时遇到了问题。
我已经使用了BoundingBoxHelper来查看发生了什么,但是边界框没有出现在对象周围但是在世界中心并且具有1个单位的大小(我猜这是默认值)
这是我用来加载外星人的代码:
texture6 = THREE.ImageUtils.loadTexture('images/alien1.png', {}, function() {
renderer.render(scene, camera);
});
loader = new THREE.JSONLoader();
loader.load( "models/alien1.js", function( geometry ) {
geometry.computeFaceNormals();
geometry.computeCentroids();
geometry.computeBoundingBox();
var mat = new THREE.MeshBasicMaterial({map: texture6,transparent: true, color:0x00FF00} );
var mesh = new THREE.Mesh( geometry, mat );
scene.add(mesh);
bbHelper = new THREE.BoundingBoxHelper( mesh, 0xff0000 );
scene.add( bbHelper );
});
这就是结果: (红色边界框应该围绕绿色外星人但是在场景的中心)
有什么建议吗?
答案 0 :(得分:3)
您需要致电bbHelper.update()
。
如果对象正在移动,则在渲染循环中进行调用。
three.js r.59