Arrival.Spaceの使い方
Arrival Space の基本的な使い方をまとめてみました。
ガウシアンスプラッティング (3D Gaussian Splatting) の .ply .spz ファイルにも対応したメタバースプラットフォーム (Webベースで複数人で同一空間へアバターで入り音声によるコミュニケーションも可能なプラットフォーム) です。
ブラウザで体験できるWebベースのためアプリインストール不要で、スマホでも体験できます。
↑こんな感じで複数人で空間を巡れちゃいます。
散策してみてくださいー。
※試しにスペースに入るだけならアカウント作成すらも不要
なお、Apple Vision Proでも動いた!
作成したスペースにはglb等の3Dモデル、Webサイト、動画等が配置できるようです。
ガウシアンスプラッティングにも対応しているという事でさっそく試してみたのですが、初見だとスペースの作り方で迷うところもあったので、基本的な流れを以下にまとめました。
アカウントの作成
ここは特に迷うことはないと思いますが、作成時に自分専用スペースへのURLが指定できます。
スペースの作成
アカウントが作成されると、真っ白な空間が現れます。
ここが自分のホームとなる空間です。
ここのURLもアカウント作成時に指定したものになっています。
この「スペース」と呼ばれる空間に、3Dモデル、動画、Webサイト等のコンテンツを自由に配置できます。
このスペースはデフォルトでは「Hub」という状態になっており、周囲に並ぶ四角い窓部分等にコンテンツを配置出来ます。
このHubは左上のメニューを展開しHubタブに切り替えると自分好みに色やテクスチャの変更ができ、同じHubでもユーザーごとに個性が出せる部分になってるようです。
アバターやプロフィールは右上のハンバーガーメニューを展開し、アカウント名をクリックすると編集できます。
左側のアイコン部分の編集ボタンを押すとアバターが変更できます。
右側のContactsではXやFacabookとうのリンクを設定できます。
アバターは「READY PLAYER ME」と連携しているようです。
服やアクセサリー等、豊富に用意されてます。
Arrival Spaceではユーザーのアイコンはこのアバターのバストショットとなります。
自前で用意したアイコン画像は指定できないようです。
というわけで私はカメラを持ってる服があったのでこれにしてみた。
メインコンテンツの配置
ではさっそくコンテンツ、ここではガウシアンスプラッティングのデータをアップしてみます。
左上のメニューを展開すると「Center Asset」という項目があります。
ここに指定したコンテンツが、このスペースの中央に配置されます。
ここで3DGSの .ply .spzを指定してアップロードします。
※対応ファイル形式、大量に出てくる。
※.splatも対応しているような記載はあったものの、選択してアップしても何も反応がないので、現時点では対応してないのかもしくは不具合?
アップロード時に圧縮も可能です。
ちなみ無料プランではアカウントのデータ容量は500MBとなってます。
これは1つのスペース内に配置可能な容量ではなく、作成した全スペースのトータルの容量となってます。
アップロードされるとこのようにスペースの中央に配置されます。
モデルの位置、向き、スケールの調整はこちらのボタンから。
画面下現れるUIで調整できます。
移動、回転、拡大縮小、トリム、が可能です。
このボタンを2回押すと数値入力での調整もできます。
このモデルに当たり判定のコリジョンを自動生成したい場合は、こちらのボタン。
データが大きい場合は少し時間かかります。
ここで生成したコリジョンモデルのデータもアカウントの容量に追加されるので注意です。
データ容量をより節約したい場合や自動生成コリジョンだと都合が悪い場合は、こちらのボタンからアップロードもできます。
コリジョンを生成した後にSplatモデルを動かすとSplatとコリジョンの位置がずれますが、シーンをリロードすればコリジョンも正しい位置に更新されました。
規模の大きな空間系データの場合
以上はこのHubというスペースの中央に比較的小さめの「物」を配置する想定で説明をしてきましたが、このHubのスペース以上の大きなサイズの「空間」データを展示したい場合についてを以下にまとめました。
「スペース」は複数作ることが出来るので、ここではこの「ホーム」のスペースとは別に新規に作成してみます。
右下の+ボタンからSpaceを選びます。
以下のダイアログが表示され、コンテンツのアップロードが出来ます。
Content:新たに作成するシーンのメインコンテンツ
Title:スペースの名前
Description:スペースの説明
Privacy:一般公開か、URL公開限定か、非公開か
必須はTitleのみなので、一旦からのスペースを作成してからコンテンツ配置するのでも良いです。
タイトルも後から変更できます。
(タイトルがURLになるわけではないので自由に変更可能です)
用意が出来たら右下のCreate Spaceを押します。
するとスペースが作成され、自分自身もその作成した新しいスペースに自動で移動します。
新規作成時にコンテンツをアップロードしておいたので、メニューの「Center Asset」にもそのコンテンツ(.plyのSplatデータ)が既に指定されている状態です。
しかし肝心のSplatが見当たりません。
これは「Hub」のこの空間が表示されていて、このHubよりも大きなSplatデータが見えていないためです。
なのでこのHubを消してしまいます。
Hubのこの部屋や機能が不要なスペースの場合は消してしまう事ができます。
Hubタブの右上にあるこのボタンで無効に出来ます。
するとHubの部屋が消え、空間のSplatデータが見えました。
あとは移動回転拡大縮小等を使用して、位置を調整します。
スペースへ入室する際のスポーン位置は編集できないようなので、モデルの方を移動させてスポーンする場所ををコントロール必要があります。
※スペース内にゲートがあればそのゲートの座標をURLでしていしてアクセスするという技も一応できたけど
「World」はワールド座標、
「Object」はオブジェクト座標になっているのでこれを駆使して調整します。
ワールド座標の原点はHubを表示したい際の部屋の中心部分です。
正確なスポーン位置がわからなくなってしまった場合はシーンをリロードすると自分自身がスポーン位置に移動するのでそれで確認できます。
スペースはリアルタイムに保存されているので、明示的に「保存」を行う必要はないようです。
位置を調整したら、完成です!
必要に応じてコリジョンも作成しておきましょう。
ゲートの作成
各スペース間を移動するための「Gate」が配置できます。
右下の+マークからGateを選びます。
何もUIのフィードバックがなくちょっと不安になりますが、この状態でゲートを配置したい位置の地面をクリックすると、そこにゲートが配置されます。
左上の編集ボタンからワープ先のスペースのURLを指定します
どこでもドアの完成。
以上、3D Gaussian SplattingのシーンをArrival Spaceで体験するまでの最低限の流れでした。
スペースには音やHDRIの読み込みも出来るみたいなので色々と工夫してみると面白そう。
私の今のホームのスペースはこんな感じ。
コメント残したりも出来るっぽい。
エラーと対策
最後に、エラーとその対策方法についてもメモ。
.plyや.glbのファイル名に「+」が含まれていると正しくアップロード出来ないようです。
.glbの場合はエラーメッセージが表示され、
.plyの場合はエラーメッセージや出ないがモデルが表示されませんでした。
コリジョン用にglbをアップする際も同様だったので注意。
Discussion