如何从全局THREE.BufferGeometryLoader()中查看对象

时间:2019-01-12 15:37:42

标签: three.js

我必须在渲染中旋转我的网格物体。为此,我必须全局查看我的网格物体。我创建了网格表单对象加载器(json)。因此,我就在回调函数内部。当我尝试在函数之前使用对象创建var,然后赋予函数值时,它不起作用。 如何在全球范围内制作网格?

var material = new THREE.MeshBasicMaterial({ map: earthTexture });
			let objectLoader = new THREE.BufferGeometryLoader();
			objectLoader.load('geometry.json',
				function (geometry) {
					
					var object = new THREE.Mesh(geometry, material);
          		scene.add(object);
});

2 个答案:

答案 0 :(得分:0)

使用全局变量并在回调函数中分配其值,然后检查变量是否未定义:

var obj; // define this variable in the section - let camera, scene, renderer;

. . .

var material = new THREE.MeshBasicMaterial({ map: earthTexture });
    let objectLoader = new THREE.BufferGeometryLoader();
    objectLoader.load('geometry.json',
        function (geometry) {

        var obj = new THREE.Mesh(geometry, material);

        scene.add(obj);
});

...
// somewhere in your animation loop
if (obj) obj.rotation.y += 0.1;

答案 1 :(得分:0)

我为它服务,我创建了var objectWrapper = new THREE.Object3D();我在其中放置对象