2016-01-21 68 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); 
相關問題