Skip to content

Commit

Permalink
Minor change to documents [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
zbx1425 committed Jan 24, 2024
1 parent 6771154 commit c4a8cc6
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion docs/eyecandy.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ NTE 允许通过 ”装饰物件“ 方块在游戏内显示 OBJ 模型。

以上是必填项。以下是可选项:

- `textureId` 可用于创建多个同一模型不同贴图的物件。用法与 [OBJ 模型相关适配](objschem.md) 中相同
- `textureId` 可用于创建多个同一模型不同贴图的物件。用法与 OBJ 列车模型中相同
- `flipV` (V大写) 设为 true 将把 OBJ 模型加载改为适配贴图 V 坐标正方向向上的导出方式的模式。
- `translation` 对模型进行平移,后接 X、Y、Z 轴向上的移动距离。
- `rotation` 对模型进行旋转,后接绕 X、Y、Z 轴向上的转动角度。
Expand Down
11 changes: 5 additions & 6 deletions docs/objschem.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,18 @@ OBJ 和 MTL 文件可以使用任意文本编辑软件(如记事本、Notepad3

在 OBJ 文件中,`mtllib` 指令设定这个 OBJ 文件所使用的 MTL 文件,`usemtl` 指令设定面和材质的对应关系;在 MTL 文件中,`newmtl` 创建材质,`Kd` 设定材质颜色,`d` 设定材质透明度,`map_Kd` 设定材质对应的贴图。大多建模软件可选择在导出 OBJ 的同时导出 MTL 文件。

如果 OBJ 内有 `mtllib` 指令(多数建模软件在导出时选中导出 MTL 会自动添加)的话,会自动解析对应的 MTL 文件。会自动解析相对路径,在 OBJ 里的 `mtllib` 处不需要也不支持写完整的 `mtr:……` 资源位置。
如果 OBJ 内有 `mtllib` 指令(多数建模软件在导出时选中导出 MTL 会自动添加)的话,会自动解析对应的 MTL 文件。会自动解析相对路径,在 OBJ 里的 `mtllib` 处不需要写完整的 `mtr:……` 资源位置。

和 BBMODEL 只能使用一张贴图不同,MTL 文件本身就有设定贴图的功能。NTE 使用以下方法为模型设定贴图:

- 如果 OBJ 模型内有 `mtllib` 指令,将根据 MTL 内对应材质的 `map_Kd` 设定贴图(使用建模软件导出 MTL 时通常就会对应地设定好它)。如此时 OBJ 内有 `usemtl mat1` ,MTL 内写着 `newmtl mat1``map_Kd 1995default.png`,那么将会使用 `1995default.png` 给它作为贴图。同时 MTL 内的 `Kd``d` 设置也会被采用。

- 如果 OBJ 模型内没有 `mtllib` 指令,NTE 将把材质的名称作为贴图文件名称。如此时一个叫作 `mat1` 的材质就会使用 OBJ 同目录下的 `mat1.png` 作为贴图。特别地,名为 `_` 的材质将会被设为全白。

这个特性允许您不用 MTL 文件(如您感觉多个文件较碍事)。

- 如果 OBJ 模型内有 `mtllib` 指令,将根据 MTL 内对应材质的 `map_Kd` 设定贴图(使用建模软件导出 MTL 时通常就会对应地设定好它)。如此时 OBJ 内有 `usemtl mat1` ,MTL 内写着 `newmtl mat1``map_Kd 1995default.png`,那么将会使用 `1995default.png` 给它作为贴图。同时 MTL 内的 `Kd``d` 设置也会被采用。

- 您可能注意到 OBJ/MTL 里贴图文件都被写死,使更换涂装不便。为此 NTE 特别指定,如果通过上述方式使用了一个文件名为 `default.png` 的贴图,它将被替换为 `mtr_custom_resources.json``texture_id` 的设定值,以便更换涂装。
- 如果使用了一个文件名为 `default.png` 的贴图,它可以被替换为 `mtr_custom_resources.json` 或其他场合的 JSON 中的设定值,以便更换。详见对应处的说明。

如果没有使用任何名为 `default.png` 的贴图,那么 `texture_id` 的设定值将被完全忽略。不过,如它不存在 MTR 会报错,所以推荐将它设定为 `minecraft:textures/misc/white.png` 或任意的实际存在的贴图文件。

**请尽量减少贴图张数,将多张图片尽量合并到一张大图中。图片张数越多性能越差。**

Expand Down Expand Up @@ -74,5 +73,5 @@ MTR 有着 `exterior`、`interior`、`interiortranslucent`、`light` 等多个 *

特别地,为了方便建模,NTE 额外支持通过 OBJ 的材质名称而不是 MTR 模型属性来设置渲染阶段。在材质名称后加 `#渲染阶段` 即可为使用了这一材质的面设定渲染阶段。如将材质名设为 `mat1#exteriortranslucent` 将给使用 `mat1#exteriortranslucent` 这一材质的所有面添加半透明支持。这对于没有 `mtllib` 时的情况也有效,届时会将 `#` 之前的内容作为贴图文件名称。

注意:请只在确实是半透明的表面(如窗户)上设置 `……translucent` 属性。一方面,半透明面的渲染性能比其他的低得多;另一方面,多个半透明面之间,一个在另一个后时,它们之间的互相遮挡关系可能会不正确;而多个半透明面相交时的互相遮挡关系一定不正确
注意:请只在确实是半透明的表面(如窗户)上设置 `……translucent` 属性。为保性能,NTE 默认情况下不精确处理半透明面之间的遮挡关系,多个半透明面之间的互相遮挡关系很多时候都会不正确

2 changes: 1 addition & 1 deletion docs/railmodel.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ NTE 允许您通过资源包添加更多的轨道模型。

手持刷子物品,指向轨道节点,并通过更换视角选中想要编辑的轨道。接下来,按住 Shift 同时右击轨道节点,即可打开选择模型的界面。选择您偏好的模型之后,这个模型的选择会被记录到这个刷子物品的 NBT 数据中,您可接下来直接点击其他轨道节点来批量应用同一设置。

对于方向有左右之分的模型,在双向轨道上将沿刚刚被刷子点击了的节点到另一个节点的顺序放置(因此可通过用刷子点击两端来设置方向);而单向轨道上刷子点击位置并无影响,只可沿行驶方向放置
对于方向有左右之分的模型,点击第一次将沿刚刚被刷子点击了的节点到另一个节点的顺序放置(因此可通过用刷子点击两端来设置方向),再点击一次将反转方向放置


## 制作新轨道
Expand Down
11 changes: 9 additions & 2 deletions docs/trainmodel.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ NTE 支持通过资源包添加以 OBJ 格式模型文件为模型的列车。
"lu1995": {
"name": "LU 1995",
/* ... 其他配置和使用 BBMODEL 时相同,省略 */
"texture_id": "mtrsteamloco:textures/block/nte_tile_faded.png",
"texture_id": "minecraft:textures/misc/white.png",
"model": "mtr:lu1995/modeltrain_1995_tube_train.obj",
"model_properties": "mtr:lu1995/properties.json",
"flipV": true
Expand All @@ -24,8 +24,15 @@ NTE 支持通过资源包添加以 OBJ 格式模型文件为模型的列车。
```

- `model`: 填入 OBJ 文件的资源位置,这和使用 BBMODEL 时区别不大。

- `model_properties`: 填入模型属性文件的资源位置。

- `texture_id`: 替换贴图的资源位置。

使用 OBJ 模型时贴图是从 OBJ/MTL 里指定的,但是如果在模型文件里写死更换涂装就不方便。为此 NTE 特别设定,如果使用了一个文件名为 `default.png` 的贴图,它将被替换为 `mtr_custom_resources.json``texture_id` 的设定值,以便更换涂装。

如果 OBJ/MTL 中没有使用任何名为 `default.png` 的贴图,那么 `texture_id` 的设定值将没有任何作用。不过,如它不存在 MTR 会报错,所以可以将它设定为任意的实际存在的贴图文件,例如 `minecraft:textures/misc/white.png`

- (可选) `flipV` (V大写) 设为 true 将把 OBJ 模型加载改为适配贴图 V 坐标正方向向上的导出方式的模式。

导入模型、设定贴图、设定渲染批次等的方法参见 [OBJ 模型相关适配](objschem.md)
Expand Down Expand Up @@ -74,7 +81,7 @@ MTR 原版中列车的所有车厢都使用同一模型,然后根据模型属
"lu1995": {
"name": "LU 1995",
/* ... 其他配置和使用 BBMODEL 时相同,省略 */
"texture_id": "mtrsteamloco:textures/block/nte_tile_faded.png",
"texture_id": "minecraft:textures/misc/white.png",
"model": "mtr:lu1995/modeltrain_1995_tube_train.obj|1;%1;|mtr:lu1995/modeltrain_1995_tube_train_carriage.obj|;1,-1;|mtr:lu1995/modeltrain_1995_tube_train.obj|-1;%1,1;reversed",
"model_properties": "mtr:lu1995/properties.json"
}
Expand Down

0 comments on commit c4a8cc6

Please sign in to comment.