unity中控制主角的移动和旋转
来源:互联网 发布:淘宝手机店铺装修代码 编辑:程序博客网 时间:2024/06/09 22:33
在游戏中我们通常要控制玩家的移动和旋转
首先我们说一下移动:
移动的本质就是在Update()或LateUpdate()中不断修改物体的position来实现移动,移动的方法有4中:
(1):transform.Translate()第一种方法与直接修改transform.position是一样的,缺点就是在有碰撞器组件的物体上时它会穿体而过
(2):Rigidbody.MovePosition()第二种用于模拟物体的物理状态,比如物体受重力影响,物体被碰撞后的击飞等等。对于运动学刚体,它基于刚体的运动应用摩擦力。这个让你模拟刚体位于移动平台之上的情况
(3):CharacterController.Move()模拟更复杂的运动,重力需要通过代码实现,返回值表示角色与周围的碰撞信息。
(4):Rigidbody.AddForce()但这种方法力的大小需要直接不断的调整。
旋转相对于物体的移动就没有那么多的方法了
(1):transform.Rotation()当然这个方法也是通过修改物体的rotation来实现
(2):Rigidbody.MoveRotation()对于运动学刚体,它基于刚体的运动应用摩擦力。这个让你模拟刚体位于移动平台之上的情况
下面我只是展示了用Rigidbody.MovePosition()与Rigidbody.MoveRotation()来实现
private int Speed = 2;
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rigBody.MovePosition(this.transform.position+new Vector3(h,0,v)*Speed*Time.deltaTime);
if(Input.GetAxis("Horizontal")!=0|| Input.GetAxis("Vertical")!=0)
{
Rotating(h,v);
}
}
void Rotating(float horizontal, float vertical)
{
// 创建角色目标方向的向量
Vector3 targetDirection = new Vector3(horizontal, 0f, vertical);
// 创建目标旋转值 并假设Y轴正方向为"上"方向
Quaternion targetRotation = Quaternion.LookRotation(targetDirection, Vector3.up); //函数参数解释: LookRotation(目标方向为"前方向", 定义声明"上方向")
// 创建新旋转值 并根据转向速度平滑转至目标旋转值
//函数参数解释: Lerp(角色刚体当前旋转值, 目标旋转值, 根据旋转速度平滑转向)
Quaternion newRotation = Quaternion.Lerp(rigBody.rotation, targetRotation, Speed * Time.deltaTime);
// 更新刚体旋转值为 新旋转值
rigBody.MoveRotation(newRotation);
}
当然,一般情况下在物体移动的同时并且包括动画的播放,稍后我将为大家说一下动画的控制,谢谢大家!
- unity中控制主角的移动和旋转
- unity中控制物体的移动,和旋转
- unity 通过键盘控制角色的移动和旋转
- unity 控制物体移动和旋转
- Unity控制移动、旋转
- unity中关于物体的旋转和朝向控制
- unity 控制对象移动、旋转
- Unity鼠标控制物体360°旋转和点击移动
- 【笨木头Unity】入门之旅007:Demo之四处找死(二)_主角移动和旋转
- Unity入门系列||Unity中如何用脚本实现物体的循环移动和旋转
- unity人物旋转和移动
- unity中简单的角色移动控制
- Unity 控制物体移动 旋转 缩放
- unity使用鼠标控制移动、缩放、旋转
- Unity视角控制和Camera的移动
- unity中点击屏幕2d图片的移动和旋转
- unity 控制旋转的方法
- unity FPS 将原来的left,right控制左右移动改为控制向左向右旋转
- 一些VR延迟优化方法
- TinyOS视频第一集内容介绍
- Qt平台下的精简版俄罗斯方块,代码80行(顺便散点分) [问题点数:40分,结帖人lxyppc]
- Android-SDK无法更新的问题解决
- ListView item加载不同的布局
- unity中控制主角的移动和旋转
- 字符串解析
- android系统架构
- 解读Java Class文件格式
- Android Studio 快捷键汇总
- 能下载url地址图片的ImageView
- lighttpd-1.4.39 : alarm
- Excel从0到1:基本功能和常用函数
- 总结云计算/OpenStack/Docker的概念理解