Rigidbody组件刚体(Rigidbody)是Unity物理引擎中的重要组件,一个游戏对象添加了刚体组件以后就开始接受物理力学的影响了,比如重力、空气摩擦力、碰撞产生的推力

 

Learn

  相同高度不同重量物体下落时间

    相同重量不同空气阻力对物体的影响

  碰撞相关的三个事件

  触发器相关的三个事件

  

 

  创建一个场景Gary,新建四个Cube,一个作为地面,另外三个作为测试方块

  给Cube添加材质球(材质Material)  

  三个测试方块后改名  A、B、C

 

Unity3D_(物理引擎)Rigidbody组件

 

 

  给Cube添加Rigidbody组件

  Unity3D_(物理引擎)Rigidbody组件

 

  Mass:质量

  Drag:空气阻力

  Angular Drag:角阻力

  Use Gravity:使用重力

  Is Kinematic:是否使用动力学

  Interpolate:插值

  Collision Detection:碰撞检测

  Constraints:约束

 

 

相同高度不同重量物体下落时间

 

  修改A、B、C物体Mass的值

  A:Mass修改为10

  B:Mass修改为50

  C:Mass修改为100

 

Unity3D_(物理引擎)Rigidbody组件

 

  结论:不同质量的物体从同一高度自由落体至地面,到达地面的时间相同,最后的速度相同,但动能不相同,

 

 

 

相同重量不同空气阻力对物体的影响

 

  保持A、B、C物体Mass的值相同(10),修改其Drag(空气阻力)的值

  A:Drag修改为1

  B:Drag修改为10

  C:Drag修改为50

 

Unity3D_(物理引擎)Rigidbody组件

 

  结论:相同重量物体,空气阻力越小物体下落快,当物体重量和空气阻力相同时物体会保持下落,当物体重量小于空气阻力时,物体保持不动

  (当我把B物体空气阻力改为45时B物体还会保持下落,改为48时,B物体只会下滑0.0033高度,C物体空气阻力为50时在空中y轴值保持不变)

  

 

给A物体添加一个RigidTest.cs脚本

 

  AddForce()施加力

  AddTorque()施加力矩

  AddForceAtPosition()在指定位置施加力

  //AddExplosionForce()施加爆炸力

 

Unity3D_(物理引擎)Rigidbody组件

(测试时建议将A物体重力设置低一些,按1给物体施加力,按2给物体施加力矩,按3在指定位置给物体施加力)

 

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

public class RightText : MonoBehaviour {

    private Rigidbody r;
    // Use this for initialization
    void Start()
    {
        r = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.Alpha1))
        {
            //施加力
            r.AddForce(new Vector3(0f, 10f, 0f));
        }
        if (Input.GetKey(KeyCode.Alpha2))
        {
            //施加力矩
            r.AddTorque(new Vector3(0f, 10f, 0f));
        }
        if (Input.GetKey(KeyCode.Alpha3))
        {
            //在指定位置施加力
            r.AddForceAtPosition(new Vector3(0f, 10f, 0f), new Vector3(0.5f, 0.5f, 0.5f));
        }
    }
}
RightText.cs

相关文章:

  • 2021-10-25
  • 2021-08-11
  • 2021-06-02
  • 2022-12-23
  • 2021-06-18
  • 2021-11-03
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
  • 2021-08-30
相关资源
相似解决方案