Transform是unity的核心类之一.表示的是物体的平移,旋转和缩放. 而position和localPosition, 分别表示的是,transform的位置是世界空间,和父空间的描述. 注意是 父空间,并不是自身空间. 注意到这点后,在空间的变换时就会省心很多了. 如果想搞清楚transform.position的变换过程,可以这样来测试: Java代码 //父空间转世界. Debug.Log(transform.position); Debug.Log(transform.parent.TransformPoint(transform.localPosition)); Debug.Log(transform.parent.localToWorldMatrix.MultiplyPoint(transform.localPosition) ); 复制代码Java代码 //世界转父空间 Debug.Log(transform.localPosition); Debug.Log(transform.parent.InverseTransformPoint(transform.position)); Debug.Log(transform.parent.worldToLocalMatrix.MultiplyPoint(transform.position)); 复制代码但如果直接使用transform来变换的话,结果将不正确. 【狗刨学习网】Java代码 Debug.Log(transform.position); Debug.Log(transform.TransformPoint(transform.localPosition)); Debug.Log(transform.localToWorldMatrix.MultiplyPoint(transform.localPosition) ); 复制代码这时,就应该注意了,transform.localXXX表示的是在父空间的描述. XXXPosition,EulerAngles,Scale) 如果想将一个空间的变换信息转换近另一个空间,可以这样: 1 最简单的方式 Java代码 transform.position = target.position; transform.rotation = target.rotation; transform.localScale = target.lossyScale; 复制代码当然,还需要视具体情况而定.【狗刨学习网】
推荐整理分享unity3D游戏开发之Transform的坐标变换注意事项(Unity3D游戏开发培训课程大纲),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:Unity3D游戏开发基础,Unity3D游戏开发毕业论文,Unity3D游戏开发引擎,Unity3D游戏开发引擎,Unity3D游戏开发标准教程,Unity3D游戏开发pdf,Unity3D游戏开发毕业论文,unity3D游戏开发,内容如对您有帮助,希望把文章链接给更多的朋友!
Unity游戏开发之动画播放与动画控制器 Animator Controller Unity游戏开发之动画播放与动画控制器AnimatorController配置好Avatar之后把模型加到场景之后会检视面板中可以看到Animator组件。属性Controller控制器附加到角
【Unity3D基础教程】(五):详解Unity3D中的协程(Coroutine) 【狗刨学习网】为什么需要协程在游戏中有许多过程(Process)需要花费多个逻辑帧去计算。你会遇到密集的流程,比如说寻路,寻路计算量非常大,所
Unity Android中的游戏移植 本周在旧金山举办的游戏开发者大会上,Unity宣布他们的UnityAndroid软件可以有偿的为开发者提供将他们自己开发的iOS平台上的游戏移植到Android平台的服