龙图教育:Unity3D内置了Physx物理引擎系统简单介绍
Unity内置了NVIDIA的Physx物理引擎Physx是目前使用最为广泛的物理引擎被很多游
戏大作所采用开发者可以通过物理引擎高效、逼真地模拟刚体碰撞、车辆驾驶、布料、重力
等物理效果使游戏画面更加真实而生动。
Rigidbody刚体组件可使游戏对象在物理系统的控制下来运动刚体可接受外力与扭矩力用
来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才能受到
重力的影响通过脚本为游戏对象添加的作用力以及通过NVIDIA物理引擎与其他的游戏对
象发生互动的运算都需要游戏对象添加了刚体组件。
依次打开GameObject->CreateEmpty创建一个空游戏对象然后选择该对象打开菜单栏
中的Component->Physics->Rigidbody如下图
Rigidbody组件的属性面板如下图
Mass质量该项用于设置游戏对象的质量
Drag阻力当对象受力运动时受到的空气阻力0表示没有空气阻力阻力极大时游戏对象会立
即停止运动
AngularDrag当对象受扭矩力旋转时受到的空气阻力0表示没有空气阻力阻力极大时游戏
对象会立即停止运动
UGravity使用重力若开启此项游戏对象会受到重力的影响
IsKinematic是否开启动力学若开启此项游戏对象将不再受物理引擎的影响从而只能通过
Transform属性来对其操作
Interpolate插值该项用于控制运动的抖动情况有3项可以选择None没有插值Interpolate
内插值基于前一帧的Transform来平滑此次的TransformExtrapolate外插值基于下一帧
的Transform来平滑此次的Transform
CollisionDetection碰撞检测该属性用于控制避免高速运动的游戏对象穿过其他的对象而
未发生碰撞有3项可以选择Discrete离散碰撞检测该模式与场景中其他的所有碰撞体进行
碰撞检测Continuous连续碰撞检测ContinuousDynamic连续动态碰撞检测模式
Constraints约束该项用于控制对于刚体运动的约束
Collides碰撞体碰撞体是物理组件的一类它要与刚体一起添加到游戏对象上才能触发碰撞。
如果两个刚体相互撞在一起除非两个对象有碰撞体时物理引擎才会计算碰撞在物理模拟中
没有碰撞体的刚体会彼此相互穿过
选中游戏对象打开菜单栏中的Component->Physics->。。。如下图
BoxCollider盒碰撞体盒碰撞体是一个立方体外形的基本碰撞体该碰撞体可以调整为不同
大小的长方体可用作门、墙、以及平台等也可以用于布娃娃的角色躯干或者汽车等交通工具
的外壳当然最适合用在盒子或是箱子上属性如下图
IsTrigger触发器勾选该项则该碰撞体可用于触发事件并将被物理引擎所忽略
Material材质
Center中心碰撞体在对象局部坐标中的位置
Size大小碰撞体再X、Y、Z方向上的大小
SphereCollider球形碰撞体球形碰撞体是一个基于球体的基本碰撞体球体碰撞体的三维大
小可以均匀等地调节但不能单独调节某个坐标轴方向的大小该碰撞体适用于落石、乒乓球等
游戏对象
Radius半径球形碰撞体的大小
CapsuleCollider胶囊碰撞体胶囊碰撞体由一个圆柱体和与其相连的两个半球体组成是一
个胶囊形状的基本碰撞体胶囊碰撞体的半径和高度都可以单独调节可用在角色控制器或与
其他不规则形状的碰撞结合来使用
Height高度该项用于控制碰撞体中圆柱的高度
Direction方向在对象的局部坐标中胶囊的纵向方向所对应的坐标轴默认是Y轴
MeshCollider网格碰撞体网格碰撞体通过获取网格对象并在其基础上构建碰撞在与复杂
网格模型上使用基本碰撞相比网格碰撞体要更加精细但会占用更多地系统资源
SmoothSphereCollisions平滑碰撞在勾选该项后碰撞会变得平滑
Mesh网格获取游戏对象的网格并将其作为碰撞体
Convex凸起勾选该项则网格碰撞体将会与其他的网格碰撞体发生碰撞
WheelCollider车轮碰撞体车轮碰撞体是一种针对地面车辆的特殊碰撞体它有内置的碰撞
检测、车轮物理系统以及滑胎摩擦的参考体
SuspensionDistance悬挂距离该项用于设置车轮碰撞体悬挂的最大伸长距离按照局部坐
标来计算悬挂总是通过其局部坐标的Y轴延伸向下
Center中心该项用于设置车轮碰撞体在对象局部坐标的中心
SuspensionSpring悬挂弹簧该项用于设置车轮碰撞体通过添加弹簧和阻尼外力使得悬挂
达到目标位置
ForwardFriction向前摩擦力当轮胎向前滚动时的摩擦力属性
SidewaysFriction侧向摩擦力当轮胎侧向滚动时的摩擦力属性
CharacterController角色控制器角色控制器主要用于对第三人称或第一人称游戏主角的
控制并不使用刚体物理效果
charactercontroller组件属性如下图
SlopeLimit坡度限制该项用于设置所控制的角色对象只能爬上小于或等于该参数值的斜坡
StepOfft台阶高度该项用于设置所控制的角色对象可以迈上的最高台阶的高度
SkinWidth皮肤厚度该参数决定了两个碰撞体可以相互渗入的深度较大的参数值会产生抖
动的现象较少的参数值会导致所控制的游戏对象被卡住较为合理地设定上是该参数值为
Radius值的10%
MinMoveDistance最小移动距离如果所控制的角色对象的移动距离小于该值则游戏对象
将不会移动
Center中心该参数决定了胶囊碰撞体再世界坐标中得位置
Radius:半径胶囊碰撞体的长度半径
Height高度该项用于设置所控制的角色对象的胶囊碰撞体的高度
InteractiveCloth交互布料交互布料组件可在一个网格上模拟类似布料的行为状态
SkinnedCloth蒙皮布料蒙皮布料组件与蒙皮网格渲染器一起用来模拟角色身上的衣服如
果角色动画使用了蒙皮网格渲染器那么可以为其添加一个蒙皮布料使其看起来更加真实、生
动
ClothRenderer布料渲染器
HingeJoint铰链关节铰链关节由两个刚体组成该关节会对刚体进行约束使得它们就好像被
连接再一个铰链上那样运动它非常适用于对门的模拟也适用于对模型及钟摆等物体的模拟
FixedJoint固定关节固定关节组件用于约束一个游戏对象对另一个游戏对象的运动
SpringJonit弹簧关节弹簧关节组件可将两个刚体连接在一起使其像连接着弹簧那样运动
CharacterJoint角色关节主要用于表现布娃娃效果它使扩展的球关节可用于限制每一个轴
向上的关节
ConfigurableJoint可配置关节可配置关节组件支持用户自定义关节它开放了physx引擎
中所有与关节相关的属性因此可像其他类型的关节那样来创造各种行为
力场是一种为刚体快速添加恒定作用力的方法适用于类似火箭等发射出来的对象这些对象
在起初并没有很大的速度但却是再不断加速的
想要学U3D的童鞋可以来龙图教育,龙图教育是一家专业做互联网教育品牌的教育机构,
线上线下都有,想要学到更多有关U3D的知识可以直接访问龙图教育官网。联系扣扣:
318-961-3107
本文发布于:2022-12-30 18:48:47,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/60962.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |