簡體   English   中英

統一旋轉父級時,子級游戲對象計數器旋轉

[英]Child gameobject counter rotates when rotating parent in unity

在我的第一人稱 controller 中,我有一個包含相機的空游戲對象。 我想分別圍繞 y 軸旋轉游戲對象和圍繞 x 軸旋轉相機,但相機反向旋轉。

我的 playerobject 的結構如下:

播放器對象

  • 游戲對象

    • 相機

這是我使用的代碼的簡化版本:

public Transform GameObject;
private Camera PlayerCamera;
public Quaternion cam_pan;
public Quaternion cam_tilt;

private void Start()
{
    PlayerCamera= GameObject.GetComponentInChildren<Camera>();
}

private void Update()
{
    cam_tilt = Quaternion.Euler(cam_tilt.eulerAngles.x - Input.GetAxis("Mouse Y"), 0, 0);
    cam_pan = Quaternion.Euler(0, cam_pan.eulerAngles.y + Input.GetAxis("Mouse X"), 0);

    PlayerCamera.transform.rotation = cam_tilt;
    GameObject.transform.rotation = cam_pan;
}

我對統一比較陌生,所以如果我遺漏了明顯的東西,請原諒我,但我沒有找到任何解釋這種行為,我真的很茫然。

你正在添加 Input.GetAxis(“Mouse Y”) 並減去 Input.GetAxis(“Mouse X”) 只是一個注釋,如果你有 ia 孩子,當你旋轉父母時,你也會旋轉孩子

我不明白你到底想說什么。 我認為這是您的問題:相機圍繞 X 和 Y 軸旋轉; 但是您想僅圍繞 X 軸旋轉它。

您正在圍繞 Y 軸旋轉游戲對象。 您的相機是您的 Gameobject 的子對象。 這意味着您正在圍繞 Y 軸旋轉相機。 您再次圍繞 X 軸旋轉相機。 然后您的相機將圍繞 Y 軸和 X 軸旋轉。

如果您想圍繞 X 軸旋轉相機,請不要將其作為 Gameobjet 的子對象。

暫無
暫無

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

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