选中红色的cube然后在菜单栏中选择Component->
hysics->Rigidbody如图:
这样一个刚体组件就添加完成了,运行游戏看看有什么变化。我们发现运行游戏后红色的物体开始自由下落,其他两个没有变化。这是因为我们给红色物体添加了Rigidbody组件后,它收到了重力的影响。
选中红色的物体,在Inspector视图中可以看到Rigidbody组件包含的属性,下面介绍一下这些属性的含义,
Mass:质量,数值越大物体下降的速度就越快,默认值是1,设置数值是尽量不要超过10,否则物理效果就不真实了。Drage:阻力,数值越大物体速度减慢的就越快。Angular Drag:角阻力,数值越大自身旋转的速度减慢的就越快,UseGravity:是否使用重力。IsKinematic:是否受物理影响。Interpolate:设置图像差值。CollisionDetection:碰创检测。Constraints:冻结,停止某个轴向感应物理引擎的效果。 Freeze Position:冻结X,Y,Z轴的位移。Freeze Rotation:冻结X,Y,Z轴的旋转。这是对单个物体的物理效果的设置,unity3d中也可以对整个项目中的所有物理效果进行设置,设置方法,选择菜单栏中Edit->
roject Settings->
hysics
此时即可在Inspector面板中打开“Physics Manager”(物理管理器)界面。
Gravity:重力,默认情况下物体受Y轴向下的重力为9.8N。Default Material:默认物理材质。BounceThreshold:反弹值,Sleep Velocity:睡眠速度。当速度低于睡眠速度是,它保持静止。Sleep Angular Velocity:睡眠角速度。当角速度低于睡眠角速度时,自身不在旋转。Max Angular Velocity:最大角速度。Min Penetration For Penalty:用于物体与物体之间碰撞后最小穿透力。Solver Iterstion Count:迭代数量,默认值是7.Raycasts Hit Trigger:是否启动命中触发。Layer Collision Matrix:图层碰撞矩阵。当这些都按照我们的项目要求设置好之后,我们就可以给我们添加了Rigidbody的物体一个力,让它在力的作用下运动了。刚体组件可以受力的作用,比如给刚体施加一个x轴方向的力,那么该刚体绑定的物体将沿着x轴方向上向前移动,这就好比用力将物体仍出去一样,该物体将依抛物线的形式移动。Unity中的力有两种:一种普通力,需要设定方向和大小; 第二种为目标位置力,需要设定目标点的位置。下面就通过一个实例看下着两个力的区别。新建一个C#脚本,命名为AddForec并输入一下代码using UnityEngine;using System.Collections; public class AddForce : MonoBehaviour { //添加力的物体 public GameObject addFroceobj; //目标位置 public GameObject cubeobj; void OnGUI() { if(GUILayout.Button("普通力",GUILayout.Height(50))) {//普通力 addFroceobj.rigidbody.AddForce(1000,0,0); } if(GUILayout.Button("位置力",GUILayout.Height(50))) { 位置力 Vector3 force=cubeobj.transform.position-addFroceobj.transform.position; addFroceobj.rigidbody.AddForceAtPosition(force,addFroceobj.transform.position,ForceMode.Impulse); } }}设置完成后,运行游戏,当点击普通力按钮是,物体将会受到x轴方向上一个大小为1000的力的作用当点击位置力是,物体将会向我们的目标物体移动,力的方式为冲击力。好了,关于刚体就介绍这么多,下一次将介绍碰撞器的用法。
好东西好东西好东西。。。你看了么?| 欢迎光临 纳金网 (http://go.narkii.com/club/) | Powered by Discuz! X2.5 |