Unity tranform.Tranlate(transform.forward)不按设想移动的问题
来源:互联网 发布:mac双系统macos没了 编辑:程序博客网 时间:2024/06/16 16:11
Unity中物体的坐标分为世界空间坐标和本地空间坐标。
新建一个cube,不旋转,随意移动cube位置,输出transform.forward 发现它始终是(1,0,0)。也就是本地坐标方向是相对于世界坐标原点来识别的。
将cube旋转45°,再输出transform.forward,结果是(0.7,0,0.7)。
这个时候给cube一段控制代码:transform.Translate(transform.forward);
会发现,cube并不是沿着图中transform.forward方向移动的
查看脚本手册: Translate (translation : Vector3, relativeTo : Space = Space.Self)
可以看到这个函数第二个参数默认是本地坐标空间,也就是说此时移动是参考本地坐标空间来移动的。
因为transform.forward 数值表达为(0.7, 0 ,0.7),然后cube要将自身朝着相对于自身坐标系的(0.7, 0 , 0.7)方向移动,也就是下图:
所以,此时cube会相对于世界空间坐标的z轴负方向运动。
解决方法:只要将第二个参数设置为Space.wrod。Cube就会沿着自身的Z轴运动了。
阅读全文
0 0
- Unity tranform.Tranlate(transform.forward)不按设想移动的问题
- tranform值transform-origin
- unity心得之transform移动
- 旋转会对unity中物体的transform.forward的值产生影响
- 理解 Unity 的 Transform
- 移动医疗的一些设想
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别
- Unity3d vector3.forward和transform.forward的区别!
- Unity3d vector3.forward和transform.forward的区别
- Transform.Forward和Vector3.Forward的正确使用方法
- unity角色摄像机实际坐标变了,但是不移动的问题
- Unity:Transform之四元数的移动端单指滑动旋转模型操作
- Mongodb--TTL索引(Mongodb自动删除数据)
- ICMP差错报告报文
- css33D效果转换
- selenium 解决 SSL问题
- Hadoop 伪分布式环境搭建
- Unity tranform.Tranlate(transform.forward)不按设想移动的问题
- 文章标题
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
- 敏捷开发的12条原则
- Python操作RabbitMQ之Pika
- 数据分析入门
- 线程安全的单例模式
- 经验分享(十一)给学习计算机的同僚们(初学者,进阶者,包括Linux爱好者)的学习建议
- C和指针之数组之编程练习2