文件格式
解释精灵雷纳自己的文件内格式。
[.elp] 文件
要在精灵雷纳输出的项目文件。 此文件不列出,因为参数等通常根据精灵的 Ver.a. 版本而变化。
文件格式
文本文件。
字符代码
文件的字符代码为"UTF-8"。
[.elem] 文件
精灵雷纳扩展模型文件。 可以包括模型数据、层次结构、渲染网格列表和动画数据。
兼容的精灵雷纳版本
精灵雷纳 Ver1.1 格式。
文件格式
文本文件。
字符代码
文件的字符代码为"UTF-8"。
文本的基本格式
".elp"和".elem"文件都配置了文本。
Elfreina Extension Model File
File Version 1.00
MeshDatas {
MeshContainerCount=1
MeshContainer {
Name="ルーン"
MeshCount=12
VertexFormat {
"Position"
"Normal"
"Texture1"
}
}
}
头
Elfreina Extension Model File
File Version 1.00
前两行是标头。 第一行如上所述。 第二行是文件格式的版本,但很少更改。
标记和范围
MeshDatas {
;
;
}
蓝色字符称为标记名称,其后面的"*"之间称为"MeshDatas 范围"。 标记名称和"*"必须位于同一行上。
作用域包括"多个数据(键)"和"多个作用域"。
密钥和数据
MeshContainerCount=1
MeshContainer {
Name="ルーン"
MeshCount=12
VertexFormat {
"Position"
"Normal"
"Texture1"
}
}
绿色字符是键,红色字符称为数据,键和数据之间由"*"分隔。 如果数据是字符串,则用"双引号"括起来。 基本上,键或数据不会过早换行。
例如,上述文本的第三行数据是 MeshDatas 作用域中 MeshContainer 作用域中 Name 键的"符"数据。
此外,对于未由 * 分隔的单字符串,只有"数据"。 在这种情况下,它通常在作用域中枚举。
键和数据的顺序以及范围的顺序基本上并不重要。 但是,仅枚举数据可能涉及排序顺序,具体取决于情况。
作为补充,前两行的标头实际上是数据,并定义为"全局作用域中的数据"。
多个数据
Ambient=0.43:0.43:0.43:0.43
3,0:1:2
在某些情况下,一个键可能包含多个数据。 在这种情况下,数据和数据之间包含":(冒号"分隔符。
此外,可以使用"(逗号)"作为第二个拆分方法。 用于进一步拆分数据。
如果有多个数据,则使用上述方法或作用域枚举的形式。
格式(设置数据)
设置范围
包含通用配置数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
软版本或 埃尔弗雷纳软件版本 |
0.0 到 | 保存 .elem 文件的精灵雷纳的软版本。 |
加载类型 | 字符串 | .elem 文件的数据类型。 目前,只有"视图"。 |
格式(模型数据)
MeshDataList 范围
保存模型数据(网格)的范围。 在精灵 Ver 1.00 时,仅保存一个网格,但您可以保存多个网格。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
梅什康泰纳Count | 0 到 | 网格容器的数量。 这也是 MeshContainer 的范围数。 |
范围列表
范围 | 描述 |
---|---|
梅什·康泰纳 | 包含网格数据。 |
网格容器范围
包含网格化所需的数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
名称 | 任何名称 | 网格的名称。 |
贝恩 | 0 到 | 用于网格的骨骼数。 |
MeshCount | 0 到 | 在网格中显式分割的网格数。 这也是网格作用域的数量。 |
范围列表
范围 | 描述 |
---|---|
VertexFormat | 创建网格所需的顶点格式的列表。 |
贝恩·加斯 | 骨骼的名称列表。 |
偏移矩阵 | 用于坐标变换的偏移矩阵的列表。 与骨骼名称的索引匹配。 |
材料 | 包括材料颜色和纹理。 |
梅什 | 包括网格的顶点位置和面信息。 |
VertexFormat 范围
创建网格所需的顶点格式的列表。 键不存在,仅枚举所需的数据。
数据列表
数据 | 描述 |
---|---|
位置 | 指示顶点信息包含位置信息。 |
普通 | 指示顶点信息包含法线信息。 |
混合 | 指示顶点信息包含顶点混合数据信息。 |
差异 | 指示顶点信息包含漫反射颜色信息。 |
文本 | 指示顶点信息包含纹理的 UV 坐标信息。 |
BoneNames 范围
枚举网格中使用的骨骼的名称列表。 名称序列现在与骨骼坐标变换调色板中的索引匹配。
偏移矩阵范围
网格中使用的骨骼的偏移矩阵。 BoneNames 中列出的名称和索引匹配。
材料范围
包含多个材料信息。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
材料计数 | 0 到 | 材料的数量。 这也是材料作用域的数量。 |
范围列表
范围 | 描述 |
---|---|
材料 | 包含单独的材料信息。 |
材料范围
包含材料颜色和纹理信息。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
名称 | 材料的名称 | 材质的名称。 |
差异 | (全部 0.0 到 1.0) a:r:g:b | 漫反射(基本)颜色。 从左至右,您将有"阿尔法"、"红色"、"绿色"和"蓝色"。 |
安比恩 | (全部 0.0 到 1.0) a:r:g:b | 它是环境光的颜色。 |
埃米斯ive | (全部 0.0 到 1.0) a:r:g:b | 它是发光的颜色。 |
Specular | (全部 0.0 到 1.0) a:r:g:b | 反射颜色。 |
SpeclarSharpness | 0.0 到 | 对反射光的锐度。 |
文本文件名 | 文件名(绝对路径或相对路径) | 纹理的文件名。 对于相对路径,它相对于正在使用的 ELEM 文件。 |
网格范围
保存在网格容器中拆分的网格。 现在,您可以在网格显示切换和动画中单独切换,如精灵雷纳。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
名称 | 任何名称 | 网格的名称。 通常,每个部件的名称。 |
VertexCount | 0 到 | 网格的顶点数。 |
面计数 | 0 到 | 网格的面(多边形)数。 |
范围列表
范围 | 描述 |
---|---|
位置 | 存储顶点的位置数据。 |
普通 | 存储顶点的法线数据。 |
差异 | 存储顶点漫反射颜色数据。 |
纹理 UV 或 纹理 1UV 到 纹理 8UV |
存储顶点的纹理 UV 坐标数据。 如果每个顶点只有一个 UV 坐标,则标记名称可能没有数字,如"纹理UV"。 |
布伦兹 | 存储顶点的混合数据。 |
混合印度 | 包含顶点混合的索引。 |
VertexIndices | 包含面的画数和顶点的索引。 |
三元 | 存储面的材料索引。 |
位置范围
枚举顶点的位置数据。
数据列表
数据 | 描述 |
---|---|
(全部双精度) x:y:z | 顶点的位置。 左侧"x"、"y"和"z" |
正常范围
枚举顶点的法线数据。
数据列表
数据 | 描述 |
---|---|
(全部双精度) x:y:z | 顶点的法线。 左侧"x"、"y"和"z" |
差异范围
枚举顶点漫反射颜色数据。
数据列表
数据 | 描述 |
---|---|
a:r:g:b | 顶点漫反射颜色。 从左至右,单击"阿尔法"、"红色"、"绿色"和"蓝色" |
BlendList 范围
枚举顶点混合的数据。
范围列表
范围 | 描述 |
---|---|
混合部分 | 包含每个骨骼的顶点索引。 |
BlendPart 范围
包含每个骨骼的顶点索引。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
BoneName | 名称 | 相应骨骼的名称。 |
转换索引 | 0 到 | 坐标变换调色板的索引。 |
范围列表
范围 | 描述 |
---|---|
VertexBlend | 枚举与骨骼对应的顶点数据。 |
VertexBlend 范围
枚举与骨骼对应的顶点索引和权重值。
数据列表
数据 | 描述 |
---|---|
指数, weight | 左侧是顶点的索引,右侧是骨骼的顶点权重值。 |
纹理紫外线范围
枚举顶点的纹理 UV 坐标数据。
数据列表
数据 | 描述 |
---|---|
u:v | 顶点的纹理 UV 坐标。 从左侧"u"和"v" |
VertexIndices 范围
枚举面的画数和顶点索引。
数据列表
数据 | 描述 |
---|---|
图像数,顶点索引 1:顶点索引 2:... | 左侧是面的画数,"(逗号)"是绘图数的顶点索引。 |
属性范围
枚举面的材料索引。
数据列表
数据 | 描述 |
---|---|
0 到 | 面的材料索引。 |
格式(分层数据)
希亚基希列表范围
包含层次结构数据。
范围列表
范围 | 描述 |
---|---|
Node | 层次结构数据。 分层数据是嵌套结构。 |
节点范围
包含偏移矩阵和初始姿态数据。 此数据是分层的。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
NodeName | 名称 | 节点的名称。 |
InitPostureMatrix | 矩阵 M11: M12: ... | 初始姿势矩阵。 此参数基本上由"动画矩阵"和"初始姿势矩阵"和"父矩阵"组成。 |
范围列表
范围 | 描述 |
---|---|
Node | 层次结构数据。 分层数据是嵌套结构。 |
格式(渲染网格列表)
渲染 MeshList 范围
包含渲染网格列表中的数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
渲染 MeshCount | 0 到 | 要绘制的网格数。 也是渲染 Mesh 作用域的数量。 |
范围列表
范围 | 描述 |
---|---|
渲染 Mesh | 包含与要绘制的网格相关的数据。 |
渲染 Mesh 范围
枚举要绘制的网格的名称以及要使用的层次结构数据的名称。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
渲染 Mesh 名称 | 名称 | 要绘制的网格的名称。 使用 MeshContainer 作用域中的名称。 |
希亚基·阿奇里·卡奇 | 0 到 | 绘制时使用的层次结构数据数。 |
范围列表
范围 | 描述 |
---|---|
希亚基·基塔里 | 枚举层次结构数据的名称。 |
希亚基名称范围
枚举层次结构数据的名称。 这主要用于确定在坐标变换调色板(如蒙皮网格)中使用哪个矩阵。 如果不使用顶点混合,则基本上只有一个数据在这里列出。
数据列表
数据 | 描述 |
---|---|
层次结构数据的名称 | 层次结构数据的名称 |
格式(动画数据)
动画列表范围
包含与动画相关的数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
动画计数 | 0 到 | 动画数。 这也是动画数据作用域的数量。 |
范围列表
范围 | 描述 |
---|---|
动画数据 | 包含单个动画数据。 |
动画数据范围
包含单个动画数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
动画名称 | 任何名称 | 动画的名称。 |
动画时间 | 1 到 | 动画 1 循环的播放时间。 单位 (ms) |
FrameParSecond | 1 到 | 每秒动画帧数。 |
转换时间 | 0 到 | 更改动画所需的时间。 当前,动画在动画更改时以线条格式加权。 |
优先级 | -0x7ffffffffffffffffffff | 动画的优先级。 用于确定播放多个动画时从哪个动画计算的参数。 |
洛普 | True 或 False | 指定播放动画时是否循环的标志。 |
范围列表
范围 | 描述 |
---|---|
贝恩动画 | 包含与骨骼动画相关的数据。 |
UV动画 | 包含与 UV 动画相关的数据。 |
Bone 动画范围
包含与骨骼动画相关的数据。
范围列表
范围 | 描述 |
---|---|
时间钥匙 | 列出整个骨骼动画的时间键。 |
动画部分 | 包含单个动画部分(每个骨骼的动画)数据。 |
动画部分范围
包含每个骨骼的动画数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
NodeName | 名称 | 相应骨骼(节点)的名称。 |
范围列表
范围 | 描述 |
---|---|
时间钥匙 | 时间键。 1.0 与动画时间相同。 |
转钥匙 | 平移参数。 定义为"X:Y:Z"。 |
罗塔特基斯 | 四元一度的旋转参数。 定义为"X:Y:Z:W"。 |
ScaleKeys | 放大参数。 定义为"X:Y:Z"。 |
UV 动画范围
包含与 UV 动画相关的数据。
范围列表
范围 | 描述 |
---|---|
时间钥匙 | 列出整个骨骼动画的时间键。 此数据只是一个指南,因为实际各个部分的动画数据是优先级的。 |
动画部分 | 包含单个动画部件数据。 |
动画部分范围
包含单个动画数据。
密钥列表
关键 | 数据 | 描述 |
---|---|---|
网格容器名称 | 名称 | 相应网格容器的名称。 |
材料名称 | 名称 | 相应材质的名称。 |
范围列表
范围 | 描述 |
---|---|
时间钥匙 | 时间键。 1.0 与动画时间相同。 |
转钥匙 | 平移参数。 定义为"X:Y"。 |
罗塔特基斯 | 旋转参数。 单位是拉迪安。 |
ScaleKeys | 放大参数。 定义为"X:Y"。 |