簡體   English   中英

在Unity中旋轉游戲對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM