VR Chat ワールド作成初見プレイ(順次更新)

これまでの記事をほっぽり出してVR世界に旅立っていました、イヴです。一応整地はたまにちょっとやってますが、遅々として進まず。
VR Chatを始めてだいたい2か月ちょっと経ったところで、やりたいことができたので、その目的のためにワールドを作成してみようと思います。
Unityはアバター導入でちょろっと触った程度。「改変?クリスタでテクスチャならいじれますけど?」というレベルの初心者です。

本当に笑っちゃうくらいUnity何もわからん状態ですが、ともかく目的のために、逐一調べたり勉強したりしながらワールドを作っていきます。

〇日目、は、作業日数の話をしているので、連続でやっているわけではありません。


発端

Call of Cthulhu(CoC、通称「クトゥルフ神話TRPG」)をご存じでしょうか。サイコロころころしながらキャラクターになりきっておしゃべりして理不尽に死ぬゲームです。このゲームのいいところは、サイコロと紙とペンがあればできるところ。オンラインでのセッションは何度もやったことがありますが、一度でいいから集まってセッションしてみたい!と、ずっと思っていました。

VRCのフレンドとCoCの話をしているときに、VRCの中でなら居住地がどんなに離れててもバーチャル空間で会ってセッションできるじゃん!と気づいてしまいました。それなら作ってみようじゃないか。「CoCが好きで、家でセッション開いてくれる友人の家」を!というのが発端となり、今回のワールド作成が始まりました。

目標

今回作るワールドを最初に思いついた時の上面図がこちら。

手書きなのでちょっと見づらい…

ここから導き出した条件は次のような感じです。

  • ダイスを振れるギミック(一番大事)

  • 大型の動画プレイヤー

  • Image Pad(大型ディスプレイを動画プレイヤーと切り替え可能にしたい)

  • QV Pen

  • 一部のエリアでボイチャを隔離できるシステム

  • 鏡(オンオフ切り替え機能付き、HQとLQも用意したい)

  • ベッド(おやすみワールドにもできるように)

  • Night Mode(同上)

  • Quest対応

  • できればJoin logと時計が欲しい

それでは、頑張っていきます。

1日目~最低限の部屋作り~

とりあえず、形から用意するのはハードルが高いので、既存のワールド用の外枠をBoothから借りてきます。フレンドのぱんださんがたくさん無料のおうちを公開してくれているのですが、その中に上面図とほぼ間取りが同じで広さも理想的なものを見つけたので、こちらを借りちゃいます。

【1日目の目標】
動画プレイヤー、image pad、QV Pen、鏡の設置と、何となくそれっぽい部屋になるように適当な家具などを置くこと。

ダイスのシステムとかは難しそうなので一旦後回しにして、普通の部屋から作っていきます。
まずはベッドルームとリビングっぽい部屋の間の壁は邪魔なので取っ払ってしまいます。玄関っぽい部分をボイチャ隔離エリアにするためにドアも移動して、玄関よりは家の中のドアっぽいアセットに変更しました。

もとは左奥の空間に玄関扉がありました
テレビのあった場所に動画プレイヤー

動画プレイヤーは一番よく見る気がするiwa sync3を導入しました。Boothのページにも「設置はプレハブを置くだけで完了です。」と書かれていますが、導入が想像の数十倍簡単でびっくりしました。本当に置いただけでとりあえず動作してくれた…。

ベッドサイドにQV PenとImage Pad

これでKPからPLに地図を見せたり、ペンでちょっとしたメモをとったりできますね。Image Pad右下あたりの黒い焦げ跡は、もともと置かれていた家具の影です。なんと今回お借りしたぱんださんのワールドは、ライティング設定済み、ベイク済みの状態で配布されているのですぐ使えます。ただ、このように壁やら家具やらをどけると焦げ跡があるので、後でベイクしなおす必要があります。まあそれは最後の段階にやることだと思うので、当分は焦げ跡と仲良く生きていきましょう。
枕もとの黒い長方形のものはiwa syncの可動式ディスプレイです。いずれInage Padの大画面とiwa syncの大きいディスプレイを切り替えられるようにしたいのですが、切り替えてもこれがあれば動画が見られるかなと思ったので設置しました。

あとは適当に家具を置いていきます。本当に適当。木目調の家具と植物をメインにして、ナチュラルな感じにしていこうと思います。
インテリアの勉強はしたことありませんが、あつ森400時間やりこんでるので何とかなると思ってます。あつ森の記事は過去に2回書いてるのでよかったらぜひ。

話がそれましたが、なんちゃってインテリアコーディネートをやっていきます。とりあえず同じ木材を使った家具を並べていけばおおむね統一感は出る気がします。後で全体のバランスを見ながらテクスチャとか入れ替えていこうと思いますが、とりあえず大まかに配置していきます。

ベッド周りを適当に整えたり
テーブル周りを快適にしたり
それっぽい本

実は作業した翌日に記事を書いているので、この本のアセットのBoothページが見つけられなくなってしまいました…。以後気を付けます…。マウスで雑にテクスチャ描いたので、そのうちもうちょっとちゃんとやります。できれば開けるギミックが入ってる本に差し替えたいです。
【9/11追記】本のアセットのページ見つかりました。

窓の外はUnityの地平

この窓のところにダイスギミックの画面を表示する可能性があるので、とりあえずスカイボックスは放置してます。(クエストでも重くないスカイボックスの作り方も探さないといけない…)

ソファの隣のミラー

ミラー設置したはいいんですが、デフォルトでオンだし、一度オフにするとなぜかオンにならないので、やり直しですね…。
それから、スポーン地点がもともと玄関だったあの何もない奥のスペース(ボイチャ隔離エリアになる予定)になっているので、ドアの前に移動したいです。

2日目~ミラーの切り替え実装~

【2日目の目標】
ミラーの修正、家具の細かい位置調整

HQミラー
LQミラー

まずミラーですが、初日に入れたものとアセットを変えて、HQ/LQの切り替えスイッチ付きのものを使うことにしました。導入して位置調整するだけですんなり修正できたのでよかった。スイッチの見た目だけ、ワールド内で使うつもりのほかのスイッチに交換してもいいかも…。
スイッチの位置がやや高いのと、鏡が床に接地してないのが気になるので直したいです。

棚の高さを少し低くしました。気持ちばかり。

ケモノアバターを使ってるので身長が低くて、人間アバター基準で物を配置すると全体的に高すぎるんですよね…。なので、QV Penとかもかなり低めの位置に置いてます。具体的には、ケモノアバター界でも比較的低身長なシャルベ君で届く高さを目安にしてます。シャルベはいいぞ。

ずらしすぎたテーブル

ミラーが結構ソファに近かったので、ソファ、テーブル、ラグ、動画プレイヤーを少し窓側に寄せました。テーブルはずらしすぎたので明日にでも戻しておきます。

2日目はちょっと色々してたら作業開始が遅くなったので、この他に雑貨のサイズをちょっと修正する程度しかできませんでした。

3日目~join log設置~

【3日目の目標】
join logの設置、iwa syncの調整

難なく設置完了

一番よくみる気がするjoin logを設置しました。あと、ドアを少しjoin logがある側に寄せました。ソファに近すぎたので。

iwa syncも調整

iwa syncについては、Queリストを付けました。セッション中のBGMをあらかじめ用意しておけるかなと思って。
それから、デフォルトで動画を流すようにしました。

CoCの定番BGMと言えば「旧支配者のキャロル」ですが、原曲はCarol of the Bellsというクリスマスソングです。それをかっこよくチェロアレンジした動画を流しておくことにしました。Piano guysの動画はどれも最高にかっこいいアレンジばっかりなのでおすすめです。ピアノそんな風に使っていいの!?みたいなクレイジーな奏法をあれこれやってくれます。楽しい。

このほかに、昨日気になった家具の位置の微調整など、少々作業をしました。眠たいので今日はこれだけ…。牛歩ですね…いつ完成するんだろうこのワールド。

4日目~敗北を味わう~

【4日目の目標】
いい加減ダイスシステムを入れたい!!

入れました。

ダイスシステム、読み込むだけで設置はできたのでいいんですが、背景が半透明だったので窓との共存が悩ましいな、ということで、とりあえずカーテンをかけてみました。カーテンごとオンオフできたらいい感じになりそうかな…?
しかし今日は金曜の夜、仕事でへろへろだしお酒も飲みたいのでここまでにします!(くず)

動きはしたけど、もしかしてこれd100しか振れない…????
時計も置いてみた

ダイスシステムの使い方があんまりわからないのと、時計が0時になっちゃって動いてないので、週末にいろいろ調べようと思います!お酒飲んでくる!!!

5日目~初めてのライトベイク~

ダイスシステム、改めて商品ページを見たら、こう書かれてました。
* ダイスは2面から100面まで、設定で変えることができます。
* ダイスやボタンの配置は変更できます。
つまりちゃんと設定をし直さないとですね。デフォルトでは1d100から12d100までを振れるように設定されている、と…。CoCでどのダイス使うかなってとこから洗い出さないといけないので一旦保留。prehab設置するだけで簡単に動作してくれることが分かったので、工夫次第でなんとでもなりそうな感じは見いだせました。たぶんボタンに何dいくつか割り振れる(そして「何」が最大12、「いくつ」が最大100)ということな気がするので、どう割り振ったり切り替えたりするか考えます。

親のDice Sizeで何面ダイスか決められるっぽいので、ダイスごとに設置してボタンで切り替えかも

【5日目の目標】
腱鞘炎でマウス握るのも痛いので、なんとかして昨日だめだった時計だけでもリトライしたい。

ここまで、割愛したけどマテリアルエラーがちょっと出たくらいで(シェーダー入れ忘れが原因)順調だったんですが、昨日突然思いっきり躓きましたね…時計ちゃんと動いてほしいので原因を…さがすぞ…。
昨日埋め込み忘れてましたが、時計はこれ↓を使いました。

Program SourceがNoneになってるのが悪そう…?
とりあえず入れてみた
うーん…???

ナンデェ…???
ちなみにU#は読めないし書けないので、中身見たけど何もわかりませんでした…。Simpleじゃない方を入れてもだめ。

一旦あきらめて別の時計を入れてみた

別の時計にしてみたら動きました。理由はわかりません。なにもわからん…。誰かおしえて…。ちなみに最初の時計はU#不要、二つ目のほうはU#製でした。
なんにせよ動いたので、後者の時計を採用することにします。

今日の目標には入れてなかったのですが、そろそろ床の焦げ跡が気になってきたので、ちょっとライトベイクに手を出してみようかなという気持ちになりました。このお部屋はすでにライティングされているのですが、ベッドルームとほかの場所で明るさが違ったのでそこだけ同じ数値に変えて、あとは…習うより慣れろの精神。

検索して最初に出てきたこちらのサイトを参考にやってみることにします。まあ、ベイクは失敗して何度かやり直すのが普通って聞いたし、気長にやっていこうと思います。
そもそも全体の明るさとか雰囲気をあんまり考えてなかったんですが、コンセプトが「友達の家」なので、一般的な住宅の明るさくらい…?とりあえずリアル自室と近い感じを目指してみようかな。私は明るすぎるの苦手なので、色を見る必要のある作業が生じない限り、色温度低め、明るさもやや暗めくらいにしてることが多いです。

一回目のライトベイク
試しに棚をどけてみた

なるほど~~~~!!!!!なんだこれ~~~~!!!S字の棚の影がオモロなことになってますね。なんだこれ。
さすがもとからライティングされてただけあって全体的に割といい感じです。ほかの棚とかはきれいに焼けてます。でもなぜか、あの窓際の棚だけおかしいですね…。

棚のStaticを外してみた

何度かやってきれいにならないので、原因を探そうと思っていじってみたのですが、棚のStaticを外したら汚いの全部消えたのでこの棚が原因みたいです。棚のUVが問題かな…?本とか植物は動かしても結果変わりませんでした。
修正は後日試すとして、気になっていた焦げ跡が消えたので今日のところは一旦よしとします。ついでに床の色すこし濃いめのほうが好きなのでちょっといじりました。
うっかり時計の針をStaticにしてしまって時計が止まったのはお笑い。せっかく動いたのにそんなんで止めないで。

この後、ダイスシステムの切り替え用ボタンを追加しようとしたりしましたがうまくいかなかったので一旦保留にします。U#もCyanTriggerもなんもわからん…。
私は習うより慣れろの精神が強いのですが、そろそろまじめに勉強をした方がいいかもと思い始めました。最初から難しいものを作ろうとしすぎな気もしますね…普通に家具置いた普通の部屋から作った方がよかったと思います(実は裏で一つ作ってます)。

気になってたimagepad右下の焦げ跡が消えました
カーテンの隙間から見えるUnityの地平
時計はマテリアル差し替えてかっこいい木目調になりました

時計を動かすのが目標とか言ってたのに思いのほか作業してしまいました。
昨日取り付けたカーテンも色をグリーンにして、部屋の全体の雰囲気に合わせておきました。というかカーテン取り付けたなら外の景色あんまり見えないから適当なスカイボックス置いておけばいいかも…?カーテンごとダイスシステムをオンオフするかもしれないのでもう少し考えます。

6日目~気晴らし~

気晴らしに自室を作ります。ワールド作成の気晴らしがワールド作成って完全にドツボにはまってる感じがしますね。

自室の要件はこんな感じ

  • 動画プレイヤーと再生リスト

  • ベッド

  • image pad

  • QV Pen

  • Join Log

  • 狭いけど居心地がいい雰囲気

狭い部屋がよかったのですが、ちょうどぱんださんの最新のワールドがいい感じに狭かったのでお借りしました。
で、7時間くらいかな?色々いじくってこうなりました。7時間ってだいたい1日の労働時間よりちょっと短いくらいなんですが、あっという間でした。同じ「PCの前にいる状態」でも、楽しいとこんなに早いんだな7時間…。

やってみたかったテレビ風の動画プレイヤー
でっかいクマチャン
ねんねルーム三点セット
ローテーブルの上のスイッチを押すとプレイリストが出ます

特に軽量化せずに65MBくらいで済みました。狭い部屋はいいですね。
スカイボックスはUnity asset storeで無料のものを使っています。地面は作ってないので家が宙に浮いてます。

狭いし、何を置くかあらかじめほぼ決めてたし、なによりはじめからライティングされてるのでかなり楽をして作ったワールドですが、頑張れば1日で作れるんだなということが分かってちょっと嬉しくなりました。

【追記】
なんとここからずっとCoC用のワールドの作成が滞っているのですが、自室のほうを更新していくにあたっていろいろ覚えたこととかがあるので、近いうちにそれを生かしながら続きを作りたいです。進捗あったらまた更新します。

7日目~プログラミング始めました~

え?何しとん?って思いました?私も思います大丈夫です。
前々から入れようとしているダイスシステムは1つのオブジェクトでダイスの面数1種類しか使えないので、色々想定すると11種類必要になってしまいます。(ダイスは2面、3面、4面、5面、6面、7面、8面、10面、12面、20面、100面がほしいです)
え?11種類ヒエラルキーに放り込むの?切り替えどうするの??などと考えているうちに、もういっそ自分でダイスシステム作ってしまった方がいいような気がしてきて(気のせいかもですが)

CoCオンラインセッションでよく使うダイスと言えばやっぱこれなのですが、最後に任意のダイスを指定できるのがあるんですよね。これ導入したいじゃん、って思って…

衝動的にVBAを書き

ダイスの個数と面数をプルダウンで指定して「DICE ROLL」をクリックするとI列に各ダイスの結果が表示されて合計も出してくれるマクロを唐突に組みました。(プログラミングはVBAしかわかりません)
で、これをMisskeyで見せたら、フォロワーたちに、VBAでこれができるならUDON#でも行けるのでは?と励まされたので、ちょっと頑張ってみようかなと思ったはいいものの全くわからん!!!!え、どうしよう!!!!

で、ずいぶん前にいただいたまま放置していた「ナビつき! つくってわかる はじめてゲームプログラミング」を出してきてやり始めました。Unityはほぼ触らずずっとSwitch 握ってました。
というわけで、しばらくU#習得の旅に出ます。(失踪はしません、絶対に。)

8日目~C#完全に理解した~

7日目に引き続いて、とりあえずC#で書けないかな?と思い、ほんとに基礎も何も知らないのでHello worldからやり始めました。

紆余曲折あって、ダイスの面数と個数をプログラム中の変数に放り込めば、24個までの任意の面数のダイスが振れるプログラムができました。この後ちょっと改良して、各ダイスの結果それぞれと最終的な結果が出力できるところまで作りました。
これをU#に置き換えて、ダイスの面数と個数を指定するUIと、結果を表示するUIを作って、設置して、うまく動けば、とりあえずVRCoCができるようになりそうです。ゴールが見えてきた…頑張ります!

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