Huli's Blog.

MTR-Dev Webinar

Huli
Huli

NTE train JS discussion & sharing

时间

2025/03/15 19:00-21:00

会议链接

jitsi Meet

幻灯片

Onedrive

蓝奏

内容纪要

  1. 研讨会概况
  • 基本信息:2025年3月15日举办MTR - Dev Webinar,主题为NTE train JS discussion & sharing。研讨会提供幻灯片,但不提供回放,允许将视频发布到个人账号。
  • 研讨内容:重点讨论NTE - JS能实现的功能以及如何使用;明确不涉及具体功能实现的协助、JS基础及数学运算原理。
  1. NTE - JS功能特性
  • 动画效果:支持雨刮动画(雨天自动开启)和车轮动画(车轮可动),包含几何动画和纹理动画两种类型。
  • 显示功能:实现车内LCD中英双语显示;电子显示屏可获取并显示下一站信息,还能切换显示语言。
  • 动态交互功能:具备动态仪表盘、动态控制手柄(根据加速减速状态旋转)以及动态路线图等功能。
  1. NTE - JS使用指南
  • 配置文件设置:通过修改mtr_custom_resources.json文件,定义列车的名称、类型、颜色、声音和脚本文件路径等属性。
  • 必备函数说明:必须包含create(列车加载时调用,用于初始化)、render(每帧调用,编写主要逻辑)、dispose(列车离开可见范围时调用,用于清理)三个函数。
  1. 列车渲染相关
  • 模型加载与处理:以列车渲染为例,介绍如何加载OBJ模型、处理模型纹理和UV镜像,以及上传模型部分到渲染环境。
  • 车厢渲染逻辑:详细阐述车厢各部分(如车身、车门、连接部分)的渲染逻辑,考虑列车车厢数量、车门开关状态等因素。
  1. 其他功能实现示例
  • 车轮旋转实现:通过单独控制车轮模型渲染,依据速度计算旋转角度,并为每个车辆独立存储旋转角度,逐帧更新。
  • 动态速度表:通过单独控制指针模型渲染,并根据列车速度旋转指针来实现。包括模型加载、初始化和渲染时的坐标变换与角度计算。
  • 动态控制手柄:根据列车的加速减速状态旋转手柄模型。初始化时加载手柄模型,渲染时判断加速状态并计算旋转角度。
  • 电子显示屏:获取列车下一站信息并展示。初始化时创建纹理对象,渲染时根据信息内容调整显示布局。
  • 车内LCD:获取列车信息并展示,支持定期切换显示语言。初始化时准备字体、图像资源和相关跟踪器,渲染时根据语言状态和列车信息进行绘制。


More Stories

在博客中实现 LaTeX 公式支持

在 Next.js + Sanity 的博客中实现 LaTeX 公式支持

Huli
Huli

为什么搭建个人博客

Huli的第一篇博客

Huli
Huli