Resonite 自体には、ユーザーアバターとそれに関連する行動の概念はありませんが、コンポーネント の組み合わせ次第で、結果として慣例的な(ただし、複雑に組み合わせができる)アバターシステムをカバーしたものを提供している。しかし、Resoniteでよくあるように、自分のニーズに合わせて完全に独自のものを作ることもできますし、アバターが全く必要ない場合は完全に省略することもできます。
このページでは、Resoniteのアバターシステム構築の背景にあるアイデアとコンセプト、およびさまざまな動作 (音声や動きなど) の処理方法について説明します。
基本概念
Resoniteにあるすべてのワールドは、コンポーネントが付いたオブジェクトスロットの階層から構成されます。すべてのアバターシステムはこの同じ階層の一部であり、ユーザーのアバターとシーン内の他のオブジェクトとの間に明確な区別はありません。これがシステムに大きな柔軟性を与えている所以です。
Resoniteのワールドには、User JoinedとUser Leftが用意されています。これらのイベントは、新しいユーザーがセッションに入退出するたびに呼び出されます。これには、セッションの開始時に暗黙的に参加するローカルユーザーも含まれます。セッションに参加しているユーザーは、それ自体に対して何も行いません。アバターも声も操作形態もありません。参加したユーザーは、その時点ではワールドと対話する方法がありません。
このような動作を実現するには、SimpleUserSpawnコンポーネントとCommonAvatarBuilderを組み合わせたコンポーネントをワールドに追加する必要があります。これらのコンポーネントは、新規ユーザーが参加した際にワールド階層内に新規オブジェクトを作成し、ユーザーからの入力やマイク入力を読み取り、それらをシーン内のオブジェクトに反映させる適切なコンポーネントを割り当てます。さらに、(必要に応じて)3Dモデルやパーティクルシステムなどの視覚要素を提供するコンポーネントもオブジェクトに付加します。
このプロセスのすべての工程は完全にあなたの裁量とニーズに応じて決定できます。あなたが構築したものは、Resoniteが自動的にすべての接続クライアント(および今後接続する可能性のあるクライアント)に複製されます。また、構築作業をホスト側で行うか、接続したクライアント側で行うか(あるいは他のクライアント、例えばヘッドレスクライアント上で行うか)もあなたの自由です。例えば、クライアントはローカルで利用可能なデータを使用して、各自のアバターを個別に構築することも可能です。
一般的なアバターシステム(コモンアバターシステム)
アバターはほとんどのアプリケーションにとって重要なものです。そのためResoniteには「Common Avatar System」、または「Common Avatar」と呼ばれる強力なアバターサブシステムが付属しています。このシステムはツールで典型的なアバターを自動的に構築し、ユーザの現在設定しているアバターをクラウドから読み込む処理を行います。
また、システム内で任意のオブジェクトから簡単に新しいアバターを作成できるコンポーネントのセットも付属しています。これによりResoniteのツールを使用してインポート済みのモデル、ペンやツールで書いたもの、形から新しいアバターを作成したり、ProtoFluxを使用し、動作を追加したりできます。