VMDL 附着点
< Zh | Dota 2 Workshop Tools
附着点由关节产生,并被偏移和旋转定义。在游戏里它们可以被用来做粒子发射,且物品附着点还有其他作用。附着点被储存在附着点列表中,并且他们可以有多个源(influence)。
Contents
显示
- 开关附着点显示: 视窗(Display) > 附着点(Attachments)
- 开关附着点名显示: 视窗(Display) > 附着点名(Attachment Names)
创建
- 在大纲(outliner)中右键单击一个关节项,并选择 增加附着点(Add Attachment)。
- 用 模型(Model) > 附着点(Attachments) 菜单选项。
编辑
- 当一个附着点通过视窗或大纲项被选择,gizmo便可以使用了。用gizmo来转移和旋转附着点。
- 当附着点被选择时,其可编辑的属性可以通过属性编辑器编辑。
数据结构(Data Structures)
VMDL附着点的数据结构如下:
CVattachmentListReference[] m_pAttachmentLists =
[
CVattachmentListReference
{
CVattachmentList* m_pObject = &CVattachmentList_0
string m_sFileName = ""
}
]
m_pAttachmentLists
CVattachmentListReference中元素的列表。
CVattachmentListReference
对内部或外部CVattachmentList的参考:
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_pObject | 内部CVattachmentList的指针 | CVattachmentList* | ||
m_sFileName | 外部CVattachmentList的有关路径 | string |
CVattachmentList配置列表如下:
CVattachmentList CVattachmentList_0
{
string m_name = ""
CVattachment[] m_attachments =
[
CVattachment
{
string m_name = "test"
CVattachmentInfluence[] m_influences =
[
CVattachmentInfluence
{
string m_influenceName = "spine1"
float(3) m_vTranslationOffset = ( 0.000000, 0.000000, 0.000000 )
float(3) m_vRotationOffset = ( 0.000000, 0.000000, 0.000000 )
float m_flWeight = 1.000000
bool m_bRoot = false
}
]
}
]
}
CVattachmentList
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_name | Name | 附着点列表名称 | string | |
m_attachments | Attachments | CVattachment元素的列表 | CVattachment[] |
注意:CVattachmentList被保存为 ".attach" 文件当它被制作成外部文件
CVattachment
附着点数据的解释:
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_name | Name | 附着点列表的名称 | string | |
m_influences | Influences | CVattachmentInfluence元素的列表 | CVattachmentInfluence[] |
CVattachmentInfluence
对influence数据的解释:
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_influenceName | Influence Name | influence的名称 | string | |
m_vTranslationOffset | Translation | influnce的平移 | float(3) | ( 0.000000, 0.000000, 0.000000 ) |
m_vRotationOffset | Rotation | influnce的旋转 | float(3) | ( 0.000000, 0.000000, 0.000000 ) |
m_flWeight | Weight | influence的weight | float | 1.0 |
m_bRoot | Is Root | 是否是模型的root | bool | true |
注意:仅当有多个influence时改变influence的weight有效。
提示:给没有关节的模型添加附着点时使用"Is Root"。