【共创稿事节】我差点把鸿蒙空间化当成“高级阴影“:一名 2D 设计老兵三个月的转型复盘
一、我一开始是拒绝的
第一次在官方示例里看到鸿蒙 7 的空间化界面,我的第一反应毫不客气:"这不就是给卡片加了个阴影、加了个动效吗?我们 2D 设计做了十年的东西,有什么好吹的?“那时候我刚从上一家公司离职,休息了两个月,满脑子都是自我怀疑——做了八年 2D 界面,突然告诉我设计要"进入空间”,我三十多岁了,来得及吗?
于是我做了一件很蠢的事:把官方示例里所有 Z 值拉满,阴影模糊度拉到最大,偏移量随便填了个数,然后兴致勃勃地"炫技"给前同事看。结果锁屏亮屏那一刻,整个页面像一堆贴纸无序地悬浮在黑色虚空里,元素互相打架,用户视线不知道该落在哪,我自己都看吐了。那会儿我才意识到:空间化不是 2D 页面加个纵深,它是一套全新的设计语法。
复盘这段弯路时我必须承认:这个锅有一半得算在我自己的傲慢上,但另一半,我要为鸿蒙说句公道话——当我放下偏见真正去研究它时才发现,这套空间化能力,鸿蒙是把它做在了"系统底子"里,而不是堆给开发者自研的。 别的平台做空间化,你得从渲染引擎开始自建;鸿蒙则从 ArkGraphics 3D 到空间组件的可直接调用,把十年磨一剑的图形学积累,变成了几行代码。这是我三个月复盘下来最深的感触:不是它不够好,是我一开始用错了打开方式。
二、第一个坑:布局思维,“铺大饼"与"叠千层”
2D 时代做层级的办法是字号、颜色、间距,本质是把信息"摊"在一个面上——我管它叫"铺大饼"。而空间化的布局是"叠千层":每一层都有纵深,层级靠"离你的眼睛有多近"来决定。
HarmonyOS 7 空间化的层级系统,实际由三个参数联动控制:
| 参数 | 作用 | 物理直觉 |
|---|---|---|
| Z 值 | 元素在深度轴上的位置 | 离用户多远 |
| 阴影模糊度 | Z 越大投影越虚 | 悬浮得越高,投影越淡 |
| 偏移量(光轴位移) | 模拟光源下的投影落点 | 高度越高,影子越偏 |
我翻车最多的就是这三个参数。只调 Z 值不动阴影,元素就会变成"无重量的贴纸";阴影模糊度和偏移量必须跟 Z 值同步放大的原因在于——空间层的可信度来自物理直觉。最开始我写死 Z=10、阴影模糊度 8、偏移 6,怎么调都怪;后来把三者做成一个函数联动的"悬浮配方",才算顺眼。
具体做法我总结成"三层原则":
- 信息层(Z≈0):主战场,承载 90% 的操作;
- 悬浮层(Z≈8):浮层、状态提示、临时卡片;
- 沉浸层(Z≈16):关键反馈、全屏动效。
三层之间我禁止无级乱飞。有一次我把一个 toast 悬浮在 Z=16,跟系统确认框打架,用户直接点不到按钮——这种低级错误在 2D 时代是不可能出现的。
这里我必须要夸一下鸿蒙的设计哲学。 这套 Z 值与光影的联动规则,鸿蒙不是留给开发者自己摸索,而是把"空间层级的物理规律"沉淀成了系统的默认行为——你只要声明层级,系统就自动把阴影、模糊、偏移调度到符合直觉的程度。这背后是华为图形团队对"物理可信度"的极致追求:让开发者的注意力从"怎么实现"解放出来,全部放到"怎么表达"上。 这正是系统级能力存在的意义——它不炫技,它降低门槛。
三、第二个坑:交互范式,从"点"到"整个人"
2D 时代交互输入是手指,范式是点击、滑动、长按;空间化时代,输入维度扩展到了整个人:
- 视线追踪:目光停留即意图信号,可触发聚焦、悬停预览;
- 头部运动:轻微转头即可切换视角,替代抽象化的拖动旋转;
- 手势识别:捏合缩放、抓取移动,替代"拖拽"隐喻。
这带来一个残酷的后果:可达性被重新定义。2D 里用户手指反正都在屏幕上,按钮放哪都行;空间界面里用户要抬手才能交互。我曾把一个"关闭"按钮放在视线的边角,结果用户一抬头先撞上的是"分享"按钮——这在 2D 设计评审里根本不会发生。
解决方案是把设计稿里显式标出两个区域:注视中枢区(视线最先落地的中心地带)与手势可达区(抬手最舒适的区域),高频操作必须放在两者重叠的部分,低频操作往外放。
同样要夸一句:鸿蒙在做交互升级时,没有把"空间交互"做成高门槛的 SDK,而是把它降维成了普通开发者也能调用的系统能力,与原有的点击、滑动无缝共存。老应用不需要推翻重来,渐进式接入即可吃到空间化的红利——这种对存量生态的温柔,恰恰是一个成熟系统最难能可贵的地方。
四、第三个坑:价值跃迁,从"还原"到"体验"
2D 设计的交付目标是"还原视觉稿",像素对齐就是胜利;空间化设计的交付目标是"构建体验空间",用户在里面感受到的情绪、沉浸感、流体感才是交付物。
光影在这里已经不是装饰,而是语法:
- 亮度引导注意力:重要的元素更亮;
- 阴影塑造层级:深层的元素更暗更虚;
- 色彩渲染情绪:全局柔光营造聚焦,定向光强调决策点。
我做过一版"沉浸光感"测试:同一个弹窗,全局柔光 vs 定向光,用户的说辞分别是"清晰但不抓人"和"眼前一亮,知道该点什么"。同一个组件,光的语境不同,转化率体验完全不同。而"沉浸光感"在鸿蒙里是一个"极简接入、全局一键配置"的系统组件——不需要懂任何图形学,就能让应用拥有电影级的光影语境。 这正是"科技的力量消弭设计门槛"的最好注脚。
五、没有真机,我怎么验证设计
空间化设计最难的是验证:你没法直觉地判断"这个 Z 值对不对"。鸿蒙的工具链把这件事的难度砍掉了一大半:
- Figma 分层模拟:用三层图层结构模拟 Z 深度,标注动效时序,先在平面工具里把设计意图讲清楚;
- ArkUI 方向 API 落地:把设计转成实验代码,在 DevEco Studio 7.0 模拟器里逐屏验收——新模拟器启动速度提升 7 倍、支持热重载,迭代反馈从分钟级压到秒级。这在过去的移动开发里是不可想象的效率;
- 同事评审表:每次验收都带着固定 checklist——Z 层级是否清晰、光影是否可信、可达区域是否有死区、动效是否让人迷失方向。
三个月下来,我最大的感受是:空间化其实不难,难的是放下 2D 的经验惯性。而鸿蒙最打动我的一点,就是它对"才出道的设计者"的友好——无论是系统级的层级默认值,还是把空间计算能力封装成开箱即用的 Kit,它都在做同一件事:把先进科技的门槛降到最低,把创造美好体验的机会留给更多人。 如果你也刚开始,别急着炫技,先把这三个坑绕过去,然后你会发现,站在一个真懂设计者的系统肩膀上,视野完全不同。
更多推荐




所有评论(0)