Ser*_*pov 7 javascript html5 webgl three.js
我正在尝试这个:
controls = new THREE.FirstPersonControls(camera);
controls.movementSpeed = 1000; controls.lookSpeed = 0.125; controls.lookVertical = true;
它没有用,从这里我发现我需要用时间增量更新控件:
var clock = new THREE.Clock();
controls.update(clock.getDelta());
但是我得到了undefined is not a function错误THREE.Clock()
你能指点我使用FirstPersonControls进行演示/教程,或者只是告诉我什么是错的?
谢谢!!
您是否尝试过简单地调用controls.update();(通过三角形)?
我刚试过通过复制misc_sound.html示例中的一些代码来尝试使用该类.所以在init()中:
controls = new THREE.FirstPersonControls( camera );
controls.movementSpeed = 70;
controls.lookSpeed = 0.05;
controls.noFly = true;
controls.lookVertical = false;
Run Code Online (Sandbox Code Playgroud)
并在render()中:
controls.update();
Run Code Online (Sandbox Code Playgroud)
更新
正如托德所指出的,在较新的版本中,需要提供增量时间参数:
controls.update(delta);
Run Code Online (Sandbox Code Playgroud)
请注意,在R49中,此api现在需要更新调用上的"delta".delta必须是自上次更新以来的毫秒位移,应该通过requestAnimationFrame回调传递.
http://paulirish.com/2011/requestanimationframe-for-smart-animating/
| 归档时间: |
|
| 查看次数: |
7661 次 |
| 最近记录: |