我正在研究第三人称射击游戏。我找到了这个代码。但我无法用它做出任何意义。首先它将四元数与“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;
}
}
现在,谢谢我明白,乘法只是为了在向量中应用旋转 –