首页 > 代码库 > 【蓝鸥Unity开发基础三】课时14 刚体

【蓝鸥Unity开发基础三】课时14 刚体

【蓝鸥Unity开发基础三】课时14 刚体

一、刚体

物理引擎:

物理引擎能够真实的模拟物理效果

Unity中使用的是NVIDIAPhysX物理引擎

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 连续动态碰撞检测

ConstraintsFreeze  PositionFreeze  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/


【蓝鸥Unity开发基础三】课时14 刚体