这篇条目有关 Source 2引擎。如需详情,点击这里。

Zh/VMDL: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
mNo edit summary
m (Nescius moved page Zh/VMDL (Source 2) to Zh/VMDL)
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Dota 2Tools topicons}}
{{LanguageBar}}
{{lang|Dota_2_Workshop_Tools/Modeling/VMDL|title=VMDL}}
{{Source 2 topicon}}
{{Subpage|[[Dota_2_Workshop_Tools:zh-cn|Dota 2 创意工坊工具集]]|[[Dota_2_Workshop_Tools/Modeling:zh-cn|Modeling:zh-cn]]}}
 
<!--------------->
<!-- Substance -->
<!--------------->
带有 ''VMDL'' 扩展名的文件是内容端的文本文件,利用工具能够编译出游戏端的二进制文件(''VMDL_C'')。
带有 ''VMDL'' 扩展名的文件是内容端的文本文件,利用工具能够编译出游戏端的二进制文件(''VMDL_C'')。


一个模型被存在[[Dota 2 Workshop Tools:zh-cn/Model Editor:zh-cn|模型编辑器]]中后,会写出VMDL文件。当VMDL数据有更新时,或工具检测到变化,便会编译模型。
一个模型被存在{{mdledit|4}}中后,会写出VMDL文件。当VMDL数据有更新时,或工具检测到变化,便会编译模型。


== 参考文档 ==
== 参考文档 ==
 
* [[/Animation|动画(Animation)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/Animation:zh-cn|动画(Animation)]]
* [[/Attachments|附着点(Attachments)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/Attachments:zh-cn|附着点(Attachments)]]
* [[/Hitboxes|击中范围(Hitboxes)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/Hitboxes:zh-cn|击中范围(Hitboxes)]]
* [[/Internal External References|内外部引用(Internal External References)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/Internal External References:zh-cn|内外部引用(Internal External References)]]
* [[/LodGroup|细节等级群组(LodGroup)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/LodGroup:zh-cn|细节等级群组(LodGroup)]]
* [[/MaterialGroups|材质群组(MaterialGroups)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/MaterialGroups:zh-cn|材质群组(MaterialGroups)]]
* [[/MaterialRemap|材质映射(MaterialRemap)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/MaterialRemap:zh-cn|材质映射(MaterialRemap)]]
* [[/Mesh|网格(Mesh)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/Mesh:zh-cn|网格(Mesh)]]
* [[/MeshGroup|网格群组(MeshGroup)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/MeshGroup:zh-cn|网格群组(MeshGroup)]]
* [[/PhysicsMesh|物理网格(PhysicsMesh)]]
* [[Dota 2 Workshop Tools:zh-cn/VMDL:zh-cn/PhysicsMesh:zh-cn|物理网格(PhysicsMesh)]]


== 注意事项 ==
== 注意事项 ==
Line 48: Line 44:
== 大型实例 ==
== 大型实例 ==


一个空白CMDL文件如下:
一个空白VMDL文件如下:


<source lang="cpp">
<source lang="cpp">
Line 121: Line 117:


== 引用链接 ==
== 引用链接 ==
* [[Dota 2 Workshop Tools:zh-cn/Model Editor:zh-cn|模型编辑器]]
* {{mdledit|4}}


[[Category:VMDL]]
{{ACategory|Source 2|V}}
[[Category:Dota 2 Workshop Tools]]
{{ACategory|File formats|V}}
[[Category:AMHC 汉化]]
{{ACategory|Files|V}}
{{ACategory|VMDL|V}}

Latest revision as of 14:48, 23 August 2024

English (en)中文 (zh)Translate (Translate)

带有 VMDL 扩展名的文件是内容端的文本文件,利用工具能够编译出游戏端的二进制文件(VMDL_C)。

一个模型被存在模型编辑器 模型编辑器中后,会写出VMDL文件。当VMDL数据有更新时,或工具检测到变化,便会编译模型。

参考文档

注意事项

  • 每个VMDL文件的第一行是定义构架的文本,这并不是文件的唯一ID或是其他任意特性。
  • VMDL里的文件路径,是相对于当前游戏的内容目录里。
  • 元素引用的名称可以是内部的,也可以引用一个外部文件路径。
  • 一个VMDL文件可以在没有提供全部字段的情况下被编译。

这个例子将会编译一个简单的静态道具:

<!-- schema text {7e125a45-3d83-4043-b292-9e24f8ef27b4} generic {198980d8-3a93-4919-b4c6-dd1fb07a3a4b} -->
CVModel CVModel_0
{
	CVmeshList m_meshList = CVmeshList
	{
		CVmesh[] m_meshList = 
		[
			CVmesh
			{
				string m_meshName = "test"
				string m_meshFile = "models/test/dmx/mesh/test.dmx"
			}
		]
	}	
}

大型实例

一个空白VMDL文件如下:

<!-- schema text {7e125a45-3d83-4043-b292-9e24f8ef27b4} generic {198980d8-3a93-4919-b4c6-dd1fb07a3a4b} -->
CVModel CVModel_0
{
	CVmeshList m_meshList = CVmeshList
	{
		CVmesh[] m_meshList = 
		[
			
		]
	}
	CVphysicsMeshList m_physicsMeshList = CVphysicsMeshList
	{
		CVphysicsMesh[] m_meshList = 
		[
			
		]
	}
	CVmodelInfo* m_pModelInfo = NULL
	CVhitBoxSetListReference[] m_pHitBoxSetLists = 
	[
		
	]
	CVattachmentListReference[] m_pAttachmentLists = 
	[
		
	]
	CVanimGroupReference[] m_pAnimGroups = 
	[
		
	]
	CVNodeMaterialGroupListReference m_pMaterialGroupList = CVNodeMaterialGroupListReference
	{
		NodeMaterialGroupList_t* m_pObject = NULL
		string m_sFileName = ""
	}
	CVMeshGroupListReference m_pMeshGroupList = CVMeshGroupListReference
	{
		MeshGroupList_t* m_pObject = NULL
		string m_sFileName = ""
	}
	CVLODGroupListReference m_pLodGroupList = CVLODGroupListReference
	{
		LODGroupList_t* m_pObject = NULL
		string m_sFileName = ""
	}
	CVpropBreakableListReference m_pPropBreakableList = CVpropBreakableListReference
	{
		CVpropBreakableList* m_pObject = NULL
		string m_sFileName = ""
	}
	CVpropDataListReference m_pPropDataList = CVpropDataListReference
	{
		CVpropDataList* m_pObject = NULL
		string m_sFileName = ""
	}
	CVConstraintListReference[] m_pConstraintLists = 
	[
		
	]
	string m_collision = ""
	string m_sMDLFilename = ""
	string[] m_scriptFiles = 
	[
		
	]
	CVMaterialRemapList* m_pMaterialRemapList = NULL
	float m_flFbxScale = 1.000000
}

引用链接