📌 核心属性
🌍 世界坐标系
transform.position // 世界位置(Vector3)
transform.rotation // 世界旋转(Quaternion)
transform.eulerAngles // 世界旋转角度(Vector3)
transform.lossyScale // 世界缩放(只读)
🏠 本地坐标系
transform.localPosition // 相对父物体位置
transform.localRotation // 相对父物体旋转
transform.localScale // 相对父物体缩放
📱 屏幕坐标系
Input.mousePosition // 鼠标位置(左下角原点)
🖼️ 视口坐标系
Camera.main.WorldToViewportPoint(position) // 世界→视口
🔄 坐标系转换
世界 ↔ 本地
// 世界→本地
transform.InverseTransformPoint(worldPos)
// 本地→世界
transform.TransformPoint(localPos)
世界 ↔ 屏幕
// 世界→屏幕
Camera.main.WorldToScreenPoint(worldPos)
// 屏幕→世界
Camera.main.ScreenToWorldPoint(screenPos)
世界 ↔ 视口
// 世界→视口
Camera.main.WorldToViewportPoint(worldPos)
// 视口→世界
Camera.main.ViewportToWorldPoint(viewportPos)
实用技巧
// 鼠标射线检测
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, out hit)){
hit.point; // 点击的世界坐标
}
💡 记住:移动用
position
,相对移动用localPosition
,UI交互用mousePosition