THREE.Scene.traverse()方法

THREE.Scene.traverse()方法。我们可以将一个方法作为参数传递给traverse()方法,这个传递来的方法将会在每一个子对象上执行。由于THREE.Scene对象存储的是对象树,所以如果子对象本身还有子对象,traverse()方法会在所有的子对象上执行,直到遍历完场景树中的所有对象为止。

比如,我们可以用这个方法让场景中的物体进行旋转:

function render() {

    scene.traverse(function (obj){
        if (obj instanceof THREE.Mesh && obj !== plane){
            obj.rotation.x += 0.01
            obj.rotation.y += 0.02
            obj.rotation.z += 0.03
        }
    })

    orbitControls.update()
    renderer.render(scene, camera)
    requestAnimationFrame(render)
}

THREE.Scene.traverse()方法
https://www.zhaojun.inkhttps://www.zhaojun.ink/archives/threejs-traverse-method
作者
卑微幻想家
发布于
2023-02-10
许可协议