この記事はS.Haruyaさんによって寄稿された記事です。
オリジナル記事はこちら:https://zenn.dev/sfuka/articles/962dec5b22f06d
はじめに
ここではResoniteでワールドを作って公開するまでの手順を最小限解説していきます。
もちろんこの記事の内容がすべてではないし、読んだからといって思った通りのワールドが作れるわけじゃなくあくまで基礎の基礎。
ここではResoniteの基本操作、Devtoolの使い方、コンポーネントとはなにかについては理解しているものとして説明していくのでご了承ください
基本となるワールドを作成する
まずベースとなるワールドを作成します。
ダッシュメニューのホームにある『新規ワールドを作成』のボタンを押しましょう。
次に出てくるメニューから好きなテンプレートのワールドを選びます。
右のセッション設定はあとから自由に変えることができるのでひとまずのセッション名と、今が人が入ってきても構わないかどうかでアクセスレベルを設定しておきましょう。
Tips『テンプレートワールドの種類』
ワールドを構成している中身について
今回は一番よく見かけるGridを選んで進めてみます。
新しいワールドが作成されるとそこにはワールドを構成する最低限の要素がそろっています。
DevToolを使って確認すると次のようになっています。
- 初期に置かれているスロットについて
- ユーザーのスポーンする位置を変えたい
- ユーザーがスポーンした時の向きを変えたい
- ユーザーがスポーンする範囲を変更したい。
- 光の方向を変えたい
- ProceduralSkyMaterialの特徴
- 手順1:ワールドオーブを取り出す
- 手順2:メタデータを変更する
- 手順3:同期が終わるのを待つ
- 手順4:Resonite EssentialsからWorld Publisher/Submitterを取り出す
- 手順5:上部の球体の中にワールドオーブを置く
- 手順6:中央にあるボタンを押して…しばらく待つ
- テンプレートワールドの種類
- スロット名がオレンジのものは?
- 屋内ワールドを作りたい場合のSkybox
- ProceduralSkyMaterialの設定
初期に置かれているスロットについて
初期に置かれているスロットの中には通常変更する必要のないものから、あくまで仮置きで自由に置き換えてよいものがあります。
以下は初期に置かれているスロットの一覧ですが、ユーザーが主に変更する可能性があるものに★をつけてあります。
Root
ワールドの一番親に当たるスロット。
ワールドに必須なコンポ―ネットが多数設定されています。
Controllers
このワールドで使えるロコモーションの種類や設定などで使用されています。
Roles
各権限の設定などで使用されています。
Clipboard Importer
クリップボードからペーストを行うために使用されています。
実際には削除すると外部からの様々なインポートができなくなるので注意です。
★SpawnArea
ユーザーがスポーンする場所として使用されています。
★Light
今現在世界を照らしているライトです。
このテンプレートでは一般的に太陽光を表現する方法として使われるDirectionalライトが設定されています。
★Skybox
Skyboxが設定されています。
このテンプレートでは屋外向けのSkyboxであるProceduralSkyMaterialが設定されています。
★Ground
今ここにある地面です。
Assets
現在ワールドで使用されているテクスチャやマテリアル、メッシュやフォントなど様々なアセットがこのスロット下で管理されています。中は主にシステムが自動で管理してくれています。
Inspector
今開いているこのインスペクターです。
そのほかオレンジで書かれているもの
以下はスロット名がオレンジで書かれているものだが基本気にしなくていい
Tips『スロット名がオレンジのものは?』
SpawnAreaについて
SpawnAreaはユーザーがスポーンする際の場所や向きに影響します。
ユーザーは青の矢印(Z軸の前)の方向を向いて円の中にスポーンします。
ユーザーのスポーンする位置を変えたい
SpawnAreaのスロットごと座標を変更する。
ユーザーがスポーンした時の向きを変えたい
SpawnAreaのスロットごと回転させる。
ユーザーがスポーンする範囲を変更したい。
SpawnAreaのスロットに設定されているCirclePointGeneratorコンポーネントを探す。
そこにあるRadius(意味:半径)という項目の数字を調整する。
Lightについて
このテンプレートワールドではライトはDirectionalライトが設定されています。
このライトはZ方向に向かって平行に照らされます。
そのためこのライトは座標を動かしても見た目の影響がないため作業しやすい場所に移動しても問題ありません。
光の方向を変えたい
Lightのスロットごと回転させる。
Skyboxについて
このテンプレートワールドでは屋外向けのSkyboxであるProceduralSkyMaterialが設定されています。
ProceduralSkyMaterialの特徴
ProceduralSkyMaterialは空の色を疑似的に再現することができるMaterialです。手軽に屋外ワールドを作りたい場合はこのSkyboxがおすすめ。
Tips『屋内ワールドを作りたい場合のSkybox』
更にこのSkyboxは先ほどのLightと連動させることができるため、太陽の位置によって空の色が変わります。
また空に浮かぶ太陽自体の位置もライトの回転に合わせて変わってくれます。
Tips『ProceduralSkyMaterialの設定』
Groundについて
Groundはこのワールドの地面です。
好きにマテリアルを変えてもいいし、このスロットを削除して新しい地面を置いてOK。
自分好みのワールドを作る
自分好みのワールドを作る方法は無限にあります。
Resoniteの場合パブリックフォルダなどユーザーが自由に使っていい素材もたくさんあります。
また自分で作った3Dモデルをインポートして配置することもできます。
わからないことがあったら気軽に色々な人から知見を得るといいでしょう。
ワールドをパブリッシュ(公開)するには
作ったワールドを誰でも自由に開いて使えるようにするにはパブリッシュする必要があります。
ここで紹介する方法はあくまで権利的に問題のない(CC0のアセットなど)のみで作られていることが前提です。少しでも不安がある場合は周りに相談するとよいでしょう
手順1:ワールドオーブを取り出す
作ったワールドのワールドオーブを取り出します。
ワールドブラウザの自分が作ったワールドから公開したいワールドを探します。
そしてワールド詳細のアクションのところにある「ワールドオーブを取得」ボタンを押します。
手順2:メタデータを変更する
ワールドオーブを取り出したらそこからメタ情報を変更します。
オーブをグラブしながらコンテキストメニューを開き「メタデータを編集」を押します。
ここで設定する必要があるのは以下の項目です。
ワールド名
公開される際のワールド名です。
説明
説明欄に表示されるワールドの説明です。
タグ
検索に使用されるタグです。Resoniteでは基本的に検索はこのタグで行われ、更に完全一致が条件になるので検索する場合のことを考えて設定しましょう。
(画像の「洋館のある場所」は「洋館」だけでも検索に引っかかるようにしてあります)
ワールドパス
空でOK
このワールドは誰が開けますか?(アクセスレベル)
パブリッシュする際にはこの設定を誰でも(パブリック)にしてください。
上の設定が終わったら保存を押します。
手順3:同期が終わるのを待つ
保存ボタンを押すとまず同期が始まります。次の手順に行く前に同期が終わるのを待ちましょう。
同期の進行はいつものようにダッシュメニューの上から確認できます。
ちなみにこの状態ではまだパブリッシュされていません。
手順4:Resonite EssentialsからWorld Publisher/Submitterを取り出す
同期が完了したらResonite EssentialsからWorld Publisher/Submitterを取り出します。
このアイテムを使って実際にワールドをパブリッシュします。
左から二番目の台座みたいなアイテムですね。
手順5:上部の球体の中にワールドオーブを置く
World Publisher/Submitterを取り出せたらワールドオーブをそのアイテムの上にある球体の中に入れます。スナップなどするわけではないので自身で入れたことを確認すればOK。
手順6:中央にあるボタンを押して…しばらく待つ
あとはこちらを向いている中央のボタンを押せばパブリッシュ開始です。
ただ場合によっては結構時間がかかったりします。気長に待ちましょう。
このようにSubmitted!と出れば完了です。お疲れさまでした。
数分くらいしたらワールドブラウザの公開されたワールドを確認しましょう。
問題なく公開されていればトップに表示されているはずです。
おしまい
以上ワールドを作成し公開するまでの手順でした。
おそらくこの説明だけではわからないこともたくさんあると思うのでそこら辺にいる人に聞きましょう。その人が知らなくても知ってそうな人を紹介してくれます。それがResoniteです!
(もちろん自分を捕まえて聞いてくれてもOKです)
XやDiscordでの質問も結構有効です。
ワールドの公開は最初は不安も多いと思うのでパブリッシュする際は一度やったことある人に横にいてもらうと更に安心かも。
以上!Resoniteでワールドを作って公開するには、でした!
Tips
テンプレートワールドの種類
Resoniteの新規ワールドを作成で作れるテンプレートワールドは以下の3つです。
Grid
Gridは地面にグリッドが敷き詰められているワールドです。
Resoniteではこちらを好んで使っている人が多い印象でおすすめです。
Platform
Platformは中央にサークル状の地面が置かれているワールドです。
地面の終わりがはっきりしていて個人的には結構愛用しています。
Blank
Blankは地面すらないワールドです。
地面を最初から自分で置く予定がある場合などはこれでもいいかも。
ただ最初にこのワールドに入った瞬間は床がないため一度ロコモーションをノークリップに切り替える必要があるなど、上級者向けのワールドです。
スロット名がオレンジのものは?
スロット名がオレンジになっているものは、ワールドを保存した時に保存されないものです。
たとえは『User SHaruya (ID2F00)』はユーザーなのでワールドが保存するときに保存されては困ります。
なので基本的には勝手に追加されているスロットなのでワールドを作る際には気にしなくてよいです。
ついでに説明するとスロットが保存されるかどうかはスロットの設定にあるPresistent(意味:存在する)のオンオフで決まります。
たとえはGroundはワールドが保存される際に保存されるためPresistentがオン。一方ユーザーはPresistentがオフになっています。
屋内ワールドを作りたい場合のSkybox
屋内ワールドを作りたい場合屋外用のSkyboxであるProceduralSkyMaterialでは環境光の色などが合わない場合があります。
その際はGradientSkyMaterialを使う方法があります。
このマテリアルだと好きな色でグラデーションがかけられるので望んだ環境光を再現できる場合があります。
ProceduralSkyMaterialの設定
ProceduralSkyMaterialは設定を変更することでより目的の見た目になるかもしれません。
SunQuality
空に描画される太陽の見た目について
SunSize
空に描画される太陽の大きさ
Sun
太陽の光として利用しているLight
AtmosphereThickness
大気の圧さ。このマテリアルが疑似的に空を再現しているのでこのパラメーターを変更することで見た目が大きく変わります。
例えば夕日のオレンジを強くしたい場合この値を1.3にするなどです。
SkyTint
空の色合いです。ほかのマテリアルなど違いこの色がダイレクトに空の色になるわけではないですが、空の色合いを調整するのに使えます。
GroundColor
地面方向からの環境光の色です。この色を実際のワールドの地面の色(草原なら緑)に少し寄せることによってより自然な色合いになる場合があります。
Exposure
このマテリアルの強さもしくは明るさ。