Ich arbeite an einem Third-Person-Shooter. Und ich habe diesen Code gefunden. Aber ich kann damit keinen Sinn machen. Zuerst multipliziert man Quaternion mit "Vector3.forward" und der Compiler zeigt nichts. Und können Sie mir auch die Hauptlogik dieses Codes verdeutlichen. Ich weiß, dass das Auswendiglernen des Codes keine gute Angewohnheit ist. Kannst du mir den Code erklären? Und was macht der Quaternion.euler, wenn er Euler in Quaternion umwandelt?Wie Quaternion mit einem Vektor multipliziert wird?
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;
}
}
danke jetzt verstand ich, dass Multiplikation nur für die Anwendung der Rotation in Vektor war –