![](/img/trans.png)
[英]How to rotate a quanternion and calculate direction vector in Unity (ECS)
[英]How do you multiply a quanternion by a vector3 in unity?
我有這段代碼:
private Transform player;
// Start is called before the first frame update
void Start()
{
player = Object.FindObjectOfType<PlayerIdentifier>().transform;
}
// Update is called once per frame
void Update()
{
float newPosX = (Quaternion.AngleAxis(player.rotation.z, Vector2.up) * player.position).x;
float newPosY = (Quaternion.AngleAxis(transform.rotation.z,Vector2.up)*transform.position).y;
Vector3 newPos = new Vector3(newPosX, newPosY);
newPos = newPos * Quaternion.AngleAxis(transform.rotation.z, Vector2.up);
transform.position = newPos;
}
你看,我在第 13 行收到一個錯誤,指出四元數不能與 Vector3 相乘。 有什么方法可以在沒有錯誤消息的情況下將它們相乘?
沒關系,您必須將四元數放在 Vector3 之前 像這樣Quaternion qua = Quanternion.Euler(0,0,90); Vector3 vect = new Vector3(0,1,0); Vector3 output=qua*vect;
Quaternion qua = Quanternion.Euler(0,0,90); Vector3 vect = new Vector3(0,1,0); Vector3 output=qua*vect;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.