我正在研究第三人稱射擊遊戲。我找到了這個代碼。但我無法用它做出任何意義。首先它將四元數與「Vector3.forward」相乘,編譯器不顯示任何內容。你也可以讓我清楚這個代碼的主要邏輯。我知道背誦代碼不是一個好習慣。那麼你能解釋我的代碼嗎?那Quaternion.euler做了什麼,就是把euler改成四元數。四元數如何與矢量相乘?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraFollow : MonoBehaviour {
[SerializeField]
Transform target;
[SerializeField]
float distance;
[SerializeField]
float targetheight;
private float x = 0;
private float y = 0;
void LateUpdate()
{
y = target.eulerAngles.y;
Quaternion rotation = Quaternion.Euler(x, y, 0);
Debug.Log(rotation);
transform.rotation = rotation;
var postion = target.position - (rotation *Vector3.forward* distance + new Vector3(0, -targetheight, 0));
transform.position = postion;
}
}
現在,謝謝我明白,乘法只是爲了在向量中應用旋轉 –