【Unity】什么是刚体(Rigidbody)?刚体怎么用?

1.添加刚体

为游戏物体添加一个刚体:
一个物体有了刚体,它就会受Unity模拟出的自然界中的力的影响了
【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第1张图片【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第2张图片【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第3张图片

2.Rigidbody组件参数

【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第4张图片
【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第5张图片
【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第6张图片
Drag(空气阻力)补充:
空气阻力越大,物体移动时受到的阻力就越大,力的衰减就越快。

Angular Drag(扭矩旋转时空气阻力)补充:
物体受到力后会旋转,Angular Drag就是物体旋转时受到的空气阻力,阻力越大 旋转力的衰减越快

Interpolate(插值运算)补充:
物理运算的更新是是可以通过Fixed Timestep来设置的,这个值越大,进行物理运算的帧更新间隔就会越久
【Unity】什么是刚体(Rigidbody)?刚体怎么用?_第7张图片
如果物理真更新时间设置的过长的话,就可以通过Interpolate(插值运算)来补救一下,让物体移动的更平滑一些
一般都用根据前一帧变换来实现平滑

3.刚体休眠机制

Unity为了节约性能,有时刚体运算一次之后会“睡着”
如果想让刚体一直不休眠:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson17 : MonoBehaviour
{
    //声明一个刚体变量
    Rigidbody rigid;

    void Start()
    {
        //得到刚体组件
        rigid = this.GetComponent<Rigidbody>();
    }
    private void Update()
    {
        //获取刚体是否处于休眠状态,如果是 就唤醒它
        if (rigid.IsSleeping())
        {
            //唤醒的方法
            rigid.WakeUp();
        }
    }
}

你可能感兴趣的:(Unity_学习笔记整理,unity,游戏引擎)