从一个服装模组开始切入。

假设与验证

服装通常提供一个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来加载可视化预览

构建路径的确认

假设与验证中所述,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

关系图

参考: