2 回答

TA貢獻1875條經驗 獲得超3個贊
你可以這樣做Vector3.Lerp:
Vector3 startPosition;
Vector3 endPosition;
var speed = 10.0;
transform.position = Vector3.Lerp(startPosition, endPosition, speed * Time.deltaTime);
或使用 Vector3.MoveTowards
// The step size is equal to speed times frame time.
float step = speed * Time.deltaTime;
// Move our position a step closer to the target.
transform.position = Vector3.MoveTowards(transform.position, target.position, step);

TA貢獻1796條經驗 獲得超7個贊
如果要滾動球,請AddForce()改用transform.position.
首先,將Rigidbody和添加Sphere Collider到您的球類游戲對象。
然后試試這段代碼:
public Vector3 targetPoint;
public float forceAmount;
...
void Update()
{
Vector3 force = ((targetPoint - transform.position).normalized * forceAmount * Time.smoothDeltaTime);
GetComponent<Rigidbody>().AddForce(force);
}
另外,如果你想球在到達目標點后立即停止,你可以設置GetComponent<Rigidbody>().velocity為 0 時targetPoint - transform.position = 0
我希望它對你有幫助。
- 2 回答
- 0 關注
- 226 瀏覽
添加回答
舉報