簡體   English   中英

在Unity中設置玩家從A點到B點的輪換

[英]set player rotation from point A to B in Unity

移動播放器時,我將此代碼用於播放器旋轉。 玩家應始終旋轉到要移動的目標點。

private void SetPlayerRotation(Vector3 targetCellPosition)
{
    Vector3 targetPoint = new Vector3(targetCellPosition.x, transform.position.y, targetCellPosition.z) - transform.position;

    transform.rotation = Quaternion.LookRotation(targetPoint, Vector3.up); // rotate the player
}

有時控制台日志

外觀旋轉觀看向量為零

我怎樣才能解決這個問題?

如果vector為零,則記錄該日志,使用if語句將解決此問題。 記錄此事件的原因是,當旋轉矢量為0時,什么也沒發生,因此執行此任務毫無意義。

if (targetPoint != Vector3.Zero) {
    transform.rotation = Quaternion.LookRotation(targetPoint, Vector3.up);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM