機能・設計検討
目的
「User-generated なワールドからインスタンスが作成できる」 というコア機能の技術検証を優先する。
概要
- クライアントは Unity 固定
- インスタンス内の状態管理は Photon Fusion (サーバーモード) を使用
- ワールドやアバターの管理のために外部のサーバーが必要なら go で実装する
基本要件
- ワールドは 3D オブジェクトを持つ
- ワールドからインスタンスが作成できる
- プレイヤーはインスタンスに参加できる
- プレイヤーはインスタンス内で移動できる
- 他プレイヤーの動きがリアルタイムで反映される
- プレイヤーはアバターとして 3D モデルの見た目をしている (アバターはアニメーションする必要はない)
- ワールドとアバターはユーザーが自由にアップロードでき、それを使用できる
- 近くのプレイヤー同士で音声通話できる
マイルストーン
- Photon Fusion で 1 インスタンス、プレイヤーがカプセルのマルチプレイを作る
- ワールド固定でインスタンスを立てて参加できるようにする
- インスタンスを立てる際に Asset Bundle 形式のワールドを選べるようにする
- glTF 形式のワールドに対応する
- アバターを選べるようにする
- VRM 形式のアバターに対応する
- glTF 形式のアップロードされたワールドからインスタンスを立てられるようにする
- VRM 形式のアップロードされたアバターに対応する
- Photon Voice で音声通話機能を実装する