概要
シンクロプラネット 〜星に眠る願い〜 は、自作の惑星型デバイスを操作し、Sony Spatial Reality Display上の惑星を探索する体験作品です。
プレイヤーは正十二面体型のデバイスを手に持ち、傾ける・回す・振るといった操作で画面内の惑星に働きかけます。SRDの裸眼立体視表現と物理デバイスを組み合わせることで、手元の惑星と画面内の惑星がつながっているような体験を目指しました。
制作背景
空間ディスプレイを使ったインタラクティブ作品を制作するハッカソンで、チーム開発として制作しました。
画面上の操作だけではなく、手で持てるデバイスを通して裸眼立体視の空間への没入感を高める体験を作ることを意識しました。
開発プロセス
OBのディレクターのもと、GitHub Projectsを活用したチーム開発として進めました。MVP制作からアルファ・ベータと段階的に開発を進め、世界観や惑星の仕様をチームで議論しながら詰めていきました。
体験の流れ
プレイヤーは惑星型デバイスを持ち、デバイスの向きや動きに合わせてSRD上の惑星を操作します。惑星を探索しながらかけらを集め、星に眠る願いを叶えることが目的です。
傾き・回転・振る操作を単なる入力ではなく、惑星探索の行動として感じられるように、画面内の動きや演出との対応関係を調整しました。SRDの立体空間に思わず覗き込みたくなる理由をどう作るかは、チーム全体で議論しながら設計しました。
自分の担当
7人チーム(ハード2人・ソフト5人)の中で、ハードウェア担当とUnity担当の間に入りデバイス通信の実装を担当しました。自分の作業の大部分はUnity側で、ゲームロジック・演出・通信基盤を中心に実装しました。
- ハードウェアとUnity間のデータ通信の実装
- Unityゲームの実装
- ギミック・演出の作成(木の揺れ、遺跡侵入など)
使用技術
- Unity / C#
- Sony Spatial Reality Display
- ESP32
工夫した点
操作していて楽しいギミックの作り込み
ゲームの進行に直接関係しないところにも、つい手を動かしたくなる仕掛けを入れることを意識しました。木にぶつかると揺れる、遺跡に近づくと変化が起きるなど、操作そのものが楽しくなる演出を積み重ねています。
直感的なデバイス操作
子どもでも説明なしで触れることを目指し、手に持ったデバイスを傾ける・回す・振る操作が、そのまま画面内の惑星操作として伝わるように設計しました。
ScriptableObjectを使ったチャンネルパターン
ESP32とUnity間のやり取りを、ScriptableObjectをチャンネルとして使う構成で実装しました。IMUの姿勢データや台座への設置状態などの入力と、振動・LED点灯などのデバイスへの出力をそれぞれ専用チャンネルに分離し、入力の受け取りとゲーム・演出側の処理が直接依存しない設計にしました。チャンネルの役割に応じて状態保持型・イベント型・パルス型を使い分けています。
展示に耐える構成
IMUの入力値が飛び飛びになる場面でも、スムージング処理をかけることで操作感が損なわれないようにしました。
展示・実績
本作品は、Sony Spatial Reality Displayを用いたハッカソンにて、全11チーム中上位3チームに選出され、入賞しました。手元のデバイスと画面内の惑星が自然に結びつく設計によるSRDの活用方法が評価されました。また、展示初日にプレイヤーが惑星を回す操作の意味が伝わりにくいことに気づき、声がけによる説明をすぐに取り入れた運用体制も評価されました。
課題と今後の改善
展示作品として動くものは作れましたが、入力処理や状態管理の保守性・拡張性には改善余地があります。デバイス入力・ゲーム状態・演出をより明確に分離した構成にしたいです。