bulletRigidBodyShape 节点

 
 
 

Bullet 动力学系统中使用的刚体形状。该节点来自 Bullet 插件。

节点名称 父对象 MFn 类型 兼容函数集
bulletRigidBodyShape   MPxLocatorNode  

属性

bulletRigidBodyShape 节点具有 41 个属性:

长名称(短名称) 类型 默认 标志

bodyType (bdytyp)

enum 1 可连接、可存储输入
此实体的运动特性类型。
  • 静态实体:不移动
  • 运动学刚体:可手工制作动画
  • 动力学刚体:在设置初始位置后由刚体系统移动。

neverSleeps (notslp)

bool false 可连接、可存储输入
动力学刚体从不睡眠/取消激活。可实现优化目的,有助于停止持续“混乱”运动。如果从不睡眠处于启用状态,则动力学刚体将始终参与模拟。如果从不睡眠处于禁用状态,则刚体不再参与线性速度的幅值低于 0.8 和角速度的幅值低于 1.0 的模拟。速度阈值当前未显示给用户控制。如果刚体受到影响,它将重新参与。

mass (ms)

float 1.0 可连接、可存储、可设置关键帧输入
对象的质量。如果 mass=0,则刚体将成为运动学刚体(可手工制作动画)。

centerOfMass (com)

float3 0.0, 0.0, 0.0 可连接、可存储输入
用作旋转枢轴的对象的质心。

linearDamping (lindamp)

float 0.0 可连接、可存储、可设置关键帧输入
实体的线性阻尼

angularDamping (angdamp)

float 0.0 可连接、可存储、可设置关键帧输入
实体的角度阻尼

friction (fric)

float 1.0 可连接、可存储、可设置关键帧输入
实体的摩擦力

restitution (restit)

float 0.0 可连接、可存储、可设置关键帧输入
实体的恢复

initiallySleeping (initslp)

bool false 可连接、可存储、可读取输入
动力学刚体在开始时进入睡眠/取消激活状态。这是为了实现优化目的。开始时睡眠仅影响最初处于静态的动力学刚体。如果启用了开始时睡眠,处于静态的动力学刚体将不会在开始时参与模拟,直到它接收某个影响。如果开始时睡眠处于禁用状态,处于静态的动力学刚体从开始时即参与模拟。

initialVelocity (iv)

float3 0.0, 0.0, 0.0 可连接、可存储输入

对象的初始速度

initialAngularVelocity (iav)

float3 0.0, 0.0, 0.0 可连接、可存储输入
对象的初始角(旋转)速度

inWorldMatrix (inwmat)

矩阵   可连接、可存储输入
动力学刚体的初始位置,以及运动学刚体的指定位置。

impulse (i)

float3 0.0, 0.0, 0.0 可连接、可存储、可设置关键帧输入
在指定时间应用于对象的冲量力

impulsePosition (ip)

float3 0.0, 0.0, 0.0 可连接、可存储、可设置关键帧输入
冲量力在指定的时间相对于质心应用于对象的位置。

torqueImpulse (ti)

float3 0.0, 0.0, 0.0 可连接、可存储、可设置关键帧输入
在指定时间应用于对象的扭矩(旋转)冲量力

colliderShapeType (colshtyp)

enum 1 可连接、可存储输入
用作刚体的碰撞对象形状的碰撞对象基本体或生成的碰撞对象。
  • 长方体:设置尺度的“范围”
  • 球体:设置“半径”
  • 胶囊:带球体封口的圆柱体。设置“半径”和“长度”。
  • 壳线:输入网格的凸面外壳。性能允许时优先于网格。
  • 网格:不一定是凸面的网格形状。限制:不能是动力学刚体。
  • 平面:沿 Y 轴指向上的带曲面法线的无限平面。限制:不能是动力学刚体。
  • 圆柱体:圆柱体。设置“半径”和“长度”。

inMesh (imesh)

网格   可连接、可存储的隐藏输入
碰撞对象作为网格的输入网格

axis (axis)

enum 1 可连接、可存储输入
为圆柱体或胶囊类型的刚体碰撞形状指定的轴。
  • X:X 轴
  • Y:Y 轴
  • X:Z 轴

length (len)

float 1.0 可连接、可存储输入
刚体碰撞对象的长度

radius (rad)

float 0.5 可连接、可存储输入
刚体碰撞对象的半径

extents (ext)

float3 1.0, 1.0, 1.0 可连接、可存储输入
刚体碰撞对象边界框的范围

currentTime (ct)

时间   可连接、可存储的隐藏输入
形状的当前时间。

startTime (st)

时间   可连接、可存储的隐藏输入
正在为形状初始化时间。REVISIT

inParentInverseMatrix (inpim)

矩阵   可连接、可存储输入
用于为 outSolvedTranslate 和 outSolvedRotate 计算局部空间值的 RigidBody 父对象逆矩阵

solverInitialized (solinit)

BulletSolverData::id   可连接、可存储输入
指向初始化解算器的 SolverData 指针。还可以确保以“新建/删除”和“添加/移除”的正确顺序处理数据。

solverUpdated (solup)

BulletSolverData::id   可连接、可存储输入
注意到已为当前时间步更新该解算器的 stub 参数

collisionFilterGroup (cfg)

int 0 可存储输入
碰撞过滤器组确定此刚体的碰撞组,默认情况下,刚体属于 DefaultFilter 组。第一个 16 位整数确定碰撞过滤器组。碰撞过滤器组的显示名称是由 Bullet 解算器的碰撞过滤器属性定义的。

collisionFilterMask (cfm)

int 0 可存储输入
碰撞过滤器遮罩确定其他哪些刚体可能与该实体发生碰撞,默认情况下该刚体将与属于 DefaultFilter 组的实体发生碰撞。  第一个 16 位整数确定碰撞过滤器遮罩。碰撞过滤器遮罩的显示名称是由 Bullet 解算器的碰撞过滤器属性定义的。

outColliderData (coldata)

BulletColliderData::id   可连接、可存储输出
碰撞对象形状数据(输出)

outRigidBodyData (rbdata)

BulletRigidBodyData::id   可连接、可存储输出
刚体数据(输出)

isDrivenBySimulation (isdriven)

bool false 可连接、可存储输出
返回的条件是:刚体受模拟驱动,或使用特定帧的关键帧值。值取决于帧编号、刚体类型和质量值。用于连接到 pairBlend 权重。

outPreSolverWorldTranslate (psowt)

float3 0.0, 0.0, 0.0 可连接、可存储输出
动力学刚体在被解算器更新(输出)之前的预解算平移(世界空间坐标)

outPreSolverWorldRotate (psowr)

float3 0.0, 0.0, 0.0 可连接、可存储输出
动力学刚体在被解算器更新(输出)之前的预解算旋转(世界空间坐标)

outPreSolverWorldScale (psows)

float3 0.0, 0.0, 0.0 可连接、可存储输出
动力学刚体在被解算器更新(输出)之前的预解算缩放(世界空间坐标)

outSolvedTranslate (sot)

float3 0.0, 0.0, 0.0 可连接、可存储输出
用于动力学刚体的已解算的平移(局部空间坐标)。通过模拟驱动的返回值。(输出)

outSolvedRotate (sor)

float3 0.0, 0.0, 0.0 可连接、可存储输出
用于动力学刚体的已解算的旋转(局部空间坐标)。通过模拟驱动的返回值。(输出)

outPreSolverWorldTranslate (psowt)

  可读取、可连接输出
动力学刚体在被解算器更新(输出)之前的预解算平移(世界空间坐标)

outPreSolverWorldRotate (psowr)

  可读取、可连接输出
动力学刚体在被解算器更新(输出)之前的预解算旋转(世界空间坐标)

outPreSolverWorldScale (psows)

  可读取、可连接输出
动力学刚体在被解算器更新(输出)之前的预解算缩放(世界空间坐标)

outSolvedWorldTranslate (sowt)

float3 0.0, 0.0, 0.0 可连接、可存储输出
用于动力学刚体的已解算平移(世界空间坐标)。始终返回值。(输出)

outSolvedWorldRotate (sowr)

float3 0.0, 0.0, 0.0 可连接、可存储输出
用于动力学刚体的已解算旋转(世界空间坐标)。始终返回值。(输出)