Jeffreyg1228 发表于 2023-11-19 13:00:41

[原创][NTE 0.4.2+][已更新适配文档]上海地铁风格动态 LCD 追加

本帖最后由 Jeffreyg1228 于 2024-8-2 20:09 编辑

一、前言

曾经在微博上看到 Lyt 大佬的上海地铁导乘屏 UI 优化设计,其简明的 UI 在我看来超过了国内绝大部分地铁实装的 LCD。值得一提的是,这个设计本身不带有太多上海地铁的特点,通用性较强。尽管早有将此类 LCD 带入 MTR 的打算,但由于技术问题,这一计划一直被搁置。

随着 NTE 0.4 版本的发布,这一技术门槛大大降低,可对于大多数资源包作者仍难以跨越。本 LCD 追加则是 MTR 社区在该方面的首次尝试,旨在推动 LCD 这一新技术在资源包开发中的广泛使用。

二、效果预览 (V2024.5)

前 4 张图片展示的存档为“口海乐的地铁存档 (V026 版本)”。

https://s2.loli.net/2024/05/05/GWSlgwDxX9rvJuE.png
https://s2.loli.net/2024/05/05/tBQS8KuZVz9gsdx.png
https://s2.loli.net/2024/05/05/LDdabMFmjy4UZXl.png
https://s2.loli.net/2024/05/05/g9OapEM5thLFHiS.pnghttps://s2.loli.net/2024/05/05/Wb349mFp7XGHCv1.png
https://s2.loli.net/2024/05/05/lTjEt5pcFisDSAH.png

三、常见问题解答

1. LCD 可以在服务器中使用 / 录制视频在互联网传播吗?是否需要授权?

完全可以,不需要提前说明。提醒:如果您使用示例包,请遵守上海地铁资源包(免费版)相关 EULA。

四、更新日志


V2024.5

新功能 - LCD UI

给 LCD 的 UI 带来了大量新功能和细节修改,使其更接近 Lyt 原设计。


[*]LCD 一般情况下的交替显示逻辑:

[*]列车启动时,右屏显示“即将到达”信息;
[*]行进过程中,右屏交替显示全线信息和到达时间(中英文轮播)和“即将到达”信息;
[*]到站时,右屏显示“已到达”信息,左屏显示下一站信息。
[*]回库相关情况的显示逻辑:

[*]列车在回库前的最后一站停靠时,左屏显示返回的车厂名称,并提示“本次列车为回库车,乘客请勿乘坐”。
[*]列车从最后一站发车后至到达车厂前,右屏始终显示“即将到达”信息,并显示正在返回的车厂。
[*]列车从车厂发车后至到达第一站前,“即将到达”底部显示车厂名称。
[*]显示车厂名称的功能默认开启,可在 LCD 配置文件中修改。若关闭此功能,则车厂名称用 车厂|Depot 替代。
[*]列车在车厂且无有效路径时,显示“蓝屏”。
[*]左屏新功能:

[*]支持中英文轮播,且轮播间隔可在 LCD 配置文件中修改;
[*]支持在“开往”字样左侧显示列车是否为手动驾驶列车/处于手动驾驶状态。此功能默认开启,可在 LCD 配置文件中修改;
[*]右屏新功能:

[*]支持中英文轮播,且轮播间隔可在 LCD 配置文件中修改;
[*]支持在“已到达”屏幕右上角显示停靠的站台编号,默认开启。可在 LCD 配置文件中修改;
[*]支持当列车部分车厢在站台外侧导致部分车门不能开启时,在“已到达”屏幕底部显示一条提示。此功能默认开启,可在 LCD 配置文件中修改。
[*]UI 将在一定范围内进行排版(包括字体大小的灵活调整),尽量避免信息超出规定区域的情况。

新功能 - 其它


[*]LCD 加载时将检测环境信息(NTE 0.4.2 及以上、MTR 4.0.0 以下),如不符合将显示“蓝屏”。“蓝屏”右上角显示 MTR 版本、NTE 版本、LCD 版本。建议始终使用 NTE 最新版,最大程度避免 BUG。
[*]增加 LCD 配置文件,以便在不修改 LCD 内部代码的情况下进行第三方适配。同时还提供了对 LCD 某些功能的修改。关于配置文件如何修改的详细信息,参见 LCD 文档:配置文件 | Jeffreyg1228 的 MTR 文档站。

改进


[*]现在 LCD 左上角显示的线路名称不会再读取列车号码,而是改为读取路线名称 || 后 {} 内字符。例如,路线 1 号线|Line1||上行{1}XXX 的实际显示名称为 1 。目前换乘信息的绘制只读取路线名称,不遵循此规则,也不会读取路线号码。
[*]对于环线,在左屏显示“内环”(顺时针循环线)或“外环”(逆时针循环线)而不是终点站名称。
[*]更改了 UI 的非 CJK 字体为 Roboto。
[*]移除列车行驶进度显示功能。
[*]移除全线信息屏幕中显示站台编号的功能。

修复


[*]当路线上某个站台轨道不在站区内时,LCD 黑屏(现在将显示为”未知车站“)(感谢 @雅音宫羽 的反馈!);
[*]列车的连通道贴图渲染在了护栏的宽度上(在 NTE 0.5.0 中已修复)(感谢 @Folanoel 的反馈!)。

[*]注:由于 JS 脚本没有针对特定列车进行专门适配,因此在某些列车上出现渲染问题是可以预期的。在这种情况下,建议根据 NTE 文档在 JS 脚本中自行修改列车渲染代码,或者联系我。

已知问题

在最新版本的 LCD 测试中已发现下面的问题,但由于对 LCD 使用的影响较小,暂时不予修复。


[*]对于无限循环列车,到达起(终)点站后会短暂显示回库车提示;
[*]列车回厂后 LCD 短暂冻结 5 秒,显示错误 Wrapped java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 (mtr:shlcd/mtr_util.js#80) ;
[*]对于跨线运营列车,在到达一条线路的终点站时,只有左屏显示了下一线路信息,而色带及右屏还保留原来线路标志色。


V2023.12-hotfix
现在不再要求回复下载资源包。
由于这是热修复版本,因此 LCD 上显示的版本信息不变,仍为 V2023.12。

改进

[*]删除了冗余的字体文件,显著减小了包体积。

修复

[*]修复了资源路径中包含大写字符,导致资源包在某些游戏版本无法加载的问题。


V2023.12

新功能

[*]UI - 支持显示出站换乘线路。这些线路会以“空心”矩形显示,以示区别。
[*]UI - 现在列车在所有线路的终点站停车时会显示一个提示,说明该列车为回库车。

改进

[*]性能 - 现在列车状态不变时不再绘制 LCD,以提升性能。受此影响,现在默认不显示列车行驶进度。虽然可以重新开启显示,但可能大幅降低性能。有关更多信息,参见“性能调优”文档。下个版本将改进这一优化。
[*]性能 - 重写了获取换乘信息的代码,执行效率更高。
[*]UI - 对于跨线运营列车,不再显示列车下一条线路的换乘信息。

修复

[*]逻辑 - 现在应该能够正确显示列车行驶进度(尽管这个功能目前默认关闭)。



五、下载

最新版本:V2024.5
前置要求:NTE 0.4.2 及以上,MTR 4.0.0 以下。

适配包和适配工具下载

LCD 的官方适配文档现已发布!文档链接:https://mtr.jeffreyg1228.me/lcd/creator-guide/adapt-to-blockbench-train。您可以按照文档的指引将 LCD 安装到第三方列车上。

适配包下载链接:https://jeffreyg1228.lanzouw.com/iACYs253kata

适配工具下载链接:https://jeffreyg1228.lanzouw.com/inIS8254xabg

示例包下载

基于上海地铁追加包(免费版)的 16A02 型列车,制作了一个 LCD 示例包,开箱即用。使用方法如下:


[*]安装 NTE 模组的最新版本;
[*]载入示例包;
[*]在任意车厂的侧线中,右击侧线,选择以 开头的列车即可。

示例包下载链接:https://jeffreyg1228.lanzouw.com/im3hU254eq8f

六、鸣谢(排名不分先后)


[*]Lyt:LCD 的设计者。使用已获得授权。
[*]上海地铁追加包制作组:示例包列车的作者。
[*]Zbx1425: NTE 的作者。

我是柚子吖 发表于 2023-11-19 13:03:20

可见形式

要什么名字 发表于 2023-11-19 13:27:46

应该是首个支持lcd的资源包,必须支持

ShentongMetro 发表于 2023-11-19 13:28:28

然鹅现实中的L16根本没有这么简约,而是经典领导审美(
不过你拿授权了吗,EULA写着的

Xbodw 发表于 2023-11-19 13:30:01

想试试lcd能不能搞到obj模型上

linyixiang0601 发表于 2023-11-19 13:33:13

听起来很巨的样子

杰哥王老六 发表于 2023-11-19 13:37:36

大佬牛,支持:)

kingsley 发表于 2023-11-19 13:53:30

首个LCD的资源包!!!

天源之系 发表于 2023-11-19 13:59:06

太巨了!话说这个可以用在自己的列车上吗?

Xbodw 发表于 2023-11-19 14:15:19

天源之系 发表于 2023-11-19 13:59
太巨了!话说这个可以用在自己的列车上吗?

lcd放在一个简易的obj烂尾上试了一下,lcd错位,而且似乎降低了nte对模型优化的性能,列车快速运行时帧率多次中幅度下降
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [原创][NTE 0.4.2+][已更新适配文档]上海地铁风格动态 LCD 追加