unity的三种物体移动方法
来源:互联网 发布:黑龙江省快乐十分软件 编辑:程序博客网 时间:2024/05/22 15:41
1.带有Rigidbody组件的物体移动一般采用 GetComponent<Rigidbody>().velocity 如:
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
if(Input.GetButtonDown("Jump"))
vel = jump;
else
vel = GetComponent<Rigidbody>().velocity.y;
Vector3 movement = new Vector3(h * speed, vel, v * speed);
movement=Vector3.ClampMagnitude(movement,speed);//限制对角移动的速度和沿着轴线一样
movement = transform.TransformDirection(movement);//因为velocity是相对全局坐标而言的,所以要把局部坐标转换成全局坐标 如:往左转是相对于移动的物体的
GetComponent<Rigidbody>().velocity =movement;
2.带有CharacterController组件的物体一般采用Move(movement) 如:
Vector3 movement = new Vector3(h * speed, -9.8f, v * speed);
movement = Vector3.ClampMagnitude(movement, speed);
movement *= Time.deltaTime;
movement = transform.TransformDirection(movement);//因为Move是相对全局坐标而言的,所以要把局部坐标转换成全局坐标 如:往左转是相对于移动的物体的
_characterController.Move(movement);
3.什么都不带的物体移动一般采用transform.Translate(x,y,z) 如:
注:transform.Translate的移动是不受物理作用的 即:可以穿墙 所以如果不是在平地上移动是不能用translate的
transform.Translate(movement);//因为一般物体的移动就是在母坐标(不一定是全局如果它有母物体的话)下移动,所以一般不需要用TransformDirection(movement)转换
- unity的三种物体移动方法
- unity 移动物体到指定位置的四种方法
- Unity中移动物体的几种常用方法
- Unity 几个物体移动的方法
- unity移动物体的方法及区别
- Unity-->实现物体的移动
- unity里面物体的移动
- Unity几种查找物体的方法
- unity中物体移动的几种方式
- unity物体的移动/脚本的添加
- unity 物体移动方式的一些笔记
- Unity3D 物体移动的方法
- Unity移动物体
- unity 拖动物体移动
- 创建游戏物体的三种方法
- 我的Unity(3)一点一滴 实现物体移动和旋转的方法总结(1)
- Unity 访问其他游戏物体的几种方法
- Unity 变换物体位置的几种方法
- 栈和队列(8)-- 最大值减去最小值小于或者等于num的子数组
- 遇到的问题以及解决方法(长按操作)
- 数据库连接中使用PreparedStatement预编译防止SQL注入
- HTML基础
- OpenGL(二十二) gluBuild2DMipmaps 加载Mip纹理贴图
- unity的三种物体移动方法
- 常用的类的概念
- WebPack在React项目架构中的应用实践
- Red Hat内核升级过程记录
- HDU 2093考试排名(结构体多关键字排序+字符串处理)
- Fortran中的输入输出!!!
- html具体例子
- C语言笔记(3)
- 红黑树(未完待续)