VMDL 物理网格
< Zh | Dota 2 Workshop Tools
物理网格(PhysicsMesh)代表一个模型的碰撞体积。
显示
- 切换物理网格显示,选择 视窗(Display) > 触碰体积(Collision Geo)。
创建
编辑
- 网格可在大纲窗口(outliner),物理网格列表(Physics Mesh List) 菜单项下选择。
- 选中一个物理网格,在属性编辑器中编辑。
数据结构(Data Structures)
VMDL物理网格数据结构如下:
CVphysicsMeshList m_physicsMeshList = CVphysicsMeshList
{
CVphysicsMesh[] m_meshList =
[
CVphysicsMesh
{
string m_meshName = "sdk_static_prop_physics"
string m_meshFile = "models/sdk_static_prop/fbx/sdk_static_prop_physics.fbx"
bool m_bUseExactGeometry = false
bool m_bAutoMass = true
float m_flMassOverride = 100.000000
bool m_bOneConvexPiece = true
bool m_bConcavePerJoint = false
bool m_bSelfCollisions = false
bool m_bForceKinematic = false
bool m_bIgnoreScale = false
bool m_bIgnoreSkeleton = false
}
]
}
m_physicsMeshList
一个CVphysicsMesh元素列表。
注意:一个VMDL可以 有多个物理网格。网组和LOD组将根据名字归属于网格。
CVphysicsMesh
物理网格的数据描述。
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_meshName | Mesh Name | 网格名 | string | |
m_bUseExactGeometry | Use Exact Geometry | 不实用凸面代替精准几何 | bool | false |
m_bAutoMass | Auto Mass | 使用自动块运算 | bool | true |
m_flMassOverride | Mass Override | 如果没有开启自动块运算使用这个代替 | float | 100.0 |
m_bOneConvexPiece | One Convex Piece | 凸面作为一个对象,如果关闭将产生多个凸面 | bool | false |
m_bConcavePerJoint | Concave Per Joint | 创建关节外壳 | bool | false |
m_bSelfCollisions | Self Collisions | 自身碰撞 | bool | false |
m_bForceKinematic | Force Kinematic | 给物体强制赋予运动属性 | bool | false |
m_bIgnoreScale | Ignore Scale | 忽略比列 | bool | false |
m_bIgnoreSkeleton | Ignore Skeleton | 忽略骨骼 | bool | false |
注意:物体强制运动、忽略比例和忽略骨架可能是暂时的并且不会对已经编译的网格产生影响。