从一个服装模组开始切入。
假设与验证
服装通常提供一个ESP,然后就可以从游戏里获取该服装。
ESP中的armor数据,指定了mesh(.nif)的路径
通过SSEEdit验证
默认导航到data/meshes
目录
Nif指定了材质(Texture)的路径
通过文本打开NIF文件,搜索Texture验证
通常导航到data/Textures
目录
ESP是什么?为什么安装一个ESP就可以得到服装?
Bodyslide 假设与验证
先加载data
目录下所有的ESP,提取出服装相关的内容
根据Groups、Presets配置,确定分组关系
一个outfit,通常由多个部件(nif)组成
而osp(outfit studio project)就是把多个部件有机组成一个完整outfit的项目文件
bodyslide界面根据osp来加载可视化预览
- 为什么构建服装后,可以随意散乱的输出到mesh目录?然后游戏内就可以获得效果?
- bodyslide怎样加载所有oufit的:通过扫描esp、BSA文件
- outfit怎么关联到分组(group)、分组集合(groups)、预设的(preset)
- SliderSets目录里的osp和ShapeData里的osd文件都是在什么交互场景下会用上的?
构建路径的确认
如假设与验证中所述,nif的输出路径由ESP内的配置决定
outfit、group、groups、preset物理关联
- 关联到group、groups:通过
SliderGroups
目录中的xml配置 - 关联到preset:通过SliderPresets目录中的xml配置,间接关联
SliderSets和ShapeData的作用
SliderSets
在 BodySlide 中加载项目:
- 场景:当用户在 BodySlide 的图形界面中选择一个身体或服装项目(如 CBBE 身体或某件盔甲)时,BodySlide 读取 SliderSets 中的 .osp 文件以加载滑块和预设。
- 细节:BodySlide 的下拉菜单(如 “Outfit/Body”)显示 .osp 文件中定义的项目,用户选择后可调整滑块,预览模型变化。
- 示例:用户选择 CBBE Body 项目,BodySlide 加载 CBBEBody.osp,显示相关滑块供调整。
ShapeData
滑块的选项是由体型mod,如cbbe、3ba提供,但是他们只提供滑块,具体滑动后参产生的效果,由.osd决定的,每个outfit有自己的.osd,决定了滑块对outfit的具体影响,意味着,如果没有osd,滑块对outfit就没影响了。
另外,ShapeData目录还提供了基础网格(nif),在BS里加载基础网格,经过自定义调整,然后才能输出得到最终网格。
各参数联系
base目录:`Data\CalienteTools\BodySlide\
数据 | 说明 | 目录 | 格式 |
---|---|---|---|
outfit/body | 服装、体型 资产 | Data | .esp |
group | 逻辑上定义了哪些资产为一组 | None | \ |
groups | 多个group的组合 | SliderGroups | .xml |
preset | slide预设,存储滑块信息 | SliderPresets | .xml |
以下仅做补充 | |||
.osp | outfit项目文件 | SliderSets | .osp |
.osd | 计算滑块偏移值(应用于outfit) | ShapeData | .osp |
参考: