VMDL LOD群组
< Zh | Dota 2 Workshop Tools
LOD(细节等级)群组是一种网格形状(模型)的组合,并且根据显示在屏幕上的近远设置他们的显示。使用LOD群组的主要原因是用于提升性能,当摄像头离模型越来越远,高精度的模型 将会切换成 更低精度的模型。
Contents
显示
- LOD群组在大纲中的LOD群组列表(LOD Group List)下。选择一个LOD项目会切换到那个处于视窗里的LOD。
- LOD菜单也提供了切换到LOD's的入口。
- 设置成 AutoLod 可以模拟引擎 根据摄像头的远近切换LOD。
注意:所有模型的显示拥有8个LOD等级,但那8个等级不一定都要下定义。如果少于8个等级被下定义,则将最后一个下定义的设置用于所有未定义的等级。
创建
- 使用 模型(Model) > 网格(Mesh) > 添加LOD群组(Add LOD Groups) 来创建LOD群组。
编辑
- LOD群组在大纲中的 LOD群组列表(LOD Group List) 下。
- 在属性编辑器中,选择 LOD群组列表(LOD Group List) 中的绿色 + 按钮来添加新的群组。
- 在属性编辑器中,选择一个LOD项目来编辑。
数据结构(Data Structures)
VMDL的LOD群组数据如下:
CVLODGroupListReference m_pLodGroupList = CVLODGroupListReference
{
LODGroupList_t* m_pObject = &LODGroupList_t_0
string m_sFileName = ""
}
m_pLodGroupList
VMDL中LODGroupList_t的参考:
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_pObject | LODGroupList_t的指针 | LODGroupList_t* | ||
m_sFileName | 外部lod group list的有关路径 | string |
LODGroupList_t
在VMDL中LODGroup_t的元素列表如下:
LODGroupList_t LODGroupList_t_0
{
LODGroup_t[] m_lodGroups =
[
LODGroup_t
{
int m_flSwitchDistance = 0
string[] m_meshList =
[
]
},
LODGroup_t
{
int m_flSwitchDistance = 0
string[] m_meshList =
[
]
}
]
}
LODGroup_t
Attribute | Friendly Name | Description | Type | Default Value |
---|---|---|---|---|
属性 | 易记名称 | 描述 | 类型 | 默认值 |
m_flSwitchDistance | Switch Distance | 当LOD激活后转变的距离 | int | 0 |
m_meshList | Mesh List | 与此组相关联的网格名称列表 | string[] |
提示:始终确保你的第一个LOD群组设置了 0 转变距离(switch distance),否则你的基础网格(模型)将永远不会出现。
注意:转变距离(switch distance)是基于屏幕空间的反向值。模型在屏幕上越小,转变距离(switch distance)就越大。