我学Unity有两个来月了,以前没有接触过3D方面的知识。在写代码的时候发现,如果坐标系搞混了,代码中出现问题后是很难找到原因的,只能一直郁闷。这两天正好赶上郁闷了,就抽出一上午的时间专门研究坐标系。虽然没有什么大成,零零碎碎的东西也可以拿出来,以备忘。也算抛砖引玉了,如果你理解的比较系统,还希望你能拿出来,跟大家分享一下。
Transform.localPosition --> 父极坐标系
Transform.localRotation --> 父极坐标系
Transform.localScale --> 父极坐标系
Transform.position --> 世界坐标系
Transform.rotation --> 世界坐标系
Transform.scale --> 世界坐标系
Transform.up --> 世界坐标系
Transform.right --> 世界坐标系
Transform.forward --> 世界坐标系
Transform.transformPoint --> 物体坐标系到世界坐标系
Transform.transformDirection --> 物体坐标系到世界坐标系
Transform.InverseTransformPoint --> 世界坐标系到物体坐标系
Transform.InverseTransformDirection --> 世界坐标系到物体坐标系
Transform.Translate --> 默认为物体坐标系
Transform.Rotate --> 默认为物体坐标系
CharacterController.Move
CharacterController.SimpleMove
Transform.localPosition --> 父极坐标系
Transform.localRotation --> 父极坐标系
Transform.localScale --> 父极坐标系
Transform.position --> 世界坐标系
Transform.rotation --> 世界坐标系
Transform.scale --> 世界坐标系
Transform.up --> 世界坐标系
Transform.right --> 世界坐标系
Transform.forward --> 世界坐标系
Transform.transformPoint --> 物体坐标系到世界坐标系
Transform.transformDirection --> 物体坐标系到世界坐标系
Transform.InverseTransformPoint --> 世界坐标系到物体坐标系
Transform.InverseTransformDirection --> 世界坐标系到物体坐标系
Transform.Translate --> 默认为物体坐标系
Transform.Rotate --> 默认为物体坐标系
CharacterController.Move
方向:世界坐标系
速度:
父极坐标系。问题:测试数据显示Scale变2后速度大约变为原来的3倍,求解?
测试数据显示世界坐标系中的单位向量的速度大约为9单位/S
CharacterController.SimpleMove
- 方向:世界坐标系
- 速度:
- 父极坐标系。问题:测试数据显示Scale变2后速度大约变为原来的3倍,求解?
- 测试数据显示世界坐标系中的单位向量的速度大约为0.15单位/S