Unity中Rigidbody的属性 方法

article/2025/10/19 13:44:41

RIgidbody组件在这里插入图片描述

常用属性

Mass:质量 最小值0.00000001 最大值10000000000

Drag:阻力 最小值0 最大值无限

Angular Drag:角阻力 最小值0 最大值无限

Use Gravity:使用重力

is Kinematic:物理是否影响该物体(勾选时,不影响)

Interpolate:一个以固定的帧率平滑物理运行的插值(选择Interpolate时物理移动更平滑)

Collision Detection:碰撞检测
Discreate:离散的,快速移动的物体可能不会发生碰撞;
Continuous:连续的,适用于被快速移动的物体碰撞的物体;
Continuous Dynamic:动态连续的,适用于快速移动的物体

Constraints:限制
Freeze Position:在某个轴向上无法移动
Freeze Rotation:在某个轴向上无法旋转

常用方法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class rigidbodyTest : MonoBehaviour {private Rigidbody _rigidbody;// Use this for initializationvoid Start () {_rigidbody = transform.GetComponent<Rigidbody>();}// Update is called once per framevoid Update () {if (Input.GetKeyDown(KeyCode.Q)){_rigidbody.velocity = new Vector3(1,1,1); //给其一个速度矢量// _rigidbody.position = new Vector3(5,5,5);  //给其一个位置}if (Input.GetKeyDown(KeyCode.W)){_rigidbody.Sleep();//强制性使刚体休眠,不动了;休眠是性能优化的一个措施,物理引擎不会处理处于休眠状态的刚体;//刚体在以下情况会被唤醒:1,其他刚体碰撞器作用于休眠刚体。2,被其他刚体通过移动的关节连接//3,修改了刚体的属性。4,添加外力时}if (Input.GetKeyDown(KeyCode.E)){_rigidbody.WakeUp(); //强制唤醒一个刚体}if (Input.GetKeyDown(KeyCode.A)){_rigidbody.MovePosition(new Vector3(10,100,200));//给其一个位置}if (Input.GetKeyDown(KeyCode.S)){_rigidbody.freezeRotation = true; //开启則  刚体的XYZ轴全部冻结}if (Input.GetKeyDown(KeyCode.D)){_rigidbody.constraints = RigidbodyConstraints.FreezePositionY; //选择性冻结某一轴}if (Input.GetKeyDown(KeyCode.F)){_rigidbody.AddExplosionForce(50,new Vector3(0,0,0),20); //添加一个爆炸力}if (Input.GetKeyDown(KeyCode.R)){_rigidbody.AddForce(Vector3.forward*3,ForceMode.Acceleration); //沿着某一方向给刚体添加一个力}if (Input.GetKeyDown(KeyCode.T)){_rigidbody.AddTorque(transform.forward*10); //沿着某一方向添加一个扭矩}//_rigidbody.transform.Rotate(transform.up, Time.deltaTime); //基于transform的旋转//_rigidbody.angularVelocity = transform.right * Time.deltaTime;//基于刚体的旋转}private void OnTriggerEnter(Collider other){print(11);}private void OnTriggerStay(Collider other){print(22);}private void OnTriggerExit(Collider other){print(33);}private void OnCollisionEnter(Collision other){print(other.relativeVelocity); //两个碰撞物体的相对线性速度}
}

http://chatgpt.dhexx.cn/article/2U3TY7QM.shtml

相关文章

[Unity Mirror] Network Rigidbody

英文原文&#xff1a; https://mirror-networking.gitbook.io/docs/components/network-rigidbody Network Rigidbody目前被归类为“实验性”&#xff0c;因此请分享您发现的任何问题或错误&#xff0c;如果生产构建&#xff0c;请自担风险使用。 Network Rigidbody 组件通过网…

Unity Rigidbody实现爬坡功能

文章目录 &#x1f388; 简介&#x1f388; 实现原理&#x1f388; 实现代码 &#x1f388; 简介 人物移动功能的实现或许用到Character Controller组件或许用到Rigidbody刚体组件&#xff0c;前者可以直接实现在某些高地不平的地面上移动&#xff0c;而后者想要在具有一定角度…

UnityVR--组件2--Rigidbody--移动控制

移动的方式有transform.Translate&#xff08;&#xff09;、rigidbody.velocity&#xff08;&#xff09;、rigidbody.MovePosition&#xff08;&#xff09;等多种。本篇使用rigidbody的方式&#xff0c;并向着相机朝向的方向控制移动。也就是继上一篇“第三人称相机控制”&a…

第二十五章 Unity 刚体Rigidbody

在物理学中&#xff0c;静止和匀速直线运动是物体的平衡状态&#xff0c;如果给该物体施加某一个力的话&#xff0c;物体的平衡状态就会改变&#xff0c;当然这个真理的前提是理想状态。我们知道在现实世界中&#xff0c;由于重力和摩擦力的存在&#xff0c;任何一个物体都不可…

Unity:使用RigidBody

There are mainly two ways of moving a gameObject in Unity: 在Unity中移动游戏对象的方式主要有两种&#xff1a; Changing Position Coordintes: By directly changing the position of a gameObject without much consideration to its physics or other such components…

Rigidbody刚体组件详解

【组件界面】 【作用】 有刚体组件的物体受物理引擎控制&#xff0c;表现得像物理世界中的物体&#xff0c;例如受重力作用、受摩擦力推力等各种力作用、遇到墙会停下来不能穿过去。在Unity中&#xff0c;若某物体不带有碰撞器&#xff0c;仍会被穿过。碰撞器的作用在于检测空…

Unity API详解——Rigidbody类

Rigidbody类的功能是用来模拟GameObject对象在现实世界中的物理特性&#xff0c;包括重力、阻力、质量、速度等。对RIgidbody对象属性的赋值代码通常放在脚本的OnFixedUpdate()方法中。本博客主要介绍Rigidbody类的一些实例属性和实例方法&#xff0c;最后对Rigidbody类中功能相…

Unity 3D 刚体(Rigidbody)|| Unity 3D 刚体实践案例

Unity 3D 中的 Rigidbody 可以为游戏对象赋予物理特性&#xff0c;使游戏对象在物理系统的控制下接受推力与扭力&#xff0c;从而实现现实世界中的物理学现象。 我们通常把在外力作用下&#xff0c;物体的形状和大小&#xff08;尺寸&#xff09;保持不变&#xff0c;而且内部…

【Unity3D】刚体组件Rigidbody

1 前言 刚体&#xff08;Rigidbody&#xff09;是运动学&#xff08;Kinematic&#xff09;中的一个概念&#xff0c;指在运动中和受力作用后&#xff0c;形状和大小不变&#xff0c;而且内部各点的相对位置不变的物体。在 Unity3D 中&#xff0c;刚体组件赋予了游戏对象一些运…

【Unity】11.2 刚体(Rigidbody)

分类&#xff1a;Unity、C#、VS2015 创建日期&#xff1a;2016-05-02 一、简介 Rigidbody&#xff08;刚体&#xff09;组件可使游戏对象在物理系统的控制下来运动&#xff0c;刚体可接受外力与扭矩力&#xff0c;使游戏对象像在真实世界中那样进行运动。 任何游戏对象&…

【Physics】一、Rigidbody 刚体

文章目录 1、刚体组件2、刚体脚本2.1、获取刚体2.2、添加力2.3、Move 点击访问官网 物理系统 、刚体概述 、 刚体 (Rigidbody) 1、刚体组件 刚体 (Rigidbody) 使游戏对象的行为方式受物理控制。刚体可以接受力和扭矩&#xff0c;使对象以逼真的方式移动。任何游戏对象都必须包…

Unity物理组件之刚体Rigidbody

一、刚体组件简介 1、刚体简介 刚体&#xff1a;Rigidbody,属于物理类组件 作用&#xff1a;添加了刚体组件的游戏物体&#xff0c;可以在物体系统的控制下来运动&#xff0c;刚体可接受外力和扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体…

【Untiy学习笔记】Rigidbody组件及其常用函数

前言 提示&#xff1a;声明&#xff1a;此篇文章是个人学习笔记&#xff0c;并非教程&#xff0c;所以内容可能不够严谨。可作参考&#xff0c;但不保证绝对正确。如果你发现我的文章有什么错误&#xff0c;非常欢迎指正&#xff0c;谢谢哦。 本文大部分内容来自官方文档&…

mac快速锁屏方法

方法一. 快捷键&#xff1a;controlcommandQ。 方法二. 点击左上角apple logo&#xff0c;锁定屏幕。 方法三&#xff08;快捷方便&#xff09;. 系统偏好设置->调度中心->触发角->选一个角&#xff08;左上、左下、右上、右下&#xff09;->锁定屏幕或者将显示器…

mac修改cmd+ctrl+q锁定屏幕快捷键

mac里的cmdctrlq快捷键是系统快捷键&#xff0c;用作“锁定屏幕”&#xff1a; 这个快捷键优先级很高&#xff0c;导致无法设置其为其他应用快捷键&#xff08;如qq&#xff09;。 下面的方法可以把“锁定屏幕”改成其他快捷键&#xff0c;从而腾出cmdctrlq来给应用程序&#…

mac 设置mysql登录快捷键_史上最详细的苹果Macbook快捷键使用

电脑快捷键可以帮助你提高工作效率&#xff0c;是使用电脑过程中经常用到的&#xff0c;苹果电脑的快捷键和普通PC不太一样&#xff0c;对于新手来说&#xff0c;经常找不到或不知道快捷键是什么&#xff0c;经常要去查&#xff0c;所以这边系统城小编跟大家介绍macbook快捷键的…

Mac提高效率的快捷键

分享常用的一些快捷键&#xff0c;欢迎补充&#xff0c;一起提高办公效率 目录 常用按键介绍系统管理关机和睡眠偏好设置触摸板、键盘和鼠标 窗口管理&#xff08;最小化、关闭、退出&#xff09;目录&#xff08;文件夹&#xff09;文本和文件操作撤销、重做复制、剪切全选查找…

mac系统修改锁屏快捷键

mac 自带了锁屏的快捷键&#xff0c;我忘了是什么了,点击屏幕左上角的苹果图标&#xff0c;就能看到。反正比较麻烦&#xff0c;没windows下方便&#xff0c;。 习惯了在windows下&#xff0c;按winL键来锁屏。在mac下&#xff0c;怎么改成commandL来锁屏呢&#xff1f; 方法…

macbook 常用键盘快捷键大全 mac os 苹果电脑

为了让刚开始使用 Mac 的新手更快地上手&#xff0c;特整理了这一份“最值得你记住的 Mac 常用快捷键列表”&#xff0c;希望可以帮助到大家更快地学习和查找 macOS 的键盘快捷键&#xff0c;以此提高 Mac 的操作效率…… 与 Windows 的差异 一切开始前&#xff0c;我们先来认识…

mac键盘快捷键大全

macos下都有哪些Mac 键盘快捷键呢?不少果粉抱怨高上大的macbook不好用,相比于之前习惯了Windows操作的用户们,转战到mac的阵营还真是会觉得不大习惯呢。觉得不好用的朋友很可能就在于你不知道mac的这些快捷键呐,下文小编就为大家整理好mac的一些常用快捷键,需要的朋友快去…