直接設定屬性參數的值要用寫小寫
gameObject.transform.position = new Vector3(1,1,1);
移動到座標1,1,1
利用方法來改變屬性要用大寫
gameObject.transform.Translate(1,1,1);
設定物件朝著1,1,1的方向移動1,1,1
transform.rotation = Quaternion.Euler(x,y,z);
設定物件角度
transform.Rotate(x,y,z);
旋轉方法,利用Update(),產生旋轉
Vector3.MoveToWards 以某個速度移動到另一個位置
target.position可設定為已知座標如:Vector3(x,y,z)
void Update()
{
// The step size is equal to speed times frame time.
float step = speed * Time.deltaTime;
// Move our position a step closer to the target.
transform.position = Vector3.MoveTowards(transform.position, target.position, step);
}
}
Quaternion.RotateTowards 讓物件旋轉至某個角度
void Update()
{
// The step size is equal to speed times frame time.
var step = speed * Time.deltaTime;
// Rotate our transform a step closer to the target's.
transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, step);
}
}
Vector3.Lerp 將目標物以一個位置比例放置在兩物件之間
通常用在類似彈簧的移動
transform.position= Vector3.Lerp(transform.position,target.transform.position,0.1f);
Quaternion.Lerp 將目標物以一個位置比例放置在兩物件之間
通常用在類似彈簧的旋轉
transform.rotation = Quaternion.Lerp((transform.position,target.transform.position,0.1f);
應用在怪物追蹤玩家時,持續看著玩家
transform.LookAt(target.transform);