VRChatで動作するアバターギミックを作りました。コンセプトメイキングからロゴやUIのデザイン、実装まで個人で行いました。
コンセプト
1. 無言勢でもゲームワールドを楽しみたい
体をフルに使って遊べるVRのゲームワールドでは無言勢の主なコミュニケーション手段であるチャットを打つ暇がなく、リアルタイムの連携に難がありました。誰でも瞬時に意思伝達を行えるよう支援するギミックがToN ItemStatusです。
2. アイテムのクールタイムを自動計算
アイテムに合わせて頭上の画像が切り替わる仕組みを作り、トリガーを押したら再使用可能になるまでクールタイム中であることを伝えられるようにしました。
アイテムごとに固有のクールタイムを設定でき、インスタンス人数によるクールタイムの増大も自動的に加算されるように設計しました。
3. 身振り手振りで簡潔に伝える
手の位置に合わせて頭上の画像が切り替わる仕組みを作り、身振り手振りだけで自分がどういう状況かを視覚的に表現できるようにしました。
より緊急性のある事柄を伝えるため、アイテムやクールタイムを上書きして表示されるようになっています。
このようなコンセプトを思い描きながらToN ItemStatusを作りました。
技術的な話
開発にあたって以下のような技術を使いました。
技術やサービス
- Unity
- Shader (頭上のビルボード)
- Animation (画像の切り替えやクールタイムの計算)
Shader: 全方向から画像が正対して見えるようにY軸ビルボードを採用しました。VRで見たときに左右で見え方が違わないように両目の位置の中間を基準に描画するなど、VRゲームならではの技術的な課題を経験できました。
Animation: C#スクリプトが使えないため変数の管理はVRChatが用意した特殊なAnimation Behaviour経由になっており技術的制約が多い中、レイヤー構造を極力シンプルに保って見通しの良い設計を心掛けました。
デザインツール
- Figma
ギミックのロゴ・アイコン・UI・エフェクトなど全てをFigmaで自作しました。プロジェクトページを公開しているのでよければご覧ください。
クレジット (敬称略)
ライセンス表記はギミックの配布ページでしています。
鬼ごっこ型ゲームワールド"Terrors of Nowhere"通称ToNの制作者。本ギミックはToNをきっかけに作り始めました。
暴れないビルボードシェーダー(Booth)の制作者。MITライセンスだったためビルボードシェーダーの改造や組み込みをさせていただきました。
オリジナル3Dモデル「フェリス」(Booth)の制作者。VN3ライセンスにて再配布や改造が認められていたためサンプルアバターに使用させていただきました。
Modular Avatarの制作者。非破壊でのギミック作成における前提アセット、いつもお世話になっています。
エフェクトに用いたSEの配布元。BGM・ジングル・SEなど様々な音が掲載されており、利用規約も寛容なためギミックに組み込んでの配布をさせていただきました。