一、刚体
物理引擎:
物理引擎能够真实的模拟物理效果
Unity中使用的是NVIDIA的PhysX物理引擎
在Unity中使用Rigidbody让游戏对象受物理引擎控制
在Unity里进行演示——创建一个Plane——染成绿色——创建一个Cube,悬空——染成红色!
正常情况下Cube不会悬空,因为受到重力的影响,cube不会悬浮。那么就要创建一个刚体组件——Rigidbody。
选中Cube——查找Rigidbody——添加到Cube上——然后重新运行场景,我们的Cube就从从空中下落到地面。
Rigidbody参数
Mass:质量1 只是用来决定物体的惯性的,物体的质量很轻,被撞击之后会飞的很远。
Drag:表示空气阻力的,想要游戏对象下落时慢一下,可以调整空气阻力
Angular Drag:角阻力,物体旋转的时候使用
Use Gravity:是否受到重力的影响
Is Kinematic :是否使用运动学,不在受到物理引擎的控制
Interpolate:差值 none无差值 Interpolate内差值 Extrapolate 外差值
Constraints Detection:碰撞检测 Discrete 离散碰撞检测(一般用) Continuous 连续碰撞检测 Continuous Dynamic 连续动态碰撞检测
Constraints:Freeze Position、Freeze Rotation
冻结Position
冻结Rotation
给Cube添加一个脚本Test,然后我们看一下刚体中的一些属性:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
void Start () {
Rigidbody rb = GetComponent<Rigidbody> ();
float mass= rb.mass;//质量
float drag= rb.drag;//空气阻力
rb.angularDrag;//角阻力
rb.useGravity;//当前游戏对象是否受到重力影响
rb.isKinematic;//是否使用运动学
rb.freezeRotation;//是否冻结游戏对象的旋转
}
}
推荐视频讲师博客:http://11165165.blog.51cto.com/