2015-08-13 58 views
3

我是Unity新手,嘗試創建一個像剛體擺動一樣移動的圓柱體。我在缸體頂部使用鉸鏈接頭,並使用電機來增加力量。如何使用unity3d來保持圓柱體/鐘擺上的位置

當我停止施加力時,如何讓氣缸保持住位置而不回落到「死」位置?

JointMotor m = new JointMotor(); 
m.force = 10000; 
m.targetVelocity = 0; 
m.freeSpin = true; 
GetComponent<HingeJoint>().motor = m; 

回答

0

您可以嘗試手動計算它。 創建一個空物體作爲樞軸,使胳膊和鮑勃它的子對象和旋轉使用Lerp()樞軸。像這樣的東西可能會奏效:

public class Penduluum : MonoBehaviour { 
public float angle = 45.0f; 
public float speed = 1.5f; 

Quaternion Start, End; 

void Start() { 
    Start = Quaternion.AngleAxis (angle, Vector3.forward); 
    End = Quaternion.AngleAxis (-angle, Vector3.forward); 
} 

void Update() { 
    transform.rotation = Quaternion.Lerp (Start, End, (Mathf.Sin(Time.time * speed) + 1.0f)/2.0f); 
} 

}