unity十二 刚体

一、刚体 Rigidbody 参数简介。

Mass:质量
Drag:组里。当游戏对象受力运动时受到的空气阻力。0表示没有空气阻力,阻力极大是游戏对象会立即停止运动。
Angulular Drag:角阻力。当游戏对象受扭矩力旋转时受到的控制阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止旋转。
Use Gravity:使用重力。若开启此项,游戏对象会受到重力的影响。
Is Kinematic:是否开启动力学。若打开这个参数,那么物体不会再受Rigidbody 的影响,跟没有加 Rigidbody 是一样的效果,只能通过 Transform 组件属性对其操作。应用场景:可以加上刚体,当不需要刚体的时候打上勾,需要的时候再去掉勾。比如电梯,当向上走时,我把这个勾上,利用 Transform 使电梯向上走。
Interpolate:插值。该项 用于控制刚体的运动的抖动情况,有三个选项可供选择。

  1. None ,没有插值。
  2. Interpolate:内插值。基于前一帧的 Transform 来平滑此次的 Transform
  3. Extrapolate:外插值。基于下一帧的 Transform 来平滑此次的 Transform。

Collision Detection:碰撞检测。该属性用于控制高速运动的游戏对象穿过其他的对象而未发生碰撞,有三个选项可供选择。默认是 Discrete,另外两项:Continous、Continuous Dynamic 都是连续检测碰撞,用于检测高速运动物体,最后一项检测频率最高。

Constraints:约束。该项用于控制对于刚体运动的约束。

  1. Freeze Position:冻结位置。刚体对象在世界坐标系的 X、Y、Z轴方向上的移动将无效。
  2. Freeze Rotation:冻结旋转。刚体对象在世界坐标系中的 X、Y、Z 轴方向上的旋转无效。

在这里插入图片描述

刚体的应用

学习使用AddForce方法,该方法给添加刚体的对象添加一个力。
AddForce有两个参数:1、力的方向。2、力的模式(可选)
刚体遵循动量守恒定力 ft = mv,下面介绍的力的模式跟动量守恒定力有关。
关于力的模式有几种:

  1. ForceMode.Force:默认方式,给物体添加一个持续力。
  2. ForceMode.Acceleration :可持续加速度。会忽略刚体的实际质量而采用默认值1.0f。
  3. ForceMode.Impulse : 瞬间冲击力。把 t 的值默认为1。只有一开始有个力,然后就不给力了。
  4. ForceMode.VelocityChange:直接改变速度大小,采用默认质量为1.0,同时也忽略系统的实际帧频间隔,采用默认间隔1.0

其中ForceMode.Force、ForceMode.Impulse 这两个用的比较多。
写一个例子,关于这个方法。

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

public class DaPao : MonoBehaviour
{
    public GameObject pullet;

    public Transform pulletPosition;

    public int power=500;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
        if (Input.GetKeyDown(KeyCode.Space))
        {
           GameObject a  = Instantiate(pullet, pulletPosition.position,pulletPosition.rotation);
//            a.GetComponent<Rigidbody>().AddForce((Vector3.forward+Vector3.up)*power,ForceMode.Force);
            a.GetComponent<Rigidbody>().AddForce((Vector3.forward)*power,ForceMode.Force);
            Destroy(a,5);
        }
    }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小~小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值