2016-01-21 70 views
0

我是新来的团结,我想让角色跳跃在相机的方向。目前我通过矢量施加力,y/vertical是常量,但是如何计算x和z比?计算三维空间跳跃的x和z力

rigidbody.AddForce(new Vector3(10.0f, JumpForce, 10.0f), ForceMode.Impulse); 

我想让从岩石到岩石的三维空间跳跃,通过重力的影响是抛物线。

回答

1

我不知道究竟你的“摄像头的方向跳”的意思,但据我所知它做这样的事情:

Vector3 direction = player.transform.position - camera.transfrom.position; 
Vector3 clampedDirection = Vector3.ClampMagnitude (direction, 10f); 
Vector3 forceVector = new Vector3 (clampedDirection.x, 10f, clampedDirection.z); 

rigidbody.AddForce(forceVector, ForceMode.Impulse); 

通过这个,你会跳转球员获得方向的矢量相机,其长度将被限制在10f。 forceVector将有x和z从钳位矢量和y将是常数10f。如果你想有forceVector也是其长度的10f,只是夹它:

Vector3 forceVector = Vector3.ClampMagnitude (forceVector, 10f); 
相关问题