Zh/VMDL: Difference between revisions
< Zh
Jump to navigation
Jump to search
mNo edit summary |
m (Nescius moved page Zh/VMDL (Source 2) to Zh/VMDL) |
||
(10 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{LanguageBar}} | |||
{{ | {{Source 2 topicon}} | ||
{{ | |||
带有 ''VMDL'' 扩展名的文件是内容端的文本文件,利用工具能够编译出游戏端的二进制文件(''VMDL_C'')。 | 带有 ''VMDL'' 扩展名的文件是内容端的文本文件,利用工具能够编译出游戏端的二进制文件(''VMDL_C'')。 | ||
一个模型被存在 | 一个模型被存在{{mdledit|4}}中后,会写出VMDL文件。当VMDL数据有更新时,或工具检测到变化,便会编译模型。 | ||
== 参考文档 == | == 参考文档 == | ||
* [[/Animation|动画(Animation)]] | |||
* [[ | * [[/Attachments|附着点(Attachments)]] | ||
* [[ | * [[/Hitboxes|击中范围(Hitboxes)]] | ||
* [[ | * [[/Internal External References|内外部引用(Internal External References)]] | ||
* [[ | * [[/LodGroup|细节等级群组(LodGroup)]] | ||
* [[ | * [[/MaterialGroups|材质群组(MaterialGroups)]] | ||
* [[ | * [[/MaterialRemap|材质映射(MaterialRemap)]] | ||
* [[ | * [[/Mesh|网格(Mesh)]] | ||
* [[ | * [[/MeshGroup|网格群组(MeshGroup)]] | ||
* [[ | * [[/PhysicsMesh|物理网格(PhysicsMesh)]] | ||
* [[ | |||
== 注意事项 == | == 注意事项 == | ||
Line 45: | Line 44: | ||
== 大型实例 == | == 大型实例 == | ||
一个空白VMDL文件如下: | |||
<source lang="cpp"> | <source lang="cpp"> | ||
Line 118: | Line 117: | ||
== 引用链接 == | == 引用链接 == | ||
* | * {{mdledit|4}} | ||
{{ACategory|Source 2|V}} | |||
{{ACategory|File formats|V}} | |||
{{ACategory|Files|V}} | |||
{{ACategory|VMDL|V}} |
Latest revision as of 14:48, 23 August 2024
带有 VMDL 扩展名的文件是内容端的文本文件,利用工具能够编译出游戏端的二进制文件(VMDL_C)。
一个模型被存在 模型编辑器中后,会写出VMDL文件。当VMDL数据有更新时,或工具检测到变化,便会编译模型。
参考文档
- 动画(Animation)
- 附着点(Attachments)
- 击中范围(Hitboxes)
- 内外部引用(Internal External References)
- 细节等级群组(LodGroup)
- 材质群组(MaterialGroups)
- 材质映射(MaterialRemap)
- 网格(Mesh)
- 网格群组(MeshGroup)
- 物理网格(PhysicsMesh)
注意事项
- 每个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
}