1

我正在使用 Three.JS 库开发 WebGL 应用程序。

我正在尝试将 Blender 3d 模型加载到场景中的 Three.js 应用程序中,并尝试在一个场景之间导航到另一个场景。我能够成功地将搅拌机 3d 模型 js 文件加载到场景中,并在我的基于 Three.js 的项目中正确显示模型。我现在有以下要求,无法完成。

  1. 当我将一个场景加载到另一个场景时,我想做某种从一个场景到另一个场景的移动过渡。如何以编程方式实现相机移动过渡,如前向、后向、左右侧方式。

  2. 如何实现“序列动作”,例如当相机向前移动并到达一个地方时,它将加载并显示下一个场景。我认为,我们可以使用 opengl 中的“序列操作”来实现这一点。

4

1 回答 1

3

@zz85 创建了一个优秀的Director类,它支持如下链接模式:

director = new THREE.Director();

director
.addAction( 0, function() {
    camera.position.set( 750, 850, 750 );
})
.addAction( 10, function() {
    // do something
    doSomething();
})
.addAction( 10, function() {
    // top view
    camera.position.set( 0, 1000, 0 );
})
// cross the terrain
.addTween( 18, 4, camera.position, {}, { x:300 , y: 80, z: -2000 }, 'cubicInOut' )
.addTween( 18, 4, camera, { lens: 35 }, { lens: 100 }, 'cubicInOut', function( k ) {
    camera.setLens( camera.lens );
})
.addTween( 18, 4, lookAt, {}, { x:300 , y: 80, z: 2000 }, 'linear' )

})
.addAction( 80, function() {
    stop();
});

演示:http: //jabtunes.com/labs/boidsnbuildings/

博文:http ://www.lab4games.net/zz85/blog/2012/11/19/making-of-boids-and-buildings/

这个演示使用了three.js。r.54dev,但我希望它可以与当前版本 three.js r.58 一起使用。

另一种选择是使用Tween.js,但根据您的要求,我希望Director您会喜欢。

示例:http ://threejs.org/examples/canvas_interactive_cubes_tween.html

三.js r.58

于 2013-07-10T06:51:09.230 回答