Astra Tarot MR
Astra Tarot MR 是我于 2026 年 3 月独立完成的塔罗牌混合现实体验。用户佩戴 Meta Quest 3S,在真实房间中放置虚拟牌桌,完成抽牌、翻牌与近距离查看,再结合 AI 解读思考自己的问题。项目包括体验流程设计、空间 UI 和 Unity 交互原型开发。
项目面向对塔罗感兴趣、希望借助卡牌整理思路的用户。设计保留洗牌、翻牌与观察牌面的过程,并提供单牌说明与整组解读,分别支持认识卡牌和理解本次牌阵。
体验流程与三张牌阵
体验使用“过去、现在、未来”三张牌阵,牌阵即卡牌的位置及其含义安排。用户先放置牌桌并确定问题,再抽牌、翻牌和查看牌义,最后主动请求 AI 解读。卡牌操作与内容生成分成两个阶段,由用户决定何时进入阅读。
- 进入并放置牌桌保留现实房间的视野,调整虚拟牌桌的位置。
- 确定问题语音问题输入为调试中的可选功能;未输入时使用通用解读。
- 洗牌、抽牌与翻牌从牌组中抽取三张牌,显示牌面及正逆位。
- 查看卡牌用手柄将卡牌拉近,阅读牌名和基础牌义;松开后归位。
- 请求 AI 解读结合问题与本次牌组生成解读,以文字和语音呈现。
- 结束或重新抽牌返回标题界面,或重新洗牌开始下一轮。
MR 体验演示
视频记录了在真实房间中抽牌、翻牌、近距离查看,以及请求和阅读 AI 解读的过程。卡牌、桌布和面板均为虚拟内容,用户通过手柄射线选择与远距离抓取完成操作。
空间放置与牌桌布局
混合现实(MR)通过透视画面保留现实房间,将虚拟牌桌放置在现实表面上。用户按坐姿和房间布局调整位置,卡牌、水晶球与装饰物作为整体移动,保持牌桌内部的相对布局。
整副牌包含 78 张卡牌,待抽牌组围绕水晶球分层排列,抽出的三张牌进入固定牌位。待抽牌组与结果区分离,让用户通过位置辨认卡牌所处的阶段,也避免将整副牌平铺在桌面上。
卡牌状态与近距查看
抽牌与翻牌独立触发。系统先随机选出三张牌,放入对应牌位;确认翻牌后再显示牌面与正逆位。正逆位表示卡牌正向或倒置的状态,与牌名、牌位一起保留,供单牌说明和后续解读使用。
远处卡牌的细小图案和文字不易辨认,因此查看操作采用远距离抓取与松手归位。卡牌被拉近后朝向用户,侧边显示牌名与基础牌义;松开后返回原牌位。局部查看结束后,用户仍可按原来的排列对照整组牌。
AI 解读与阅读信息架构
单牌说明调用本地牌义,AI 解读则将用户问题、牌位、牌名与正逆位组织为结构化输入。点击“AI Interpretation”后提交请求,生成期间显示加载状态,结果返回后进入阅读面板。主动触发保留了用户先观察牌面、再阅读解释的节奏。
阅读面板将问题与牌组摘要放在左侧,详细解读放在右侧。右侧内容按牌位分段,并附上整组说明;长文本支持手柄滚动与语音朗读,用户阅读时可随时核对问题和抽牌结果。
解读以娱乐和自我反思为用途。提示词要求回答围绕本次问题与牌组展开,避免作出确定性的预测,或提供医疗、法律和财务建议。
视觉语言与多模态反馈
视觉以深蓝、古金和星象纹样为主。卡面采用新艺术风格的插画,按钮和阅读面板使用哥特式装饰边框,与桌布、水晶球和魔法书保持同一主题。
视觉、声音与触觉反馈共同标识操作状态:射线指向按钮时改变其外观,点击配合声音和手柄震动;抽牌光效集中在牌组附近。阅读阶段调整道具位置,减少对文字面板的遮挡。
Unity 原型与交互实现
原型使用 Unity、Meta XR 与 OpenXR,面向 Meta Quest 3S 开发。空间放置模块负责牌桌定位,牌组模块管理洗牌、随机抽取和正逆位。抓取交互基于 Meta Interaction SDK 实现,并加入原牌位归位逻辑;AI 模块管理请求、加载状态、结果展示与语音合成(TTS)。
卡牌数据与视觉表现分开管理。同一份抽牌结果用于桌面展示、单牌说明和 AI 请求;查看或移动卡牌只改变呈现位置,不重新生成牌名、正逆位或牌位数据。
后续迭代计划
下一轮优先处理语音转写(STT)与头显内阅读,再补充历史记录。任务式可用性测试将覆盖牌桌放置、抽牌、单牌查看和解读阅读,记录任务中断、误选及协助需求。
- 语音输入与错误恢复
- 测试头显麦克风采集与语音转写,补充录音状态、识别结果确认和重试入口。
- 首次使用引导
- 说明牌桌放置、卡牌抓取和归位操作,支持初次使用 MR 的用户完成一轮体验。
- 空间阅读可用性
- 测试不同坐姿下的文字大小、面板距离和朝向,增加字号与位置调节。
- 解读记录与回看
- 保存本次牌组、问题和解读,支持之后回看。