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 ...
随机推荐
- 人工智能AI从入门到精通所有视频教程(140G)以及数据资料免费拿
包含了人工智能AI从入门到精通所有视频教程(140G). 资料获取方式,关注公总号RaoRao1994,查看往期精彩-所有文章,即可获取资源下载链接 更多资源获取,请关注公总号RaoRao1994
- ConditionalOnProperty的使用
时间 2018-02-23 标签 ConditionalOnPropert SpringBoot 栏目 Spring 原文 http://blog.csdn.net/u010002184/art ...
- [工具]Hydra-爆破
语法 hydra [[[-l LOGIN | -L FILE] [-p PASS | -P FILE]] | [-C ...
- Django学习系列8:django测试客户端
"""向浏览器返回真正的HTML响应,添加一个新的测试方法""" from django.test import TestCase from ...
- Python核心技术与实战——十四|Python中装饰器的使用
我在以前的帖子里讲了装饰器的用法,这里我们来具体讲一讲Python中的装饰器,这里,我们从前面讲的函数,闭包为切入点,引出装饰器的概念.表达和基本使用方法.其次,我们结合一些实际工程中的例子,以便能再 ...
- FPDF_CHAR_INFO
typedef struct { FX_WCHAR m_Unicode; FX_WCHAR m_Charcode; FX_INT32 m_Flag; FX_FLOAT m_FontSize; FX_F ...
- 【优化】SPA项目的基础优化
开启gzip压缩功能 引入CDN 路由懒加载 某些第三方组件按需加载而不是全部加载 较小的图片资源用base64嵌入src中,减少http请求
- Vue props双向绑定
props是不能改变的 项目里遇到一个问题,就是props的组件内是不能改变,就像react中的props值也是不能改变的, 所以我在用的时候竟然忽略了这个点.真的要反省反省, 下面就是这个报错的问题 ...
- 《Head First 软件开发》阅读四
构建代码:自动化构建 代码的完成不只是能运行,还包括编译代码和打包成可配置的单元.学会一个构建工具来编写自己的说明处理源代码.新的团队成员需要立刻知道软件的关联组件和主要类去做测试,但开发人员不是心理 ...
- python中的文件读取
---恢复内容开始--- r模式,只读模式,不可写入,文件不存在会报错 #r模式,能读不能写,文件不存在会报错 f = open('a1.txt')#不写'r',默认只读 result = f.rea ...