ワールドとは
ワールドは、景観や体験をひとまとまりにした空間的コンテンツです。
これを元に「スペース」や「イベント」などの空間インスタンスが生成され、複数のプレイヤーが同時に参加できます。
誰もいなくなったスペースや終了したイベントではインスタンスが破棄され、自然にマルチプレイ対応となる設計がされています。
ワールドは UnityのScene で構成され、3Dモデリングや既存アセットの配置によりオリジナル景観を作成可能です。 Clusterで操作可能なオブジェクトは「アイテム」と呼ばれ、GameObject を通じてインタラクションを実装します。
インタラクションの種類
アイテム以外にも、以下の方法でインタラクション(動き・反応)を実装できます。
トリガー・ギミック
Unityの標準機能を組み合わせて動作を定義。
初心者向けで視覚的に分かりやすいですが、扱えるデータに制限があります。
ClusterScript
JavaScriptベースで柔軟な処理を記述可能。
高度なインタラクションが可能ですが、コードの理解が必要です。
どちらもネットワークプログラミングの知識は不要です。基本的にはどちらか一方を選ぶことが推奨されています。
データの保存と通信
ワールド内の状態はインスタンス終了時に破棄されますが、以下の方法で状態を扱えます:
セーブデータ
プレイヤーごと、ワールドごとに異なるセーブデータを保持できます。
他ワールドと混ざることはなく、ゲーム的な継続体験を可能にします。
外部通信
外部のWeb APIやサーバーと通信し、ワールドを超えたデータ連携が可能です。
ユーザーのランキングや共有設定などに活用できます。
ワールドの管理と公開
Creator Kitで制作したワールドは、まず 非公開 状態でアップロードされます。
動作確認後、公開に切り替えることで、プレイヤーが参加可能となります。
- 非公開: 開発中やテスト用。プレイヤーには表示されません。
- 公開済み: ワールド一覧に表示され、誰でも参加可能な状態。
公開済みのワールドはイベント会場としても使用できます。必要に応じて 非公開に戻す ことも可能です。
ワールドクラフト
UnityやCreator Kitを使わずに、アプリ内で 複数人で空間を制作 できる機能です。
クラフトアイテムをその場で設置しながら、体験しながら作れるのが特長です。
ワールドクラフトで制作された空間も「ワールド」として投稿可能です。
投稿された内容が複製され、新たなインスタンスとして起動されます(オリジナルには影響しません)。
また、インスタンスに誰もいない時は状態が保持されますが、物理演算やスクリプト実行は行われません。