VMDL 材质群组
< Zh | Dota 2 Workshop Tools
材质群组(Material Groups)提供了一种方式来对你的模型建立不同的材质,这些通常被称之为皮肤。
Contents
显示
- 材质群组(Material Groups) 在大纲(outliner)中的 "材质群组列表(Material Group List)" 菜单下。
- 选择材质组选项将切换到该材质组所在的视窗。
创建
编辑
- 添加材质群组:选择“材质群组列表(Material Group List)”项,在属性编辑器中按下绿色“+”按钮。
- 编辑材质群组:在大纲(outliner)中选择。
提示:第一个材质群组需要匹配到模型上的默认材质,其他则要匹配到模型的材质数。
数据结构(Data Structures)
VMDL中LOD群组数据如下:
CVNodeMaterialGroupListReference m_pMaterialGroupList = CVNodeMaterialGroupListReference
{
NodeMaterialGroupList_t* m_pObject = &NodeMaterialGroupList_t_0
string m_sFileName = ""
}
m_pMaterialGroupList
VMDL中CVNodeMaterialGroupListReference的参考:
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_pObject | 指向 NodeMaterialGroupList_t | NodeMaterialGroupList_t* | ||
m_sFileName | 包含外部材质群组列表的相对路径 | string |
NodeMaterialGroupList_t
一个NodeMaterialGroup_t元素列表。在VMDL中如下所示:
NodeMaterialGroupList_t NodeMaterialGroupList_t_0
{
NodeMaterialGroup_t[] m_materialGroups =
[
NodeMaterialGroup_t
{
string m_name = "default"
string[] m_materialList =
[
"models/sdk_character/materials/base.vmat",
"models/sdk_character/materials/hair.vmat"
]
},
NodeMaterialGroup_t
{
string m_name = "hair_green"
string[] m_materialList =
[
"models/sdk_character/materials/base.vmat",
"models/sdk_character/materials/hair_green.vmat"
]
}
]
}
NodeMaterialGroup_t
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_name | Name | 材质群组名称 | string | |
m_materialList | Materials | 一个与该组关联的材质组路径(相对路径)列表 | string[] |
注意:在上面的例子中,切换到材料群组 "hair_green" 依然会保持身体的材质,但头发会切换成绿色的材质。