Unity position和localposition

时间:2023-03-09 23:28:40
Unity position和localposition

1. position是根据世界原点为中心

2. localPosition是根据父节点为中心,如果没有父节点,localpositon和position是没有区别的

3.选中一个物体左上角Global和Local切换看物体世界坐标轴和本地坐标轴

Unity position和localposition

代码:

using UnityEngine;
using System.Collections; public class TestPostiton : MonoBehaviour { void OnGUI()
{
if (GUI.Button(new Rect(0, 0, 200, 50), "世界坐标移动"))
{
this.gameObject.transform.position = new Vector3(gameObject.transform.position.x+1
,gameObject.transform.position.y
, gameObject.transform.position.z);
} if (GUI.Button(new Rect(0, 50, 200, 50), "本地坐标移动"))
{
this.gameObject.transform.localPosition = new Vector3(gameObject.transform.localPosition.x+1
, gameObject.transform.localPosition.y
, gameObject.transform.localPosition.z);
} GUI.Label(new Rect(210, 0, 300, 50), "世界坐标:" + string.Format("({0},{1},{2})", gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z));
GUI.Label(new Rect(210, 50, 300, 50), "本地坐标:" + string.Format("({0},{1},{2})", gameObject.transform.localPosition.x, gameObject.transform.localPosition.y, gameObject.transform.localPosition.z)); } }