[英]Rotate a gameobject in Unity
嘗試為Unity編寫腳本,該腳本獲取游戲對象A的位置和旋轉並將其使用C#分配給游戲對象B。
調試日志顯示了我想要獲得的正確旋轉角度,但是我不知道如何將該值實際分配給其他游戲對象。
到目前為止,我是C#的新手,所以它很可能是我的語法,但是我對Unity也很新。
提前致謝!
using UnityEngine;
using System.Collections;
public class MoveArrow : MonoBehaviour {
void Start () {
}
void Update () {
var playerMapPos = GameObject.FindWithTag ("Player");
var playerWorldPos = GameObject.FindWithTag ("PlayerCube");
Debug.Log ("x: " + playerMapPos.transform.eulerAngles.x );
Debug.Log ("y: " + playerMapPos.transform.eulerAngles.y );
Debug.Log ("z: " + playerMapPos.transform.eulerAngles.z );
playerWorldPos.transform.rotation = Vector3(
playerMapPos.transform.eulerAngles.x,
playerMapPos.transform.eulerAngles.y,
playerMapPos.transform.eulerAngles.z
);
}
}
我收到以下錯誤:
Assets / MoveArrow.cs(24,53):錯誤CS0119:表達式表示
type', where a
應有變量',value' or
方法組'
嘗試:
void Update()
{
var playerMapPos = GameObject.FindWithTag ("Player");
var playerWorldPos = GameObject.FindWithTag ("PlayerCube");
playerWorldPos.transform.rotation = playerMapPos.transform.rotation;
}
您嘗試執行的操作不起作用的原因是transform.rotation是一個四元數,而transform.eularAngles是一個Vector3。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.