VMDL 附着点

From Valve Developer Community
Jump to: navigation, search
English

附着点由关节产生,并被偏移和旋转定义。在游戏里它们可以被用来做粒子发射,且物品附着点还有其他作用。附着点被储存在附着点列表中,并且他们可以有多个源(influence)。

显示

  • 开关附着点显示: 视窗(Display) > 附着点(Attachments)
  • 开关附着点名显示: 视窗(Display) > 附着点名(Attachment Names)

创建

编辑

  • 当一个附着点通过视窗或大纲项被选择,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[]
Note: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
Note:仅当有多个influence时改变influence的weight有效。
Tip:给没有关节的模型添加附着点时使用"Is Root"。