我有一個叫做Ball的對象,並且我爲它添加了鍵盤交互(WASD來移動球) 我需要相機留下來跟着球,但是我收到了錯誤。如何讓攝像頭跟隨unity3d C#中的對象?
using UnityEngine;
using System.Collections;
public class ballmain : MonoBehaviour {
public bool isMoving = false;
public string direction;
public float camX;
public float camY;
public float camZ;
// Use this for initialization
void Start() {
Debug.Log("Can this run!!!");
}
// Update is called once per frame
void Update() {
camX = rigidbody.transform.position.x -=10;
camY = rigidbody.transform.position.y -=10;
camZ = rigidbody.transform.position.z;
camera.transform.position = new Vector3(camX, camY, camZ);
//followed by code that makes ball move
}
}
我得到錯誤「資產/ ballmain.cs(18,44):錯誤CS1612:無法修改的‘UnityEngine.Transform.position’值類型的返回值考慮在臨時變量存儲值」 有誰知道答案?如果我註釋掉關於相機的代碼,球可以移動。
所以其camera.transform.position = rigidbody.transform.position - 10 * cam_look_at?什麼是cam_look_at? – chesnutcase
@chesnutcase:照相機的位置和方向存儲爲4x4矩陣。矩陣的行(或列,取決於它如何設置)等同於:單位右向量,單位向上向量,向量單位,位置。右,向上和向量是相機認爲正確的方向,在世界座標中向前和向前,向前/在相機正在尋找的方向。這三個矢量是正交的(即,任何兩個的點積是零)。 – Skizz