YL

SHOWCASE · 原生 ESM

阿尔卑斯蒸汽火车Alpine steam train

冷色山谷、雪线、松林和一条贴着谷底的轨道。深色蒸汽机车沿曲线往复,烟囱持续冒烟。

旗舰完整演示

可交互场景(拖拽旋转;部分演示支持键盘)。下方提示词用于让 Agent 生成同级成品。

预期产出 · Returns

单页可拖拽:火车沿山谷循环行驶,车轮与烟雾跟着走;远山有雪、近处有松,雾把远处收进天色。

适合用在哪

要一条「风景在动」的高阶提示词时用:地形、大气和交通工具在同一个镜头里,而不是单独转一个模型。

容易踩的坑

  • 谷线如果没从噪声里减掉,轨道会爬上山脊,火车看起来在飞。
  • 雾颜色和天空地平线不一致时,远处会有一条硬边。
  • 烟如果挂在火车局部坐标里,转弯时会拖成一条贴地的尾巴。

提示词 · Prompt

用单个 HTML + Three.js 做一段瑞士山区气质的蒸汽火车穿行,全部程序化,不要外部模型和贴图。 地形:一块大约 70×70 的 PlaneGeometry,分段不少于 80。用多层正弦叠出山脊,再沿一条谷线把高度压下去,让中间是可走的谷底。按高度着顶点色:谷底深绿,山坡翠绿,中段灰岩,高处白雪。不要平地贴一张草地。 大气:雾的颜色和地平线一致,用线性雾,近处清楚、远处山只剩剪影。天空用背面天空球,上冷蓝、下接近雾色。太阳是一盏偏高的平行光,阴影可以关。 轨道:CatmullRom 曲线贴着谷底。枕木用 InstancedMesh,左右两根钢轨用沿曲线偏移的 TubeGeometry。火车不要飞在空中。 火车:锅炉、驾驶室、煤水车、烟囱、排障器,都用圆柱和方块拼。每侧至少三只轮子,位移换算成轮子转角。烟是一小组半透明球体,从烟囱世界坐标升起后淡出再复用。火车用 getPointAt 循环走完全程,车头对准切线。 镜头:默认能同时看到车头和两侧雪山。轨道相机可拉远,但不要钻进地面。左下角一行字说明这是山谷循环。 注释用中文,写清谷线是怎么从噪声里减出来的。不要加车站 UI,不要加人物。
Single HTML procedural Swiss-valley diorama. Height-colored terrain with a carved valley, snow on peaks, instanced pines, linear fog matching a gradient sky. A CatmullRom track with instanced sleepers and two tube rails. A block-built steam locomotive loops the valley, wheels turn with travel, smoke puffs rise in world space from the chimney. Scenic orbit camera. No station UI, no people, no external models. Chinese comments on how the valley is subtracted from the ridges.

相关提示词

参考链接

标签