概述
变换组件运动特点
- 变换组件运动特点(Transform.Translate()方法)
- 移动的物体会 “穿透” 场景中其他的物体模型;
- 移动的物体不会受重力影响(到达场景边缘外,不会下落)。
刚体组件简介
- 刚体简介
- 刚体:Rigidbody,属于物理类组件。
- 作用:添加了刚体组件的游戏物体会有重力,意味着可以像现实中的物体一样运动。
- 给物体添加刚体组件
- 选中游戏物体 --> 菜单 Component --> Physics --> Rigidbody
刚体组件属性
- Mass [质量]
- 设置物体的质量,单位是 KG。
- Drag [阻力]
- 空气阻力,0表示无阻力,值很大时物体会停止运动。
- Angular Drag [角阻力]
- 受到扭曲力时的空气阻力,0表示无阻力,值很大时物体会停止运动。
- Use Gravity [使用重力]
- 是否使用重力
使用刚体移动物体
- 方法
- Rigidbody.MovePosition(Vector3):使用刚体移动物体的位置。
- 使用刚体移动物体,物体是根据世界坐标系的方向移动的,且会触发相关物理事件。
- 参数
- MovePosition 中的 Vector3 要使用 “当前位置” + 方向 的方式。
- Transform.Position:属性 当前物体的位置。
private Rigidbody m_Rigidbody; private Transform m_Transform; void Start() { m_Rigidbody = gameObject.getComponent<Rigidbody>(); m_Transform = gameObject.getComponent<Transform>(); } void Update() { if(Input.GetKey(KeyCode.W)) { m_Rigidbody.MovePosition(m_Transform.Position + Vector3.forward*0.2f); } if(Input.GetKey(KeyCode.S)) { m_Rigidbody.MovePosition(m_Transform.Position + Vector3.back*0.2f); } if(Input.GetKey(KeyCode.A)) { m_Rigidbody.MovePosition(m_Transform.Position + Vector3.left*0.2f); } if(Input.GetKey(KeyCode.D)) { m_Rigidbody.MovePosition(m_Transform.Position + Vector3.right*0.2f); } }
最后
以上就是风中外套为你收集整理的Unity 3D游戏开发 - U3D入门 | 物理组件之刚体的全部内容,希望文章能够帮你解决Unity 3D游戏开发 - U3D入门 | 物理组件之刚体所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复