Unity3D-Rigidbody
挂载Rigidbody的Gameobject受物理引擎的作用,有真实的物理力学。

Mass质量:物体的质量(任意单位)。建议一个物体的质量不要多余或少于其他单位的100倍。
Drag阻力:当受力移动时物体收到的空气阻力。0表示没有空气阻力,极大时物体立即停止运动。
Angular Drag角阻力:当受扭力旋转的时候物体受到空气阻力。0表示没有空气阻力,极大时物体立即停止运动。
Use Gravity使用重力:若激活,物体受重力影响。
Is Kinematic是否运动学:若激活,物体不受物理引擎驱动,而只能通过变换来操作。适用于模拟的平台或者模拟模拟受铰链关节连接的刚体。
Interpolate插值:当你发现刚体运动时抖动,可以尝试下面选项。
- None无:No Interpolation is applied。不引用插值。
- Interpolate内插值:基于上一帧的变换来平滑本帧变换。
- Extrapolate外插值:基于下一帧的预估变换来平滑本帧变换。
Collision Detection碰撞检测:碰撞检测模式。用于避免高速物体穿过其他物体,却未触发碰撞。
- Discrete不连续:不连续碰撞检测。使用不连续碰撞检测模式来与场景中其他碰撞器进行碰撞检测。其他物体与它的碰撞检测也会应用这种模式。适用于普通碰撞(默认)。
- Continuous连续:连续碰撞检测。使用不连续碰撞检测来检测与动态碰撞器(刚体)的碰撞,使用连续碰撞检测来检测与静态网格(非刚体)的碰撞检测。采用连续动态碰撞检测模式的刚体碰见这类物体也将采用连续碰撞检测模式,而与其他刚体将采用不连续碰撞检测模式。这种模式适用于那些采用连续动态碰撞模式的物体碰撞的物体。(这对物理表现有很大的影响,如果你不关心与高速物体的碰撞,那就用默认的不连续模式)
- Continous Dynamic动态连续:连续动态碰撞检测。使用连续碰撞动态碰撞检测方式来检测与连续模式和连续动态模式的物体间的碰撞。也适用于静态网格(非刚体)的碰撞检测。而与之碰撞的其他模式的物体,采用的不连续动态碰撞检测模式。适用于高速物体。
Constraints约束:对刚体运动的约束。
Freeze Position冻结位置:刚体在世界中沿所选x、y、z移动无效。
Freeze Rotation冻结旋转:刚体在世界中沿所选x、y、z旋转无效。
只能通过transform改变。
Collider碰撞组件:用于检测俩个都携带Collider组件的GameObject碰撞。有以下属性:
isTrigger:碰撞器是否是触发器(可以穿越)
material:碰撞器所使用的物理材质
总结:
俩个物体要碰撞必须都有Collider,其中一个必须添加Rigidbody(最好在其中移动的物体添加)
俩个物体有一个勾选isTrigger则会穿越:
OnTriggerEnter();
OnTriggerExit();
OnTriggerStay();
否则进行碰撞:
OnCollisionEnter();
OnCollisionExit();
OnCollisionStay();
Properties变量
| angularDrag | 角阻力 |
| angularVelocity | 角速度 |
| centerOfMass | 相对于原点变换的质心 |
| collisionDetectionMode | 碰撞检测模式 |
| constraints | 控制刚体模拟的自由度 |
| detectionCollisions | 碰撞检测是否应用 |
| drag | 阻力 |
| freezeRotion | 控制是否改变物体旋转 |
| inertia Tensor | 相对于重心质量的惯性张量对角线 |
| inertia TensorRotation | 惯性张量的旋转 |
| interpolation | 平滑插值 |
| isKinematic | 是否运动学 |
| mass | 质量 |
| maxAngularVelocity | 最大角速度 |
| maxDepenetrationVelocity | 当非穿透状态,刚体的最大速度 |
| position | 位置 |
| rotation | 旋转角度 |
| sleepThreshold | 哪个对象开始进入休眠状态,质量归一的能力阈值 |
| solverIterationCount | 允许你覆盖刚体求解的迭代次数 |
| useConeFriction | 用于该刚体的锥形摩擦力 |
| useGravity | 是否使用重力 |
| velocity | 速度 |
| worldCenterOfMass | 世界坐标中间的刚体的重心 |
Public Functions 公共方法
| Add ExplosionForce | 添加一个爆炸力 |
| AddForce | 添加一个力 |
| AddForceAtPositon | 在position位置加一个力 |
| AddRelativeForce | 添加力到刚体相对于它的局部坐标 |
| Add relativeTorque | 相对于它的局部坐标添加扭力 |
| AddTorque | 添加扭矩到刚体 |
| ClosestPointOnBounds | 指定位置到刚体附加碰撞器的最近点 |
| GetPointVelocity | 刚体在世界坐标,worldPoint速度 |
| GetRelativePointVelocity | 刚体在局部坐标点速度 |
| IsSleeping | 刚体是否在休眠 |
| MovePosition | 移动新位置 |
| MoveRotation | 旋转到新的角度 |
| ResetCenterOfMass | 重置质心 |
| ResetInertiaTensor | 重置惯性张量何旋转 |
| SetDensity | 设置基于碰撞器的密度质量 |
| Sleep | 强置刚体休眠 |
|
SweepTest |
如果一个刚体碰到任何东西触发测试(给刚体一个类似Physic.Raycast) |
| SweepTestAll | 返回所有碰撞信息 |
| WakeUp | 强制一个刚体唤醒 |
Unity3D-Rigidbody的更多相关文章
- unity3d中 刚体(Rigidbody) 碰撞体(Collider) 触发器(Is Trigger)
刚体(Rigidbody)的官方(摘自Unity3d的官方指导书<Unity4.x从入门到精通>)解释如下: Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可 ...
- Unity3d 物理 Rigidbody预防穿插
Unity3d 物理 Rigidbody预防穿插 @广州小龙 Unity的物理引擎采用的是Physx引擎,里面的组件是Rigidbody!这个可以模拟物理效果! Rigidbody,这个是可以进行穿插 ...
- unity3d 通过添加rigidBody来指明物体是动态的,以避免cache开销
unity3d 通过添加rigidBody来指明物体是动态的,以避免cache开销. 如果不添加rigidBody,则unity会认为它是静态的,会对物理计算进行cache,但如果此物体实际上tran ...
- Unity3d刚体Rigidbody与碰撞检测Collider
做了一个碰撞的小Demo,用一个球去撞击一堵墙,结果在球和墙都设置了刚体和碰撞体的情况下,球穿过了墙.移动球的位置,球有时能穿过墙,有时会被墙阻挡. 对于球穿过了墙,这个问题,在网上找了一下答案,基本 ...
- [原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)
在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...
- Unity3D碰撞器事件测试(Rigidbody/Kinematic/Trigger/Collider)
1.Kinematic和刚体之间的碰撞事件 Unity官方有一个详细的碰撞关系表:http://docs.unity3d.com/Manual/CollidersOverview.html 但其实可以 ...
- 使用Unity3D的设计思想实现一个简单的C#赛车游戏场景
最近看了看一个C#游戏开发的公开课,在该公开课中使用面向对象思想与Unity3D游戏开发思想结合的方式,对一个简单的赛车游戏场景进行了实现.原本在C#中很方便地就可以完成的一个小场景,使用Unity3 ...
- Unity3D游戏开发初探—3.初步了解U3D物理引擎
一.什么是物理引擎? 四个世纪前,物理学家牛顿发现了万有引力,并延伸出三大牛顿定理,为之后的物理学界的发展奠定了强大的理论基础.牛顿有句话是这么说的:“如果说我看得比较远的话,那是因为我站在巨人的肩膀 ...
- Unity3D游戏开发初探—4.开发一个“疯狂击箱子”游戏
一.预备知识—对象的”生“与”死“ (1)如何在游戏脚本程序中创建对象而不是一开始就创建好对象?->使用GameObject的静态方法:CreatePrimitive() 以上一篇的博文中的“指 ...
- Unity3D 5.x 简单实例 - 脚本编写
1,Vector3 类型变量存储向量坐标值 Vector3.forward Vector3(0,0,1) Vector3.up Vector3(0,1,0) Vector3.right Vector3 ...
随机推荐
- inetd - 因特网“超级服务”
总览 inetd - [ -d ] [ -q 队列长度 ] [ 配置文件名 ] 描述 inetd通常在系统启动时由/etc/rc.local引导.inetd会监听指定internet端口是否有连接要求 ...
- 一、Vue CLI
一.Vue CLI https://cli.vuejs.org/zh/guide/installation.html 介绍: 二.安装 # 安装 Vue Cli npm install -g @vue ...
- oracle pl/sql 程序设计 历史笔记整理
20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/yjkhecc@10.85.23.92:1521/orcl 在java ...
- Spring + Mybatis 企业应用实战 第1章 Java EE应用
Java EE应用的分层模型: Domain Object 领域对象层.就是一些pojo. DAO(data access object) 数据访问对象 Service 业务逻辑层 Controlle ...
- PHP三种字符串界定符的区别(单引号,双引号,<<<)
单引号,双引号,<<<的区别如下: 前续:今天突然遇到了<<<EOT,可在运行的时候出错了,所以就度娘了下. 1.单引号:’a string’ \’是唯一的转 ...
- Vue路由参数设置可有可无
参数后面使用 ? id 后面加个 ‘ ? ’ ,将 id 设置为可选参数 { name: "index", path: '/p/:id?', component: resolve ...
- 对vue的solt的理解
//父 <children> <span>12345</span>//这边不会显示 </children> //子 components: { chil ...
- Mysql 获取成绩排序后的名次
其实就是输出mysql的排序后的行号 RT:获取单个用户的成绩在所有用户成绩中的排名 可以分两步: 1.查出所有用户和他们的成绩排名 ) as rowNo from t_user, () ) ...
- BZOJ 2731 Luogu P3219 [HNOI2012]三角形覆盖问题 (扫描线)
题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=2731 (luogu)https://www.luogu.org/probl ...
- Intellij Idea Spring Boot 热部署
1. POM 文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...