1h room making in Neos VR~解説編~

はじめに

皆様こんにちは、VR生活満喫してますでしょうか?はまどりと申します。

先日こんな動画をアップしました。気分的には「自分のアバターがVR空間で空飛びながらわちゃわちゃ部屋作ってる!かっこいい!」位のテンションでしたが思ったより反響があり、「どうやってやってるんですか!?」という声もあったので、解説兼ネタばらしの記事を投稿しようと思います。
動画内の時計ベースで説明を挟んでいきます。重要そうな話題は見出しつけておくので↑のリンクからどうぞ。

今回使うツールチップ達

今回使うツールチップはDevToolTip、MaterialToolTip、GrabbableSetterTipの3つです。

今回解説しようと思ってた内容が大体書いてあります。なので私は今回具体的にやった作業ベースで記事にしていこうと思いますので、分からなくなったらこちらの記事を参照していただければと思います。

ワールドの初期設定

まずワールドを新規作成しましょう。基本的には何も置いてないGridSpaceが良いと思います。Neosはワンボタンで世界創造です。素敵ですね。

画像1

0:00~1:30
ワールド全体に影響するところを設定していきます。あとから変えることもできますが、そうするとあっちを立てればこっちが立たずという事態になりかねませんので最初が良いでしょう。今回ここの間で設定したのは
・Ground
・Skybox
・Light

画像2


の3つです。
・Ground
地面です。基本的に移動は飛ぶので必要ないのと、今回はビジュアルとして地平線が必要でないため削除しました。必要であればマテリアルを設定しましょう。設定の仕方は後述します。
・Skybox
空です。NeosにはデフォルトでいくつかのSkyBox用のマテリアルが提供されてるのでそれを使っていきましょう。

画像3

Neos Essensials/Skybox内にあるものを適当にダブルクリックして

画像4

装備してトリガーで適用で反映されます。今回は大空です。
・Light
ワールドにはデフォルトで入っていて、LightTypeがDirectionalLightで入ってると思います。いわゆる太陽光だと思っていただければいいと思います。

画像5

大体いい感じになってますが上記のSkyBoxを変更した場合で、Skybox自身が光を放っている場合に非常にまぶしくなる場合があります。そのためSkyBoxを変更したら一応チェックしておきましょう。強さはIntensityの数字で調整できます。

床を作成してマテリアルの調整をする

1:30~3:30
Neosでは基本的な図形はその場で作り出せるので床、壁、柱あたりはその場で作っていきます。床はクアッドで作っています。
床に関しては中心が原点で良いので生成したクアッドをインスペクターから選択し、ResetPositionで原点へ戻し、ResetRotationをすると向こう側を向いているので角度を90度回転させて上を向かせましょう。

画像6

そして通常通りだと小さすぎるのでscaleを10,10,10に

画像7

細かい調整がいらない場合はこんな感じでばしばし入力しちゃうのが良いでしょう。次にMaterialを設定します。NeosEssensials/Materialの中にあるものからWoodFloorを選択。暗めで良い感じのものを選んで適用します。

画像8

画像9

このままだとクアッドの大きさに対してテクスチャが小さすぎるため大きく拡大されて見えてしまっています。テクスチャを良い感じの大きさにしておきましょう。

画像10

床の設定はOKです。

ざっくりと家具を置いていく

3:30~15:30
床に家具を並べていきます。今回はインベントリにデフォルトで存在するNeos Essensials/3D Modelsの中にあるモデルを使っていきましょう。

画像11

画像12

ここら辺のモデルは基本的につかめるようになっているので一旦つかんで動かしたり大きさ変えたりしてざっくり置いちゃいます。大きさや位置をどのくらいにすればいいか良くわからなかったら体をねじ込んで比較すると分かりやすいのでオススメです。レーザーで掴んだものはトリガーを押すことでいい感じの傾きに直してくれることも覚えておくと作業がはかどります。キッチンやベッドなどの大きいものは誤って掴んでしまうことも多いため先にGrabbableSetterTipで掴めないようにした方がよいでしょう。掴めなくても位置を調整する方法はあるので問題ないです(後述)。

壁や柱を作成する

15:30~23:00
DevtoolTipでボックスの3Dモデルを作成し、壁や柱を作っていきます。柱の位置と大きさはギズモを使っていい感じに編集していきます。ギズモとはDevToolTipを装備しながらセカンダリアクションを押すと出てくるこいつのことです。英語だとGizmo

画像13

こいつが出た状態がモデルを選択した状態となっていて、この状態だと回転させたり大きさを変えたり位置を変えたりできます。この赤緑青の線をDevToolTipを装備し、トリガーした状態で動かすと編集できます。モードの変更は上に並んでる箱をトリガーすると変更できます。他にもいろいろなモードがありますが長くなるので割愛します。今回はこの3つしか使いません

画像14

これはGrabbableじゃない、いわゆる掴めないオブジェクトでも編集できるので、基本的には掴めなくしておいて大丈夫です。掴みはよく暴発して位置がずれてしまうのでので掴めなくしておきましょう。

マテリアルの色の変更

壁のマテリアルはあんまりこだわり無かったので、単色のマテリアルを新規作成して色を作成しました。単色のマテリアルであれば大体どのマテリアルでもColorを変更すれば色が変わると思います。ここをクリックするとカラーパレットが出るので活用しましょう。新しいマテリアルの作り方などは先述のWikiを参照してください。

画像15

NeosVRでは適用した後に変更しても反映されるため、いったん反映させてから試行錯誤するのが良いでしょう。(19:00~20:30まで1分半も悩んでますね。更新点です)
また、同じマテリアルを適用しておくと後々変更した際もすべて同じように変更が適用されるので覚えておきましょう。
壁が一つできたらそれを複製→移動→複製→回転→移動→複製→移動と繰り返して四方に張ります。

23:00~33:30
壁を貼り終えたら今回作らないところをボックスを作って埋めます。ちゃんとした家だったらここら辺がトイレでここら辺が下駄箱かな~と思いをはせながら埋めちゃいましょう。
その後ボックスを変形させてドアを作って(30:00~33:00)部屋の構造は終了です。
天井はないです。天井があると圧迫感があるのでつけませんでした。決して光源の調整が面倒だからではありません。

家具の位置を決定する

33:30~37:00
掴んだり、先述のギズモを使ったりして確定させていきます。忘れずにGrabbableSetterTipで掴めないようにしておきましょう。
位置の決定とは別の話ですが、壁で囲ったことで少し部屋が暗くなってるかもしれません。あらためてDirectionalLightを調整しても良いですが、ライトのモデルを配置しても良いかもしれません。

画像16

一部のライトのモデルにはLightのコンポーネントが入っており、光源として機能します。ただ最初のDirectionalLightのような太陽光ではなく、特定の点を中心に光が広がるタイプの光源になってます(LightTypeがPointになっているため)。この光の強さも調整ができるので色々いじって使ってみるのも良いと思います。上手く使えるとリアリティが出て良い感じになります。

カメラの位置を変える

37:00~39:00
ちょっと見にくいのでカメラの位置を変えます。Neosのカメラは位置を保存しておくことができるのであらかじめ設定しておけばよかったですね。更新点です。

+αを作っていく

39:00~58:00
部屋は大体できたので、今までの技術を組み合わせて色々作っていきます。
・窓
壁の一部を狭める→新しくボックスを上に配置して枠にする
・ベランダ
下記の組み合わせで作成
床…クアッド+Curpetのマテリアル
柵…シリンダ+灰色のマテリアル
手すり…ボックス+Woodのマテリアル
・棚
ボックス+灰色のマテリアル
・カーペット
カプセルを平べったく潰す→Curpetのマテリアルを適用→テクスチャサイズを大きめに
・扉(20:00~)
ボックス+灰色のマテリアル

草を生やす

動画中だとちょっとわかりにくいですがベランダはちょっと草が生えています。

画像17

これは家具のように3Dモデルを置いたわけではなく、ペンで書きました。

画像18

Essennsial Tools/Brushesのフォルダにはいろいろなペンが入ってるのですが、その中に草や岩を描ける特殊ペンが入っています。作成物が家だとあまり使えませんが、公園など作る場合は非常に重宝するので覚えておきましょう。

動くものを調整して置く

58:00~59:00
画面内に動きがあると動画として映えるので置いていきます。NeosEssensialsの中にはおしゃれな家にあるプロペラがあるので、それを使います。少し大きくしたら回転速度がちょっと怖いレベルだったので調整しましょう。

画像19

Spinnerと書いてあるところのSpeedを下げます。
このSpinnerというのはコンポーネントといって、基本的には何にでもつけることができます。インスペクターの下の方にあるAttacheComponentからTransform→Driver→Spinnerとクリックし、Speedに値を入れると回転を始めます。単調な回転であれば簡単なのでぜひ使ってみてください。他にも動かせるコンポーネントはあるので気になったら調べてみてはいかがでしょうか?

完成!

画面に挨拶して終わりです!結局のところ
・モデルを置いて固める
・位置、大きさを調整する
・必要なら色やテクスチャの調整をする
を繰り返しているだけですので、慣れるとあっという間ですね。
今回Neosにあるモデルに限りましたがこれは別にそうする必要はなく、外部から取り込むことで可能性は無限大になります。

こういうのとかを使うと色々と探す手間もないですし、統一感があってとても良い感じになると思います。オリジナルの組み合わせで自分だけの空間を作っちゃいましょう!
ただこういったアセットなどを使う場合は規約を確認し、必要があれば他人が保存できない処置を施しましょう。具体的にはSimpleAvatarProtectionを各モデルに適用する必要があります。

画像20

Attach ComponentからUsers/Common Avatar System/ SimpleAvatarProtection を選択すると付与することができます。これで自分以外の人が保存したりPCにエクスポートしたりできなくなります。

あとがき

解説が必要そうなところは書ききったつもりですが、いかがだったでしょうか?「端折られてるこの部分の解説が欲しい!」などありましたらコメント貰えると追記するかもしれませんので、ぜひコメントください!



この記事が気に入ったらサポートをしてみませんか?