如何运行__DirtyPosition和setLinearVelocity?

时间:2019-06-11 15:34:33

标签: three.js physijs

因此,我对three.js很熟悉,但对physi.js还是陌生的,我目前正在Phys.js中制作第一人称控件。我试图通过将player .__ dirtyPosition设置为true来移动播放器网格。然后,我尝试使用setLinearVelocity使角色跳转。他们俩都可以单独工作,但不能一起工作。

我尝试使用setImpulse,在onKeyUp函数中设置正向和反向变量,并尝试在dirtyPosition = true和false之间切换。

这是我的基本代码:

requestAnimationFrame( move );
if ( fw === true ) {   player.__dirtyPosition = true;
      player.position.z = raycaster.ray.at( 0.5, place ).z 
      player.position.x = raycaster.ray.at( 0.5, place ).x };

if ( bw === true ) {  player.__dirtyPosition = true;
      player.position.z += raycaster.ray.at( -0.5, place ).z 
      player.position.x += raycaster.ray.at( -0.5, place ).x };

if ( jp === true ) { player.setLinearVelocity(new THREE.Vector3(0, 10, 0)); };

我希望走路和跳跃,因为y变量仅在跳跃时受到影响(并且physijs github一起显示了它们),但是我只是走路,然后当我放开w键时,我的LinearVelocity终于踢进去了,我摔倒了我走得很快。

0 个答案:

没有答案