罗德岛通讯与技术部

UE 主界面

UE HOME

方舟主界面的「浮」= 侧栏浮层比立绘和背景动得快(视差)+ 10° 斜切 + 半透明材质。

状态:🟢 已实现(2026-09-09,副本 F:\rhodes-ue-ai,commit 02b0f2f 起)· 定稿 2026-09-08 落地位置:Source/RhodesUE/LobbyHudWidget.* + RhodesLobbyStyle.h + CardPanel.h + BackdropLayer.h + DustLayer.* 验收图:F:\rhodes-ue-ai\Saved\Screenshots\Windows\own.png(三屏另有 title.png / load2_final.png) 定位:UE 游戏本体(PC)的主界面——复刻方舟「入口层」:立绘 + 侧栏浮层 + 3D 透视倾斜。 这是「一套语言」的完整版(透视倾斜保留),Flutter 终端是它的妥协版。 视觉语言(色板/字体/几何/材质)见 arknights-ui-language.md

一句话

方舟主界面的「浮」= 侧栏浮层比立绘和背景动得快(视差)+ 10° 斜切 + 半透明材质。 办公室 + 阿米娅 Spine 是 3D 场景;浮层是贴在屏幕上的 2D UI(斜切用屏幕空间的 2D 手法假造), 不是场景里的 3D 平面——这是铁律 #1「2D 为主」的边界。

它在游戏里是哪一步

  • 阶段 1「固定视角办公室 + 阿米娅站面前」就是主界面的舞台——相机/阴影/景深已技术验证, 缺的是场景本体。所以主界面不是新挖坑,是阶段 1 的自然外壳。
  • 主界面浮层(侧栏 UI)是套在办公室场景外面的壳:阶段 1 收尾先占位(摆好格子),阶段 2 再接数据

铁律不冲突:三条铁律说「2D 为主,3D 只在舰船那一步」。这里浮层不是 3D 内容,是 2D UI 用伪透视渲染出「浮」的感觉——不引入 3D 内容,只是渲染手法。

层结构(4 视差层 + 尘埃)

layer[0]  → 办公室背景(不动)
layer[1]  → 阿米娅 Spine 立绘(几乎不动,depth 0.01)
layer[2]  → 左栏浮层(depth 0.2,比背景动得快)
layer[3]  → 右栏浮层(depth 0.2)
尘埃      → 漂浮粒子

UE 落点:

UE 实现 现状
办公室背景 2D 背景图 / 3D 静态场景(阶段 1) 🔄 阶段 1 进行中
阿米娅立绘 Spine Actor(BP_Amiya ✅ 已渲染
左右栏浮层 屏幕空间 UMG(贴屏,斜切 2D 假造,见下「浮层:屏幕空间 2D」) 🟡 待做
尘埃 Niagara/Cascade 粒子(或 2D 粒子图) 🟡 待做

浮层分段(已定 2026-09-08)

方舟原版右栏 5 段(作战/编队/采购/基建/任务),我们借「斜切浮层分段」的壳,内容换成自己的系统,定 4 段

中心立绘 = 对话入口(点阿米娅/当前助理 → 气泡对话,阶段 2)。情感核心占 C 位(三条铁律 #3),不进右栏当一格。

顶部状态条(横贯始终可见):龙门币 · 合成玉 · 理智(源石指数视情况加)。

右栏(主要动词,4 段斜切浮层)

系统 阶段 对应方舟
舰船 航行 / 世界事件 4 作战
干员 档案 / 信赖 / 生活俯视图 3 编队
基建 贸易 / 制造 / 发电 / 宿舍 5① 基建
金融 源石指数 / 股票 / 期货 / 外汇 5② 采购/招募(我们独有)

左栏(次级系统,小图标 4 个):终端日志(PRTS 觉醒呼应)· 公告 · 档案/图鉴 · 设置。

小游戏不进主界面(扭蛋→金融、问答→对话、大富翁→金融),roadmap 写它「不喧宾夺主」。

浮层:屏幕空间 2D,不是 3D(铁律 #1 定案)

结论(2026-09-09 修正):浮层是 2D 屏幕 UI,不是 3D 场景平面。铁律 #1「2D 为主」—— 「3D 只在阶段 4 舰船,干员立绘、场景、俯视图全部 2D」——浮层作为 UI 也在 2D 之内。 此前一度走 A 路(3D WidgetComponent,EWidgetSpace::World),把浮层做成了「场景里的 3D 板子」, 贴屏感弱、还越了铁律,已否决(见 game-tech.md)。

方舟原版侧栏是屏幕上的 DOM 元素,斜切是 CSS perspective()+rotateY()屏幕空间做的透视投影 (arknights-ui-study.md)——贴屏 + 斜切两个都要,靠 2D 手法实现,不是场景里的 3D 平面。

UE 落地(从简到繁):

方案 做法 贴屏 斜切 备注
① 屏幕空间 + 2D skew(默认) EWidgetSpace::Screen,斜切用 UMG RenderTransform 的 skew 最强 平行四边形(无近大远小) 最像方舟原版,先做这个
② 屏幕空间 + 透视 warp RetainerBox + 材质做透视 最强 有消失点 想要「近大远小」才上,工作量中高
③ 3D WidgetComponent(已否决) EWidgetSpace::World 场景平面 弱(场景物体味) 真 3D 越铁律 #1,不用

起步参数(从 arknights-ui-study.md 的数学换算,①的 skew 也参考它):

倾斜角 θ 10°(8–12° 区间)
近远比(透视强度) 1.33(克制档 1.22–1.40)
面板不透明度 0.9

手机端那个结论在这里不适用

arknights-ui-language.md 的「手机端取舍」是 Flutter 专用的妥协。 UE 主界面保留 10° 斜切——这正是「一套语言两面」的分水岭:PC 有入口层的奢侈,手机没有。 区别不在「真 3D 与否」:两端浮层都是 2D 屏幕 UI,PC 版只是多一个斜切。

待定

  • [x] 浮层定案——屏幕空间 2D(贴屏)+ 斜切 2D 假造;A 3D WidgetComponent 已否决(越铁律 #1,见 game-tech.md
  • [x] 尘埃粒子用 Niagara 还是 2D → 2DSDustLayer,照 arknights-ui 的 canvas 参数:66 粒 / 80ms / 半径 0-3px)
  • [x] 屏幕空间斜切的具体参数 → 10° 2D 斜切 + scale 0.9 + 底边支点(近似 perspective(30em) rotateY(±10°);真透视要 ② RetainerBox 方案,未上)
  • [x] 视差触发源 → 鼠标 hover(depth 背景 0 / 立绘 0.01 / 左右栏 0.2,实测 B/A=0.20)