雑文録

とりあえず書いたものを置いておく用

into the radius をクリアした(感想・攻略)

半分ゲームレポ、半分攻略情報の共有みたいな感じです。

 

感想要約:かなりストレスの強い楽しさ。よく分かんねえ終末世界のマップをジャンプもできない旋回もエイムも自分の視線方向と手のトラッキングに依存したVRで探索して、銃の安全装置を外そうとして高価なマガジンすっぽ抜けさせて無くしたり、小さい虫みたいなエネミーに咄嗟に狙いをつけられなくてゴリゴリHP減らされて死んだり、胸ポケットに任意装着したダウジングが反応したから手に持って探査してお宝を見つけたぞー!ってやってたら例の虫と人型エネミーの同時攻撃で殺されて、探索出発する前の拠点のセーブデータからやり直しになったり、回復アイテムもマガジンも高いし弾丸はトカレフ弾と9パラからソビエト7.62とNATO7.62まで全部違うから探索中に弾ケース拾っても対応したの持ってねえよ!ってサブアームで対応しようとしたら咄嗟の予備マガジン(腹部のマガジンポーチからインタラクトする)で違うの出しちゃったり、快適性はメチャクチャ低いんだけどそれが良い緊張感になってる古き良き時代のゲーム体験に似ている。

 

まずinto the radiusというゲームについてですが、手っ取り早い説明だとSTALKERのVR版ということになるらしいですが、自分はSTALKERを遊んだことが無いです。更にSTALKERの大元には『路傍のピクニック』というSF小説があり、ここでは外星系から飛来した隕石の墜落地点を周辺として『ゾーン』と呼ばれる極めて危険な異常気象エリアが広がり、主人公は『ストーカー』と呼ばれる探索者としてこの異常気象エリアから未知の物質を持ち帰り換金する探索者のようなことをしています。

この小説では『ゾーン』だけでなく、それによって『ゾーン』の外で起きている社会の変化や人類そのものへの影響と、それらを通して外星系からのコンタクトを解釈するような展開が物語の主軸となっていますが、少なくともinto the radiusにおいては『ゾーン』のみが舞台であり、プレイヤーは『ストーカー』と同じように異常な空間を探索して未知の物質(アーティファクト)を持ち帰ったりするのみの、探索生活の体験がメインコンテンツです。 

この危険な異常気象エリア(ゾーン)の探索生活というのがVRゲームという性質と中々マッチしていて、前提となる機器条件の高さ故に日本のプレイヤーが少なく攻略情報の類いがsteamレビューの1つを除いて存在しないこと、一人称視点がそのまま自分の視界として手探りで攻略していく暗中模索感が、前述の作品における『ストーカー』の世界観と相まって命の危機に瀕した緊張を追体験させてくれます。

プレイヤーへの脅威として大まかにエネミーとアノマリー(ダメージゾーン)があり、特に後者は視覚・聴覚・プローブ(物理的影響を調べるために放り投げる空薬莢入れの袋。路傍のピクニックではナットを使って重力場を探す描写がありましたが、今作は敵の存在から銃器を使う場面が多く、空薬莢を使用することに納得がしやすい)の三種を総動員して探さなければ気付けないものが多いです。

敵との夜間戦闘中に後ろに下がっていたら背後のウェブ(蜘蛛の巣。樹や障害物の間に黒い波模様のようなものが通っていて、入るとHPをゴッソリ持って行かれる。無音かつ無光で頭上を見なければ視認できないため序盤に一番やられやすい)に引っ掛かってあ゛あ゛あ゛あ゛(怒り)となるような、ある意味でストレスフルな体験を緊張感として楽しめる死にゲーに慣れたプレイヤー向けのゲームだと思います。

一方でセーブ機能は任意のタイミングで可能であり、予想もしない初見殺しに溢れているため探索マップ内でもセーブ(1つのキャラクター内で4つのセーブデータを保持できるため、探索前データを残しておけば詰みセーブの危険はない)を小まめにしておいた方がストレスは軽減できると思います。(前記のような初見殺しアノマリー、レベル帯に合っていないエネミーとの遭遇で1時間分の緊張しながら探索したデータが消えると結構メンタルにダメージが入ります)

死亡したら全てのアイテムをその場に落として拠点から再開する、やり込み勢向けの鉄人モードと呼ばれるものもありますが、アノマリーやエネミーの性質を熟知して最適な装備を取捨選択できる熟練プレイヤー向けのエンドコンテンツだと思います。 

 

このゲーム、上記の『ゾーン』探索生活がメインコンテンツとなりますが、それと同じくらいに作り込みが素晴らしいのが銃器の操作です。VR視点で、両手のトラッキングとグリップ(中指ボタン)トリガー(人差し指ボタン)とABXY(左右の親指で操作するボタン)の全てを使って銃を操作します。

無論これも操作の煩雑さに寄与していて、初期装備のマカロフ(拳銃)などXボタンで安全装置を解除してから持ち手と別の手でスライドを引いて装填しないと撃てず、敵を前にして慌てて操作するとYボタンのマガジン着脱ボタンを誤操作して、追ってきている敵の背後に残弾フルのマガジンが取り残される……といった体験は序盤の通過儀礼のようなものです。

一方で、この操作は銃器によって詳細に差別化されており、例えばグロック17はトリガー自体に安全装置が組み込まれているためABXYボタンを射撃前に触る必要がなくマガジン誤排出のリスクが無い、垂直二連ショットガンは弾込めさえすれば装填動作や安全装置の解除無しで撃てるなど、いわゆるFPS的なカタログスペック(威力や精度、重量やリコイル)ではない実銃としての扱いやすさが銃の選出に関わってくるゲームバランスが極めて秀逸です。

一般的なFPSではマガジン弾数の少なさや装填の遅さとしてマイナス要素にしかならない非カートリッジ型のマガジン(垂直二連やチューブマガジン等)も、カートリッジ自体への装填に一発ずつ弾を手動で込めなければならず、腹のマガジンポーチにサイドアームのマガジンと合計5つまでしか装備出来ない都合から予備武装としての重要性が上がっています。

銃は射撃や被弾によって耐久度が下がり、これはスプレーを吹きかけてブラシで錆びを落とし、トイレットペーパーを巻いた金属棒で銃口を掃除することで回復できます。またレールシステムを後付けで搭載してレーザーサイトやドットサイトを搭載したり、排莢&装填のレバーを無意味に(両手コントローラーとグリップボタンで)引いたりと、これまではサバゲーで体験するしかなかったようなガンマニア垂涎の銃仕草が堪能できます。

エイムも無論VRによる完全手動&一人称視点のため、そもそもアイアンサイトどころかドットサイトですら正確に照準する(ドットの表示されるサイト直線上に眼を持ってくる)ことが難しく、一方で慣れるとレールを増設して近距離は下部レーザーサイト、中距離は上部ドットサイト、遠距離は側面の四倍スコープとフルカスタムの銃に任意のスコープを覗きつつ全距離対応の射撃戦を展開することも可能になります。

 

攻略要約:https://steamcommunity.com/sharedfiles/filedetails/?id=3009542755 こちらが唯一の日本語にして極めて有用な攻略情報でした。正直、攻略情報なしだと相当ストイックなユーザーでもないと途中で心が折れるので多少は攻略を見ても良いと思います。その上で、こちらでカバーされていない情報を書きます。

 

序盤に陥りがちなトラップとして、銃は両手で持たないと精度がメチャクチャ落ちます。序盤で遭遇する初の銃持ちエネミーであるミミック警官(ハンドガン持ち。こちらに呼びかけるようなディストーションボイスが聞こえたら居ます)がこちらの銃に比べてやたら精度が高いように思えたら、ちゃんと両手持ちで撃ち返しましょう。まあ走り込んでレーザーサイトの片手持ち乱射で仕留めても割となんとかなりますが、中盤以降に出てくるショットガンやアサルトライフル持ちは下手に近付くと即死します。

メインクエスト(最優先ミッション)はペルボマイルート⇒ポロトキー村⇒ポベダ工場⇒コルホース・ザーリャと探索マップが進行していきますが、どのマップも一部エリアは次の探索マップと同程度の難易度があるので注意しましょう。(ペルボマイの左上はやや危険、特にポロトキー村の右上の建物の探索は、ポベダ工場のメインクエストをクリアできる程度の装備と経験が必要になります。逆にポベダ工場はメインクエストで訪れるエリアが一番危なく、他はポロトキー村と同程度の難易度です)

 

銃器はメインクエストの進行度(セキュリティレベル)に応じてショップでの取り扱い範囲が増えていき、結構この選出には悩むと思います。究極的には試射室(チュートリアルをやる場所のフリーモード)でカタログスペックに出ない部分まで含めて自分に合うものを見繕うのが最善ですが、序盤は拾った武器をやりくりするので十分とも言えます。最初のマップ(ペルボマイルート)で高確率でドロップするPPshショートモデル(SMG)とIZh-27(垂直二連ショットガン)だけで自分はポベダ工場のメインクエストをクリアしました。それまでにグロック17とGSH18(ともにハンドガン)を買いましたが結局ほとんど使わず売り払ってしまいました。

それよりも先に買うのはアーマーです。武器は買った直後にマップ探索でドロップしたり、所持武器と性能の上昇値が買う金に見合わないことも多いですが、アーマーは0(無装備)か15+40(装備)かの二択しかない上に生存率が大きく変わります。難関となるポベダ工場のメインミッション前までに暫定の装備を見繕うことになりますが、このミッションから銃器持ちとアーマー持ちの敵が多数襲い掛かってきます。それまでの接近するまで攻撃しない人型エネミーやミミック警官の豆鉄砲を相手するような装備で行くと、こちらの装備より高価な武装持ちアーマーミミックに囲まれて即死します。

このクエストを自分は防弾チョッキ+ヘルメットにPPshのAP弾(威力は下がるがアーマー貫通性が高い)のレーザーサイト付きを近距離用、ソードオフではないIZh-27にスラグ弾(ショットガンのスラグ弾狙撃がロマンなので使っていたのですが、性能をよく見るとアーマー貫通性がカンストしていました)のドットサイト搭載型を中距離用にして攻略しました。この構成の利点は、垂直二連ショットガンがマガジン枠を圧迫しないためマガジンポーチをPPshに全て使用できることです(今使っているマガジンを仕舞う用に、一枠は開けて四枠に装填済みマガジンを差していました)。IZh-27の給弾は二発撃って即サイドハンドルから二発装填、少しでも余裕がある時にバックパックを取り出しサイドハンドルに弾薬箱から直接弾丸を差し込んでいく運用になります。

手順としてはTide(四日おきの敵の再湧き+トレジャーボックスの再配置。探索中だとマップ内のランダムな地点に飛ばされるので注意)明けまで寝て待ってから、突入してマップ初期地点まで近付いてくる近接攻撃型のエネミーをまず始末、適宜ミミック銃持ちと遭遇戦を繰り返しながら(死角から近距離不意打ちされるとアーマー着ても即死するのでセーブは小まめに)、まずはリフト(短期的な敵の再湧きポイント)を破壊して近くのトレジャーボックスを回収後すぐに拠点まで戻り(この時点でスラグ弾のフルだった弾薬箱が0近くまで消費されていました)、再湧きが無くなってから着実にクエスト要件(クエストの目標地点は屋外からではなく屋内で隣の棟から渡り廊下を通って到達します、自分はこれが分からずに結構な時間を無駄にしました)を進めました。

 

ポベダ工場のメインクエストをクリアしてセキュリティランクを3に上げて、どこかでベルナッハ(大容量マガジンのマシンピストル)を拾えればPPshショートの役割をサブアームに引き継ぐことができ、その頃には解禁されたアサルトライフル系やSPAS12などを買えるだけのお金が貯まっているはずです。自分は↑の攻略でアサルトライフルが強いと書かれていたので(天邪鬼精神で)SPAS12のスラグ弾使用ドットサイト+レーザーサイト型をIZh-27の後継として近~中距離に使用、サプレッサー付きベルナッハで隠密・近距離を対応して、終盤からはM14バトルライフルを加えて中~遠距離に対処する形でメインクエストの最終まで駆け抜けました。

 

プレイの(精神的)負荷は高いですが決して退屈しないゲームで、どうやらinto the radius2の開発が行われているらしいので、発売されたら続編もやりたいと思います。

文体の話(四つ打ち・ブレイクコア・ポストロック)

はてなにログインするまでの30秒で考えてたこと5割忘れた。

 

昨月、国家資格試験を5日に終えて、そこから三日くらい休みつつゲームとかして、そこから閏年の2月29日までの間で六万字の小説を一本書いた。自分の中で『この人と会って話すと、別にその時その場で納得とか発生しなくても急に筆が進みだす』という人が居るんだけど、案の定その人にも会っていた。それは別に本題ではない。

 

前作と今作における『人間』の書き方と文章のテンポ、その前提にある自分の行動様式とかその辺の情報処理(発信ではない、発信は小説とかワールドとかでやる)がこの記事、というかこのブログ。

自分の行動様式として、創作を摂取したり勉強したりするインプット⇒外からの情報を閉じて記憶定着や小説生成とかに専念する閉鎖作業系⇒作ったものを外に向けて経路を開いて放出するアウトプット系⇒次に摂取するインプットについての情報とか外の情勢とかを知るインプットのインプット⇒インプット、の流れを無限にループさせている。

 

この『インプットのインプット』がメチャクチャ大事で、目の前にデスストランディングとかinto the radiusとかペルソナ3リメイクとかpasific driveとか積まれていても、アウトプットが終わった後にインプットのインプットを経ずにインプットを行うことはできない。インプットのインプット≒友達関係やTwitterの所属界隈など、呼吸するように入ってくる類いの情報のことで、ここを能動的に決定できないとお前は死ぬ。

 

今回の小説が一か月以内かつ結構イイ感じに仕上がったのは、試験期間というインプットと閉鎖作業を往復し続けるマジでTwitter見てなかった半年の間に、忍殺を読みながらサイバーパンク2077やAC6をやることを唯一の休息にしていて脳内にサイバーパンク文脈があって、そこで試験が終わった瞬間にSAVE THE CATがカバーしてない文体面をバキッと決めるインプットをできたのが大きい。逆噴射先生のパルプフィクション講座だ。

 

忍殺の文章は四つ打ちDTMに似てる。140~150字という枠で強制的に脈絡を完結させる必要を出して、1つのビートで音が完結してないといけない。フェヤフェヨ~ンフヤヤ~ンみたいなアンビエントはビートにならない。さっきの『お前は死ぬ』とかで強制的にビートを作る感じ、読んでてエッ何?ってなって直前までの文章を読み返す、ああ良くない状況になることを言いたいのねって納得する、ためのビートが『お前は死ぬ』。

 

推しの絵描きはいつの間にか漫画家になって、ばちくそバズった音楽のMVのキャラクター作者としての認知度の方が高い。彼のブログは文章をブレイクコアで書く。同じ突拍子の無さでも忍殺みたいな区割りじゃなくて『刻む』こと自体が目的みたいなやつ。ビートニク系、バロウズの『裸のランチ』なんかが近い、あと村上龍とか、昔この辺に憧れたけど脈絡のない事象と言葉を制御できるほど自分の頭は混沌でなかった。

 

文章の破砕。BPMを上げる。死ねとか殺すとかだけが強い言葉じゃなくて、例えばここで急にスタニスワフ・レム「なんかマインクラフト適当につけてはひたすら西とかに歩き続けてる」とか急に言われたらエッてなる。そんなこと、言わないよねぇ!ってなんんも強い言葉じゃないけど、ビートになってる。今から武器を構えることができる。

今から武器を構えることができる。

こんな感じでビートを上げまくるとブレイクコアになる。村上龍コインロッカーベイビーズの『倒れまいと思って次々に足を出す、それが走るということだ。四つん這いから立ち上がった最初の猿はきっと全力で走ったのではないだろうか』ってパンチラインは一生覚えてると思う、後半は場面展開になんの関係もない。でもビートなので要る。

 

ビートだけだと物語にできないので、ビートを制御して四つ打ちにできると読みやすくて面白い文章になる。今作と改稿してカクヨムに上げる作業中の前作が脳内で勝手に比較される。両者はテンポ感が違って、その一番の理由として登場する『人間』の存在様式が違う。今回は定式化した人間を書いた、前回は生身の人間を書こうと『思った』。

 

観察対象が生身の人間でも、それを観察しているのが自分である限り、その記憶を参照して記述される文章は、読んでも『生身の人間』として受け取られない。今作は徹底的に忍殺における人間の使い方みたいなのに寄せた。素早く生きて素早く死ぬ、そのために脳内に構築された文脈を使って情報を圧縮する。サイバーパンクが出て殺す。

 

自閉的かつ没交渉な人間でも、効果的に人間を描写するコンテンツに染まれば人間を書ける。人間と自分自身で接する利点は、自分の視座から観測される人間存在(その焦点の当て方)のオリジナリティで、これは小説というジャンルの必須要件ではない。一番好きな音楽のジャンルはポストロックだが、当分は文体に取り込めないと思う。

 

www.youtube.com

 

結節性硬化症という先天小児神経疾患を持った友達が居て、彼は自殺したらしい。将来の死因になると思っていたものは案外、死因にならない。死亡診断書では直接の死因と、それを引き起こした傷病である原死因を書く。原死因は、更にその原因となった疾患があるなら(ア)→(イ)→(ウ)→(エ)まで遡るが、そこから先は書かない。

 

原死因の遡及回数をn=∞にすれば生まれたこと自体が、

 

彼が国試が終わったら行こうと誘ってくれたラーメン屋を探し当て、一人で行った。もう昨年のことになるが、死因を知ったのはつい最近だ。

■絶対にボツらせない!大型プロジェクト製作(VRChat4weekWC)前編

 

◆これは何

 

規模の大きい・ストーリー性や複雑なギミック等のあるワールドや、人の集まる体験型のコンテンツ・イベントなどの製作を、誰もが一度は夢見るにも関わらず、それらを行うのは限られた『すごい人』だけという現状があります。

それは能力的に製作不可能だと判断しているというよりも、膨大なリソースをかけた制作の果てに『ボツ』となって全ての労力が水の泡となるのが怖いから、諦めているということが多いのではないでしょうか?

 

 

以前の記事で『とりあえずワールドを作って、コミュニティラボに上げる』という段階の話について、自作ワールドを例にして扱ったものが好評を頂きました。今回自分はそこそこ大きな(※)プロジェクトを完成させたので、同じ方法で書いていきたいと思います。

 

 

(※ここで言う大きさは、単純なワールドの移動範囲や製作期間の長さではなく、後述の『コンセプト』の実現に際して複数の条件が求められる創作物、という意味です)

 

 

①前提:何故ボツるのか

これは私事ですが、2018年に最後の小説を書き上げてからの二年間ほど、毎日のうち2~3時間をかけて一年単位で執筆していた小説を、二作品ほどボツにしています。この『一定の製作期間を過ぎた作品のボツ』は限られた時間・精神的リソースを生活から削り出していく兼業創作者にとって非常にダメージが大きいです。

創作の道を歩き始めるには『最初の一つを完成させる』までの大きな壁がありますが、一方で歩み始めた後も『リソースをつぎ込んだ作品の連続ボツ』という、非常に転落しやすいモチベーションの崖際を歩いていくことになります。何故そんなことが発生するのか、どうにかしてそれを避けることはできないのか?

VRChatという場所柄、ゲーム制作の案件に関わる仕事をしている人や、個人でゲーム制作をした/しようとしたことのある方と話す機会が幾度かありました。そこで小説とゲームという全く異なる創作媒体において『ボツ』が発生する条件の、共通項を探していくことで自分なりの結論が出ました。

 

まず小説(というか物語媒体)では設定や登場人物を後から生やす(有ったことにする)こともできるので、進捗=書いた量は基本的に『読み進めることのできる物語の進行度』とイコールになります。そして体力的なもの以外でボツが発生する時というのは、この舞台設定や登場人物から生まれた文章の続きを書いても自分が思う面白い部分、つまり盛り上がるクライマックスや題材に即した結末に辿り着くことができない、という状況に陥ってしまった時です。

一方で、ゲームという媒体はシステム面の実装がなければテストプレイもできないので、作業工程の前半はゲームの進行度順ではなく、それを動作させる基盤部分の実装が進捗=やってきた工程になります。そして基盤となるシステムがある程度実装されてテストプレイを行った時に、このシステムでは何をやっても面白いゲームプレイ体験を提供できない、と判断せざるをえない場合に『ボツ』が発生するそうです。

 

これらに共通する点として『目指しているコンセプト=面白いと思うゲームや、伝えたい題材を描写できる物語』と『積み重ねた進捗=既存のシステム実装やストーリーの構造』の間にどう考えても修正不可能な乖離が発生している時、が『ボツ』の発生条件であると考えられます。

これは『コンセプトを実現するために、最初はこうすれば良い』というトップダウンでの逆算と、『この工程を積み上げて行けば、最終的にはこうなっているはず』というボトムアップの想定において、どちらか或いは双方にミスがあり、しかし双方に齟齬があると気付くのは進捗がある程度積み重なって修正が難しくなった後、という状態であるとも言えます。

f:id:karina-kamei:20220418113518p:plain

 

・今回の大コンセプトの設定(なんで作った)

さて、今回のワールドを構想し始めた切っ掛けは、某氏のツイートでした。

 

 

私は公開していないものを含めれば三作の長編と幾つかの掌編を完結させています。

そして情景描写がクドいと言われがちだったので、情景を描写したい欲をワールド製作に向けて執筆が進まない間はUnityを触る、という二輪の創作をここ一年半で回してきました。

ですが逆にモデリングやプログラミング等に関しては本業とも関係ないためからっきしで、なので皆々様の仰る『思想の強い』ワールドとやらは自分に創れんだろうし程々にやるわ……という気持ちもあったりました。ですが、あの『夏』に触れた後にツイートを読んで、

 

――あれ、行けんじゃね?と

 

「シナリオありきで不可逆に進行するワールド」に対して、恐らく一番の障害になるであろうシナリオの面に出来合いのもの(=小説の過去作)があり、そもそもが『自著の情景描写』の代替としてワールド製作を始めたので自著の舞台となる世界の、景観を実現するための最低限のUnity技術と求めるジャンルのアセットは持っている。ただ、その一点において私はVRChatに居るワールド製作者、という枠組みの中で比較的有利な立ち位置に居る。

 

試してみる価値はあるな、と考え始めていた矢先にあるイベントの第二回が開催されます。

 

 

お題発表の前日に主催のtiwaさんの作業部屋に行き、あくまで雑談として『小説をシナリオ進行、文字演出まで含めてワールド化する』ことについて相談します。そこで、かなり課題点の列挙とやりたいことについての整理を手伝ってもらった、もとい私が好き勝手に話したことを文章化して実現のために必要なことを列挙していただきました。

 

この時点ではお題も未発表なので『可能であればやる』、『お題が合わなくても、その練習になるようなものを作る』という気持ちが定まります。で、お題が出ました。というわけで今回のワールド製作で、当初のコンセプトは『自作小説をシナリオ進行、文字演出まで含めてワールド化する』というものになりました。

 

上記のコンセプトをより噛み砕いて言うと、

・シナリオありきで不可逆に進行するワールド(上記参照)でありながら、異なる進行度にある各ユーザーが同じ場所に居ることができる(皆で集まって同じ小説の違う貢を読んでいるような景観変化のさせ方、空間の在り方の模索)

『小さな世界の停車駅』というお題に対する解釈として『小さな世界=抜け出せない生活の場としての閉塞感』と『停車駅=小説における切り取られた劇的な場面のみを、駅=貢として進行度に応じて乗り継がせていく』ような構造にする

・その素材として自著である『鋼の森のアリス(仮名仮名(カメイカリナ)) - カクヨム』を使用し、ストーリー性の担保にすると同時に文字媒体では行えなかった風景描写と、小説内の文章を使った文字演出などを行う

 

――というものでしょうか

②試行:コンセプトから複数段階に分けた達成目標を設定する

今までの製作では上記の『コンセプト』を最終目標として実際にはどんな工程を行えば良いのか、というトップダウンでの逆算を行って、それを実際の進捗と照らし合わせながらボトムアップで細かな修正を加えていました(仮説の図のような流れです)。

ですが、そうすると上記の『ボツ』が発生しやすくなります。

 

そのため今回のやり方では、最終目標のコンセプトの下位に『切り分けた各製作期間における目標』を置いて、これを『それまでの進捗』と擦り合わせて決めていきます。

f:id:karina-kamei:20220418113745p:plain

こうすることで『実際の製作進行度と、そこから各期間で実現可能なもの』と『各期間での目標』が実現不可能なほど隔絶することを予防して、逆に『当初のコンセプト』と『実際の製作進行度に照らし合わせて、修正された各期間の目標』の誤差についても許容範囲に収めることができます。

https://www.ryuzee.com/contents/blog/7124

f:id:karina-kamei:20220418113108p:plain

※各作業期間内におけるスケジューリングはこちらの記事の『スクラム』を参考にしていますが、金銭的利益を伴わない個人製作という異なる状況なので本記事を読み進めてもらった方が実際の工程として分かりやすいと思います。

 

こうすることでコンセプトの修正=妥協を許容可能な範囲に収めつつ、定期的に製作進行度が『複数に分けたコンセプトの達成地点=最低限出しても問題ない形』になる段階を設定しておくことで、体力面や現実の事情などでそれ以上の製作進行が不可能になった場合も『作品』として出すことを可能にしておく、という予防策の意味もあります。

 

※これは漫画『暗殺教室』の作者がいつ打ち切りを食らっても良いように、複数の終わらせ方を用意しているという話も参考にしました(元の記事が見つからなかった)

 

・実働期間(1weekWC)

一週間目の『切り分けた各製作期間における目標』は作品として最低でも満たしておきたい要素を設定して、一週間目の作業における達成度合いを参考にして二週間目以降での『各製作期間における目標』を決めていきます。

とりあえず一週間目の目標としては『同じ場所で変化していく景観』という小コンセプトと、それを実演するために必要最低限な規模の街、景観の変化を変化するセットの用意というところです。

 

そのために必要な工程として1week目の前半は『地形オブジェクトと、それぞれの景観セット(ライティング/スカイボックス/ポスプロ)を簡易的にスイッチで呼び出せる切り替えシステムの配置』を行いました。

 

そしてワールド入場時のアニメーションとして電車に乗ってワールドに訪れる、という演出方法を作ることで景観セットの切り替えの雛形を作ることを考えますが、目下の大きな問題として自分はワールド製作で『一切の演出・ギミックを自作したことがない』というものが認識されていました。

アニメーションに関しても前に『入室時からの時間経過で太陽が昇って沈み、それに応じて光源の色やポスプロが変わる』というアニメーター機能が一切関わらない方法で触ったきりで、景観から次の景観へと切り替わる際の動きや演出とその実現方法については、ほとんど思い浮かんでいなかったのが実情です。

 

この時のクレマテリアは1wWCの折り返し地点で行われたということもあり、ほとんどの方の話題が『小さな世界の停車駅』の解釈やその実現方法に関する相談でした。そして電車の停車音と同時に暗転が解除され、電車の扉がゆっくりと開くことで『電車が到着した』ことを表現し、電車の発進音と同時に暗転することで『電車が発進する』ことの表現とする方法を先達が行っていると聞いて、その方法を採用することに決めます。

 

実働week中に電車のモデルを吟味する時間的余裕はなかったので、豆腐ことCubeで代替してアニメーションを設定しました。

上記の通り、今回はあくまで『このweekの終了時点で、当初の切り分けたコンセプトを実現した作品として成立している』ことを最優先事項とします。つまり『とりあえず今週はそれで行』って、満足が行かなければ『次以降の週での達成目標』として方法の相談や吟味を行った上で改めて頑張ることにします。

 

上記の方法で電車の到着・発車を表現するアニメーションを作成し、そこに4つの景観×到着と発車2つのフェーズで計8個のオブジェクトを出し入れするようにしました(ユーザー視点だとフェーズ1と2では景観が変化しないため、電車のアニメーションだけが管理されているように見えます)というわけで1week目はかなり割り切った構成にしましたが、この時の『切り分け』という発想は2week目以降にも活きてきます。

※フェーズ設定(各オブジェクトが下記の順序でアクティブ化される)

曇り1:曇りの景観セット+電車の発進アニメーション(乗ってきた電車が去る)

曇り2:曇りの景観セット+電車の発着アニメーション(次の電車がやってくる)

夕暮れ1:夕暮れの景観セット+電車の発進アニメーション(乗ってきた電車が去る)

夕暮れ2:夕暮れの景観セット+電車の発着アニメーション(次の電車がやってくる)

異空間1:異空間の景観セット+電車の発進アニメーション(乗ってきた電車が去る)

異空間2:異空間の景観セット+電車の発着アニメーション(次の電車がやってくる)

夜明け1:夜明けの景観セット+電車の発進アニメーション(乗ってきた電車が去る)

夜明け2:夜明けの景観セット+電車の発着アニメーション(次の電車がやってくる)

 

一週間でこれらの景観作成とアニメーションに加えてUDONまで触る時間はないと判断して、使い慣れているLuraさんのポストプロセス切り替えスイッチを採用しました。これはボタンを押す度にポスプロの種類が設定された数の分だけ切り替わっていくというものですが、ご存じの通りポストプロセス用の『オブジェクト』を出し入れしているので各種景観セットとアニメーションを行うオブジェクトも同様に出し入れできます。

 

それぞれのフェーズ1では開始時点にのみ『去っていく電車』が存在し、一方フェーズ2では発着アニメーションが再生されてから『次の景観へ向かう電車』が存在しています。全ての景観セットには電車オブジェクトと各種アニメーションが配置されているにも関わらず、ワールド滞在者の主観視点で景観を見ている最中は『電車がない時間帯』の方がほとんどです。これはアニメーターやアニメーションのタイムライン管理が苦手な自分にとって、かなり作りやすい仕様でした。

 

 

これをもって1week目の工程を終了し、一つの『完成品』としてイベントに提出することになります。

 

③非実働(製作ソフトを触らないで、進捗内容や目的の実現方法を吟味する)期間を設ける

さて、このワールドを製作し始めた当初から想定していたことではありませんが、上記の工程は『ボツらずに完成させる』という目的において、かなり大きな役割を果たしてくれたので言及しておきたいと思います。

1week目終了の翌日から二日間、同じく1weekで製作されたワールドを製作者たちで話しながら見て回るイベントがあり、なおかつ濃密なスケジュールの製作による疲労からも一週間の休止期間を設けることにしました。

 

・1wWC発表会・クレマテリア閉店日(非実働week)

○成功した点と△課題点に分けて1week目の工程を振り返ります。

 

○移動可能エリアを変更しないまま、進行度によって景観のみを非同期で変化させるコンセプト。

 

謎解き・冒険ワールドは途中で参加してきたユーザーとの合流が難しかったり、VRライブ(パーティクルライブ・VRMV等)のワールドはその同期性を損なわないためにワールドの参加人数を制限するということが多いと思います。

ですが『同じ場所に居ながら違うものを見ている』という状態が、意図せずともVRChatのワールドという媒体では実現可能です。これはsuzukiさんの青空文庫ワールドで皆が『同じ場所に居ながら、違う小説を読んでいる』のを見た時に思いつきました。

 

それぞれのフェーズの進行度によって見栄えの良い方角や場所が全く違うことから、好き勝手に歩いている通行人のようにユーザーが分散し、それぞれが同じ場所に居ながら見えているものへの言及が食い違っているのは『してやったり』という感じでした。

この『混乱』に関しては青写真としてワールドを狭く作った1week目の方が感じやすかったかもしれません。

 

△システムの実装

Luraさんのポスプロスイッチ(SDK3対応版)は単純なオブジェクトの出し入れではないため、それぞれのスイッチの位置を変えるといったことはできない(見た目上のオブジェクトと判定用のオブジェクトが異なり、後者の位置は親オブジェクトに固定されている)ということが判明しました。これによって景色の切り替えと、そのトリガーとなるキーアイテムには別のツールを使う必要があると分かります。

 

△景観のためのマッピング

ワールドの西側(つまり夜明けの時に、日が昇る方向)の景観に不満がありました。街系のワールドを作る時に “果て”を意識させないため『曲がり角』という存在は大きく役立つのですが、一方で直角の曲がり角とそれに面して水平に立ち並ぶ建造物というのは『書き割り』っぽさを感じさせてしまい、最後のフェーズで見せる景色としては弱いなと感じます。

 

・次week以降の課題と、その実現方法を吟味する

一週間はUnityを触らない休止期間にする、と決めていましたが上記の課題について休止期間明けの2week目から取り掛からなければならないことは確定しています。それならば今のうちに何をすべきかを明確にして、場合によってはより簡単にそれを実現する方法について自分より知識がある人と相談することもできるのでは? と考えました。

 

・1『まで』学ぶBlender

今回は坪倉さんの道路アセットを使用させていただき、その質感の高さにかなり助けて頂いております。一方でこちらの道路は10m×10m単位での升目区切りでワールドに配置することを想定されていて、曲がり角も同様に20m×20mの中で一辺から隣接する一辺へと直角に曲がるものしか用意されていません。ですが上記の課題点から『直角の曲がり角』ではなく45°程度の曲がり角が景観的に必要とされています。

 

ええ、分かっていますよ。動画を観てBlenderを勉強すれば良いのです。それくらいの努力もせずに、何がワールド製作者かと。ところで当時、私は医療系の就活と国家試験と卒業試験の勉強とコロナ禍における医療実習、それからVRSNSを題材にした小説の執筆を並行して行っており、過労から自律神経もかなりおかしくなってしました。

 

ですが勿論その二つ、つまり製作に求められる知識や勉強量と、残りリソース量の乖離から実現を『諦める』つもりなどさらさらありません。つまるところサボれる方法さえ見つければ、自分の負うべき(と誰かが決めつけた)労力をひたすら回避し、押しつけがましく助けを求めてでも完成させることが可能なら、それを優先させれば良いのです。

 

幸い、毎週行われていたワールド製作者の集会イベント(クレマテリア)は格好の場でした。ワールド製作における偉大な先達に上記のやりたい内容をそのまま伝えたところ『ブーリアンを使えば良いのではないか?』という回答を頂き、Qvペンを使って大体の使い方まで教えていただきました。

 

坪倉さんの曲がり角.fbxをBlenderで開き、デフォルトキューブを拡大したものを曲がり角の大体の対角線上に沿わせて『ブーリアン』を選択することで、45°の曲がり角を作ることができました。アセットに対するオブジェクト分割と頂点削除とブーリアン、それが私の二年間のワールド製作で私が覚えた、必要最小限のBlenderの機能です。

 

・模擬Triggerツールの選定

 

同じくシステム面の実装においても、自分でUDONのコーディングも、ノードとやらを触れる余裕もさらさらありません。

www.wicurio.com

ここで、以前SDK2のTriggerシステムをエディタ画面上でも模倣させるツールがあったことを思い出します。私はSDK2時代も出来合いのアセット以外でギミックを実装したことがないのでTrigger機能自体を目的としてはいませんでしたが、たった三つの設定項目でワールドに必要な大体のイベントを実装できる点から魅力的でした。

 

・電車のアセット

Subway Stations (6 Scenes) | 3D Urban | Unity Asset Store

こちらもアセットを使ったワールド製作が上手で、なおかつ以前のワールドで電車を用いたワールドを製作されていた方にお話を伺いました。このアセットが複数の電車と駅構内モデルを内包していて価格の割にボリュームが有るとお勧めして頂き、実際に使ってみて非常に良かったので、それありきでマッピングを大きく変えることになります。

 

・次週以降のスケジューリング(コンセプトの切り分け)

また1week目の時点で『一週間の実働で自分がどれだけの作業を行えるか』の大まかな目安が分かったので、次週以降に1週間単位で『とりあえず表に出せる形』になるように製作した場合、どこまでの進行度を出すことができるかのスケジューリングをします。

 

1week目:『同じ場所で変化していく景観』

前半で地形オブジェクトと、デバッグ用を兼ねた景色(それぞれのライティング/スカイボックス/ポスプロ)の簡易切り替えシステム(それぞれのポスプロ・オブジェクトをスイッチで呼び出せる)

後半で最初の電車の到着アニメーション(ジョイン時に発生)を作成して、それを基に景色が切り替わるごとに電車の到着・発車が行われるようにする(アニメーターによる管理を必要としない、景色の切り替えに応じたアニメーションの実装)

 ↓

2week目:『ユーザーの動作によって不可逆に変化する』

電車のモデルとそれに応じた詳細なアニメーション、駅を前提としたマッピングと導線、それに必要なシステム面(マップ内にある何かをインタラクトすることで、次の景観へと向かう電車が到着する・次の景観に移ると電車が去って行く)の実装

 ↓

3week目:『ストーリー性とその演出』

タイポグラフィ等の演出をマップ内にあるオブジェクトに連動させて、ストーリー性を強くする?自著からワールドに落とし込める量の文章だけを引用して、それを行う。

 ↓

4week目:デバッグその他・それまでの週に行った工程のクオリティ向上・軽量化

 

④前半まとめ:実働期間と非実働期間を区切ることについて

最初は1weekWCの延長戦として何weekかけたか記録しておきたい、という動機で実働期間をweek単位で区切ったのですが、上記のように『非実働』と定めた期間のうちに実働後の途中完成品に対するフィードバックを吟味検証する効果が極めて高いことが分かりました。

課題点や次に実現すべきコンセプトのために情報収集や学習を行うことで『実働』と定めた期間には決められた作業を行うだけで良いようにする、というアプローチで参考元の一つである『スクラム』と似た工程を一人で実現できるようになります。

 

f:id:karina-kamei:20220418120059p:plain

・大コンセプトから達成したいコンセプトを細かく切り分ける

 ↓

・一週間目で最低限達成したいコンセプトだけを満たした青写真(叩き台)を作る

 ↓

・一週間目の製作進行度から、週ごとに達成する小コンセプトと最終期限を設定する

 ↓

・それぞれの実働期間の後に、外からの意見を取り入れて小コンセプトの修正を行い、それぞれを達成する方法や労力の減らし方について情報を集める(非実働期間)

 ↓

・二週目、三週目、四週目、とそれを繰り返す(実働期間の間は、基本的に非実働期間に決めた工程を行うだけで良い)

 ↓

・当初の大コンセプトの達成度と自分のリソース残量を照らし合わせ、どこかのweekが終了した時点で『完成』とする。

 

(※かけた時間/労力(t)が一定量を越えた時点で、それに対する景観/プレイ体験の完成度をf(t)とした時の変化量f’(t)が加速度的に減少していきモチベーションk(f’(t)/t)に悪影響を及ぼすので、どこかの実働時間が終了した時点でパブリッシュ(≒基本的には製作終了)するのは確定してます。)

 

それぞれの実働期間の終了時点で各コンセプトを実現した『一つの作品』として、つまりワールドやゲーム制作の場合では『システム実装と最後までの導線』がとりあえず一通りできている状態にすることがこの方法の要点です。

 

それによって上記のスクラム性以外にも、

・それぞれの『完成物』に対してフィードバックを得ることができるので、コンセプト自体や全体像についてのフィードバックを得やすい

・コンセプトの実現に必要でない要素(トップダウンの誤算)や求めている完成度に必要でない進捗(ボトムアップの誤差)を修正しやすい

という利点があります。

 

作品(ワールドやゲームの場合はシステム面の実装、小説の場合は結末までの展開)が完成した状態でないと、他者にコンセプトの意図(何故そういうゲームを作ったら面白いと思うのか、その題材について小説で書く意義があるのか)を理解してもらうのは難しいです。

そのため大作にしようとするほど製作途中を人に見せてもコンセプトが伝わらず、全体像に対する望ましいフィードバックが得られない、という状況下でボトムアップトップダウンの誤差が大きくなって『ボツ』が発生する危険が高いと言えます。

 

これについて優先度の高いコンセプトから実現させた『暫定の完成品』を期限を設けて製作することで、フィードバックを得てコンセプトと進捗の誤差を修正し、場合によっては優先度の低いコンセプトや進捗を切り捨てるアプローチで確実に完成させることを目指します。

 

(/前編:仮説と試行・1weekWCのイベント)

掌編『年甲斐もなく金魚を』 書きかけ

舞台も登場人物の生い立ちも詰め切らないまま、大筋とシチュエーションありきで突発的に書き始めた掌編。

このまま書き上げるか長編に組み込むか、今後どう使うかは分からないけど、前半部分を知り合いに読んでもらうことを考えて書き終えた前半部分を公開。

 

――『年甲斐にもなく金魚を』――

 

真夏のうだるような熱気が連日の雨に押し流され、湿っぽい残暑とアスファルトに降った雨の残り香が漂う日暮れのことだった。家の外から響く囃子の音に引き寄せられて街路に出てみると、普段人通りもまばらな道に屋台が立ち並び、所狭しと人が行き交っていた。決して季節外れではないがベッドタウン(※)の住宅街といった立地のこの場所で、今時まだ祭りをやっていることに驚いて立ち呆けていると、背後から聞き覚えのある声があった。

 

「●●くんは越してきてから半年だったかな。毎年この時期に小さなお祭りをやるんよ」

 

と話しかけてきたのは近所に住む◆◆さんだ。年甲斐にもなく金魚が泳ぐビニール袋のひもを手首に吊って、リンゴ飴を同じ側の手に持っている。年甲斐にもなく、といっても年は三十路手前のように見えるだけで本人に聞いたわけではなく、近くの居酒屋でたまに一人きりで飲んでいるところを見るけれど、何の仕事をしているのか何をして生きているのかも定かではない、飄々とした掴みどころの無さだけが特徴のような人だった。

 

◆◆さんは普段ジーンズとTシャツ、カッターシャツと膝までのチノパンといった、今の僕の出で立ちと大差ない格好で、伸ばしっぱなしの髪が顔や口にかかるのを気にする様子もなく、たまにスーパーや近くの公園などをふらふら彷徨っている。そんな◆◆さんが珍しく浴衣を着付けてリンゴ飴と金魚の袋を片手に、どこか浮足立った様子で話しかけてくる様にときめかなかったと言えば嘘になる。

 

「その金魚、一人で掬ってきたんですか」

 

という問いの、誰かと一緒に来ているのか――友達や恋人が居るのか、と探る下心に気付いているのか、◆◆さんは「ふふん、●●くんも“この歳になってお祭りだなんて”とか思ってんのかい?」とこちらの質問には答えず、からかうように笑ってみせる。

 

「良いから、一緒に来なって。どうせ●●くんのことだから、放っといたら家でゴロゴロしているだけだろう?」と手首を掴んでくる柔らかい指の感触は、けれど掴まれることは許可しないと言うように、こちらが歩き出した途端にするりと抜け落ちてしまう。掴まれていた手を所在なく浮かせたまま、◆◆さんがぶらぶらと歩いてくのに付いていくことになった。

 

どちらかというと冷たく硬質な印象があったベッドタウンの夜の道が、今日だけは暖色の行燈と夜店の光に照らされて陽気で大らかな空気を漂わせている。一夜限りで知らない土地となった住宅街に困惑する僕を連れて、◆◆さんが向かったのはテン、テン、トンと気の抜けたような太鼓の鳴る盆踊りの会場だった。「これ、持っておいてよ」と言って、了承も取らずに僕の手に押し付けられたのは、金魚の袋や林檎飴といった◆◆さんの持ち物だ。なんのことはない、ただ盆踊りをしている間の荷物番が欲しかったのだと、僕はむしろ安心して広場の縁に座り込んで先程買ったビールの缶を開けた。

 

ぼっぼっ、と遠くから響く音につられて櫓[やぐら]を見上げた先で、高層ビルの向こうで咲いた花火が闇の中から四角い輪郭を描き出す。◆◆さんはといえば、うろ覚えの振り付けで盆踊りをしている人たちに混じっていて、僕の片手には彼女に預けられた舐めかけの林檎飴が握られている。僕は花も団子も、つまり祭りの景色や屋台の食べ物を楽しむでなく、食べかけの林檎飴をちらちらと見ながらビールを飲んで、腕にかけた金魚の泳ぐビニール袋を眺めながら◆◆さんについての奇妙で少しばかり不名誉な噂についても思い出していた。

 

◆◆さんは中古の家を買い取ったか借家として住んでいるのだが、その庭には十数匹の金魚が泳いでいる。しかし◆◆さんは金魚に餌をやらず、代わりに金魚の世話をしてもらうという名目で若い男性たちを家に上げている、という噂だ。金魚の寿命は十年程度で、時たま寿命や病気で死んだり外から来た鳥や猫に食べられていくものも居るが、夏祭りのたびに金魚は補充されるので居なくなることはない。この噂は◆◆さんが曖昧な関係を持っている男たちも、金魚たちと同様ひっきりなしに取り換えられているということを暗に言っているのだ。それは◆◆さんの普段の色気のない服装と振る舞いからは想像できず、鼻で笑って今の今まで忘れていたような噂だった。

 

「◆◆くんも踊ってきたら?荷物は見といてあげるから」

 

と、満足行くまで踊り終えたらしい◆◆さんが少し上気した顔で戻ってくる。

 

「いいですよ、こんな暑い日に酒まで飲んでから踊ったら汗だくになります。一人で盆踊りなんかに行こうと思う◆◆さんの気が知れない」

「でも、意外と悪くはないでしょ?」

 

踊りではだけた◆◆さんの胸元の、空色の浴衣と白い肌の隙間に見える黒いレース地に視線が吸い寄せられる。そんな無意識での仕草を見透かしたようなタイミングで声をかけられ、狼狽えた僕の様子を見ながら◆◆さんはカラカラと笑う。「分かっててやってたんですか、不純ですよ」と、年下であることを助平心の免罪符にしようとする僕の卑怯な言葉に、◆◆さんは「不純も何も、自分が楽しめることを楽しいと思えばいいでしょ」と思わぬ答えを返してきた。

 

「考えてみなよ●●くん、君が今までお祭りを“楽しくない”と思った記憶の中に、行きたくて行ったお祭りは何回ある?」

「家族と行ったことしか無いですけど、行きたくもない時にお祭りになんて……」

 

と言いかけて、僕は言葉に詰まってしまう。それを見透かしたように◆◆さんは言った。

 

「やれ家族サービスだなんだのと、親の社会的な体面だとか自己満足のために無理やり行きたくもない祭りに引っ張り出されて、アルバムに残したり暑中見舞いのための写真を撮るために長い時間立ち止まらされる。構って欲しい時には仕事だなんだと邪見にして、そうでない時は勉強だ世間体のための外出だと好き勝手に扱われる。楽しいわけないだろ?」

「……勘弁してくださいよ」

 

僕は辛うじて、そう言うことができた。かつて居酒屋で一緒に居合わせた時に、酒に吞まれて喋らなくても良い過去を喋ってしまったのは手痛い失敗だった。酔いつぶれた時に介抱してくれたのも◆◆さんだから、その時の話を蒸し返すなと強気に怒ることもできない。◆◆さんにとって自分は『教育と社会的体面に厳しい両親の元でそこそこ品行方正に育ち、そこそこ彼らのお眼鏡に適う遠方の大学に受かったことで、負債のない資金的援助を受けつつ家族から逃げ出してこれた学生』という出自を丸裸にされてしまったのだが、一方で自分から見た◆◆さんは相変わらず全てが謎に包まれた年上の女性なのだ。

 

「林檎飴、食べて良かったのに。一人だと舐めても舐めても林檎が出てこないからさ」

 

預けていた荷物を受け取った◆◆さんは、ぱり、ぱり、と林檎飴の上半分にある飴が広がった部分を齧ってから「ほら、飽きてきちゃったから●●くん食べてくれない?」と僕に残りの林檎飴を差し出した。その時に◆◆さんは僕を想い通りにできると思っているのではなく、僕が何をしようと別にどうでも良いのだと直感的に分かってしまった。明確な目的や欲求があって誘惑しているのではなく、ただ池の水面に石を放り込むくらいの興味で僕を試しているのだ。

 

きっと預けられた飴を舐めていようが、差し出された林檎飴を叩き落そうが、それ以上のことなど彼女は今までに何度も経験してきて、それに比べれば僕程度の決心で取りうる行動が彼女の気持ちを変えることはできない。僕にとって大いに悩ましい選択は、彼女にとってどちらでも良い些末事であるのだ。その事実が無性に腹立たしくなって、僕は再度「要らないですから」と繰り返す。◆◆さんは「そう」と興味なさげに返事した後、歯を立てて林檎飴をばりばりと嚙み砕いてしまった。こういうところだ、と僕は思った。

■Blenderを使わなくても作れる!意識の高くないワールド製作 (VRChat)

f:id:karina-kamei:20210619215214p:plain

◆これは何

自分が今までに作ったワールドの製作過程をサンプルとして、

ワールド製作に必要な作業を最初から最後まで一つの流れとして示す中で、

実際に行き詰った部分や別解などをピックアップしていく情報資料です。

 

※資料としては太字だけ読んでくれたら良いです。

字の薄い部分は基本的に長いしノイズになるので、気になった※の見出しだけドラッグして読んでください。

 

◆なんで作った

アバター改変と比較して、ワールド製作は一般にハードルが高いものと考えられがちです。散らばった雑多な情報群はwikiや個人ブログ、アドベントカレンダーやquitaなどに知見として蓄積していますが、何の知識もない状態からワールドを作り始めて個人的に満足行く状態でパブリッシュ(正確には、コミュニティラボに登録)するまで、を包括的に示してくれているサイトは少ないと思います。

  

これはワールド製作に限った話ではなくアバターでも同じことだとは思いますが、好きな市販アバターを購入して画像編集ソフトでカラーリングを変化させたり、アクセサリーを付加することで気軽に個性を出すことができるアバター改変と比較して、とりあえず完成させるという部分のハードルは高いと思……いや高いです、確実に。

 

だからアバター改変と同じくらい気軽に自己を表現できるように、これからVRで好みの場所を創りたい人の一助となれば良いなと思って書きました。

 

※嘘です。

自分が行ける世界を広げるためにコレを書いてます。行ったことがない世界を求めてVRに訪れたのに、フレンド達が集まるのは変わり映えのない同じワールドばかり。実際にワールドは沢山存在するけど巡るのは一人きりで、それならキャラクタークリエイトができる別のオフラインゲームと変わらないんじゃないか?みたいな思いがあり、

いつもの仲が良いメンバーで集まってのんびり過ごすにせよ、そこがいつもと変わらないワールドではなく“いつメン”の誰かが製作途中で、訪れるたびに更新が入って景観が変化していくワールドであったりだとか、そこがフレプラなら普段とは違うワールドの持ち主でインスタンスが開かれることで、『いつものメンバー』に変化が生まれたりして欲しいという願望、嘘、目的で書きました。

 

◆『海と牢獄(sea prison)』の製作過程

 

 

何故そのワールドを作るのか?具体的には作った場所で何をしたいのか?を考える 

・見たい景色があって、それは既存のワールドに存在しない

・フレンド達に来てもらう、何かの用途に使う『自分の所有する場所』が欲しい!

など、何かしらの理由があってワールドを作りたいのだと思います。後者の場合はシステム面での実装が幾つか必要な場合もありますが、自分の所有物でない場所でなら参考元になるワールド、或いは情報を聴くことができる界隈内の知り合いが居ると思うので任せます。

今回は『海に行きたい』という理由でUnityのプロジェクトを立ち上げました。

海と言っても青い空!白い積乱雲!ベージュの砂浜と水着にビーチボール!みたいな海ならば幾つも良いワールドは公開されていて、にも関わらず自分がワールドを作りたいということは「そういう海に行きたいのではない」ということが判明します。

個人的な経験として生まれてから海に行った経験が数回しかなく、そのうちの一回の『夕暮れ時に一人で行った江ノ島の海岸で、缶ビール片手に好きな曲を聴きながら一駅分歩いた』記憶の海に行きたいのだという結論が出ました。つまり具体的には明るくない海岸を眺めたり、好きな曲を聴きながら歩いていたい』のでワールドを作るということです。

 

製作中にどの部分が自分の好みや目的に合っていて、どの部分がそうではないのかが明確であると、アバターと同様にワールドのどこを改変すれば良いかが分かりやすいです。今回はまず、なるべく海岸の距離が長い方が歩きやすいことから、プライベートビーチ的な狭い海岸よりも平行に海岸が広がっている海水浴場系の販売ワールドを探します。

その上で次項の販売ワールドを基盤に使用させていただきましたが、もうちょっと暗くて荒れた海の方が良いということで、後述のスカイボックスやライティング、ポストプロセシングで色合いや明るさを修正することが、この時点で予定されています。

 

①外観に向いた販売ワールド、アセットの選択 

一枚の地面とミラーを置いて、ワールドを立ち上げるまでの流れを記して頂いているサイトは沢山あり、実際それを自分も参考にさせて頂いてます。ですが自分だけのワールドを作りたい理由がある時に、わざわざ白紙のSceneファイルからVRChat用にワールドの設定をしていくのは面倒くさいです。今回は主に『海辺をモデリングするのがしんどい』という理由で、海岸の付属している家ワールドを探して使用させていただきました。

 

・『海辺の別荘』を購入

booth.pm

 

使用規約の確認:販売ワールドによっては全体公開(でデータを使用して)のパブリッシュを禁止されている場合もあるので規約を確認しておきましょう。この販売ワールドのアセットは海の家,fbxを使用しての全体公開が禁止されていますが、海や砂浜、ボール遊び機能などのデータの使用は許可されています。なので海岸の部分だけを使用させていただき、もし屋内などの過ごす場所が欲しくなった場合は別のアセットを用意します。

 

・販売アセット内のSceneファイルを開く 

ここでsceneファイルを直接弄る前に、control+Dでファイルを複製しておきましょう。(改変してから最初に保存する時にSave as Newを選択しても良いです)。後から元のsceneにあった元データを使いたくなる時があるので、改変する前のデータは残しておいて複製後のsceneファイルを弄った方が良いです。販売ワールドのsceneファイルを使用せずに一からワールドを創る際でも、最初のsample sceneをそのまま使っていると、新しいアセットのインポートの際にsceneが初期化されたりするので危ないです。

 

今回のワールドは全体公開する予定なので、規約で全体公開禁止の海の家.fbxを使用している部分はscene内から削除します。最終的に残ったのは海(水面シェーダー)と地面、フリー素材の波の音だけです。(これなら一から作った方が……と思うかもしれませんが、ワールドの縮尺や後述のVRChatの機能やライティング周りの設定など、とりあえず足し引きで形にできる雛形があると取っ掛かりになりやすいです。)

 

②アウトライン(だいたいの景色)の製作

どんな場所があると嬉しいかを考える。ある程度の広さがあるワールドであっても、基本的に絵になる(写真映えする)か多人数で集まって過ごしやすい場所が幾つか決まっていて、作る際にも使われる際にもそこが注目されやすいと思います。なので改変前のワールドにVRで実際に入ってみてから、それぞれの場所からどんな風景が見えると嬉しいか、という二次元的な絵作りをイメージすると何を改変すれば良いかが見えてきやすいです。

 

空間デザインとか導線とかの話は難しいので、実際に創ってみてから思うように行かなかった部分を、次に活かしたり手直ししていけば良いと思います。もしくは空間デザインが上手いと思った販売ワールドを、そのまま使用させてもらう(マテリアル変更や小物の配置で自分の好みに近付けていく)のも選択肢です。

 

この絵作りは自分が好きな写真や絵の景色だとか、実際に行ったことのある場所、映画やゲームで思い入れのある風景などを参考にすると良いです。今回は⓪で聞いていた好きな曲が映画のサントラで、その曲が流れていた際の景色がとても印象深かったので、それをイメージして景観を創ることにしました。(当然ですがゲームや映像作品は、後述のポストプロセシングを使用していることが多いので再現しやすいです) 

www.amazon.co.jp

 

ジャケ画から、全体的な色合いは暗い青緑/黒/薄緑ですね、地面は砂浜ではなく黒いゴツゴツした岩肌です。

(後から気付いたのですが、サントラのジャケ画?は海ではなく山でした。が、この時点で日本海側の景色がイメージできていたので、そちらを優先します)現時点でのワールドの景観から、その絵作りに近付けていくために必要な作業を行っていきます。

 

この時、一つの工程を終えるごとにアップロードして実際にVRで景色を見たり、自分のアバターで自撮りをしてみたりすると、行った作業で理想にどれくらい近付けているか、次に必要な工程が分かったり、単純に進捗が目に見えて嬉しいのでおすすめです。あとは進捗画像で興味を持ったフレンドが、次にテストしている際に訪問してくれるかもしれません。

 

・ゴツゴツした岩肌についてはBoothで瓦礫のアセットが安かったので採用。 

booth.pm

コピー&ペースト&rotation&スケールの-1設定で、別物っぽく見せて増やしていきます。(これは遠景用の建物などで単体のモデルを使い回すことでの容量削減、単純に複数のモデルを見つけてくる/作る手間を減らす際によく使われている方法だと思います。)

※rotation以外にも、スケールを-1にすることで左右対称に変形できます。

 

・スカイボックスの変更 

タオルクラウド

TowelCloud · Wiki · 飛駒タオル / TowelCloud · GitLab

今回の海岸のように地上に注目してもらいたい時は、情報量が少なめのスカイボックスの相性が良かったりします。その中でもタオルクラウドは自然に雲が流れていく景観、そして地平線や雲の色までを自分で設定できるという大きな特徴があります。

今回は青緑っぽい空が既存のスカイボックスに無かったこと、そして⓪の『歩いていたい』という用途において雲の流れという時間経過による景観の変化があることが大きな利点であったので、こちらを使用させていただきました。

 (この時に後述の『マテリアルの変更』も行っています)

※他のスカイボックスの紹介

AllSky - 200+ Sky / Skybox Set | 2D Sky | Unity Asset Store

基本的に情報量が多めなので、シンプルな部屋系のワールドとの相性が良いと思います。有料版と無料版がありますが有料版はかなりバリエーションが豊富で、情報量が多めの空ならこれを買っておけば好みのものが見つかると思います。ちなみに自分は持っていません。

Urban Night Sky | 2D Sky | Unity Asset Store

個人的に好きなスカイボックスです。冬の避難所、セロトニン工場はこちらを使っています。

使わない(quad、sphereなど):システム側でのスカイボックスを使わず、板や球面にエミッションをかけて後述のポストプロセシングでブルームをかけると、昔のアニメなどで使われていた逆光の眩しい空などが表現できたりします。他にも特殊なシェーダーを使ったマテリアルを張り付けたりなど、スカイボックスではできない表現を使うことができます。

 

・ライティングの調整

全体的な色合いはここで調整します。ひらけたワールドであればディレクショナルライトの色を、絵作りや先に選んだスカイボックスと合うように調整していけば良いです。

閉所(入り組んだ場所)のライティングに関して自分は少しばかりこだわる方ですが、これについて書くと一枚の記事でも収まらないので、ここでは割愛します。面倒であったらNoshadowのディレクショナルライトを一つだけ置いて、それで終わりでも良いです。

 

※ライティングの細かい話

とりあえず、

・屋外と屋内や、複数の部屋が隣接して存在するワールドなら、各種ライト周りのShadowをOnにしておく(屋外や隣の部屋からの照明が壁を貫通しないように)

・リアルタイムライトの場合はアバターの影が動いていると負荷が大きいのでPlayer,Playerlocal,Mirrorreflection(UI,UIMenu)の項目をoffにしておくか、逆にNoshadowにしてアバターの影が表示されないようにする(もっと言うとBakeしてライトプローブを設置するのが理想的で、屋内系の販売ワールドにはあらかじめ設定されていることが多い。同様にReflectionprobeやオブジェクトのStaticも設定されていることが多いのは、屋内系の販売ワールドが取っつきやすい理由の一つです)

・ライトベイク結果が変な感じになったら、ライトマップの解像度を10まで上げるかGenerat Lightmap UVsにチェックを入れてApplyのどちらかで解決します。特に後者はprefab(ワールドに置くやつ)ではなくfbx(3Dモデル自体)の設定なので忘れられがちです。

f:id:karina-kamei:20210619215927p:plain

スカイボックスと同じ項目から設定できるアンビエントライトは、アバターを照らさないことがあるので気を付けるアバターで使用率の高いarktoonなどは、ほぼディレクショナルライトのみからライティングを取得するので、ワールド自体のディレクショナルライトが存在しない/暗めの場合はアバター専用に別のディレクショナルライトを置く)スカイボックス依存にしない場合、ワールドの陰になる(ライティングで照らされない)部分の色合いをここで決めると良い。

・scene編集の左上にある太陽マークを押すと『ライティングを無効化した状態』のレイアウトに変更できるので、暗いワールドでの作業やライティングの影響の確認などに必須。

くらいだけ覚えておけばいいと思います。

 

後述のポストプロセシングや、オブジェクト自体のカラーリングでも色合いは調整できますが、スカイボックスなどと併せて『理由のあるライティング』でワールドの色合いを設定できると“作り物っぽさ”が感じられなくなって良いです(個人の好みかもしれない)ただし『暗いワールド(ホラーではない)』を作りたい場合はこちらで満足行くまで暗くしておいて、後述のポストプロセシングで視認性を上げると良い感じになる場合が多いです。

 

③ディティールの製作

アセットを探しましょう。絵作りのために欲しいものの現実での名前が分かっている(Boothなら素材データの3Dモデルから、アセットストアならグーグル翻訳で英訳して検索する)か、実際のワールドでこのアセットが欲しいと分かっていると見つけやすいです。

 

・オブジェクト(アセット)の追加

"Shouwa" 80's Japanese town model set - vol.2 Foundation | 3D Urban | Unity Asset Store

 堤防(地面の切れ目を隠すオブジェクト)これは上記の昭和アセットから。行くことができる足場の切れ目は作り物っぽさの原因になりやすいので、他にも遠景用のビルや山などを置いておくか後述のフォグなどを使って切れ目を隠すといいです(水上や空中に浮かんでいる、或いは地下にあるような絵作りのワールドでは考えなくて良いことですが)

・マテリアルを変更

Texture Pack Vol. 1 | 2D Textures & Materials | Unity Asset Store

アセットストアに結構あります。場合によっては購入した販売ワールドや家具などのアセットのマテリアルを流用しても良いかもしれません。とりあえずそれっぽい素材名のマテリアルをドラッグ&ドロップしてみて『おっ!』ってなるものがあれば、それで行きましょう(もし改変するのであればsceneファイルと同じ理由で複製しておいた方がいいです)

※シェーダーで見た目を盛る

SnowCover+TriPlanar系シェーダー - RAKURAI WORKS - BOOTH

今回は落雷さんのシェーダーで本来のマテリアルから、ディティールに少しだけ手を加えました。これもサブスタンスペインター等を使える場合は直接テクスチャを編集できるのですが、そうでなくても見た目を盛る方法はあるという話です。

 

◆屋内編

大体のイメージで作ったので瓦礫(海岸の岩)が大きすぎる気がする、かといってこれ以上小さくしてオブジェクト数を増やすと負荷がまずいことになる。そのため屋内をスタート地点にして、海岸を遠くから眺めることができるように方針を変えました。

 

※屋外から創るか、屋内から創るか

②③と②´③´の工程はどちらから行っても構いません。今回はやりたいことが海岸で歩くことだったので外観から創りましたが、もし初めてワールドを製作するなら……

個人的なおすすめは『内観から創る』ことです。何故かというと内観に使用するアセットの多くは『部屋/家ワールド』として、VRChatユーザーが過ごしやすいための設定や機能などが予めセットアップされており、とりあえずアップロードしてVRで景色を確認してから外観を創っていく方ができるので、モチベーション維持の観点からも良いです。特に機能面については販売ワールドがSDK2/SDK3のどちらに対応しているかで、できることが変わってくるので⓪のやりたいことに照らし合わせて最初に決めておいた方が良いです。

 

②´なんか暗い牢屋っぽい建物から海を眺めていたいな(これはイメージ元が幾つかあります)と思った。AmanekさんのRoom02(和室)のマテリアルを変更して、牢屋っぽく使わせていただくことにしました。

booth.pm

以前に創ったワールドのセロトニン工場ではRoom01を、冬の避難所ではRoom03を使用させていただき、大変お世話になっている作者さんです。丁度公開時のツイートがサムネイル画像と同じアングルなので分かりやすいかもしれない。

 

※部屋パーツの管理

複数のアセットや複製したパーツを管理する場合は『一階/二階』や『部屋1/2』などの名前で生成したゲームオブジェクト(Positionやスケールを0,0,0/1,1,1にしておくのを忘れないようにしましょう)の子にして、部屋ごとに管理した方が改築が行いやすいです。今回は今の『二階』にあたる部分を先に作ってから、もう少し高い位置から海岸を眺めたいということで『一階』を生成、後から『二階』のゲームオブジェクトごと最初の部屋を上に移動させて二階建てにしました。一階二階を繋ぐ階段のエリアは窓と反対側の壁と一緒に『階段』の名前のゲームオブジェクトで管理して、一階と二階で上下対象ではない階段へと繋がる部分の位置を調整しました。イメージとしては横スクロール型ゲームの部屋を『一階』と『二階』で絵作りして、そこに辻褄を合わせるための『階段』を後付けした感じです。

 

※Quadを使おう!

QuadとはUnity内で追加できる、片方だけに面がある平板状のオブジェクトです。

室内アセット同士を繋ぎ合わせるためにスケールを変化させた場合など、床や壁の模様が伸びてしまう場合がありますが、Quadを上から張り付けてマテリアルを再設定すればなんとかなります。

他にも大きなフロアの壁や地面など『とりあえず』で作りたい時などPlaneよりも容量が軽く、裏面や側面が存在しないので複数を貼り合わせやすいという利点があります。

 

※室内光源の選択について(長い)

今回の室内はスポットライト(天井の照明)とエリアライト(窓から差し込む光)を使用しています。

室内ワールドの照明にはポイントライト(全周を照らす)が使用されることが多い印象ですが、吊り下げ型の照明や蛍光灯などでは地面に比べて距離の近い天井が明るく照らされやすいです。暗めの室内ワールドで天井よりも地面(と壁)に注目してもらいたい場合などは、角度を60~100°くらいに設定したスポットライトを、地面に向けた方が見栄えが良くなることが多いと思います。

リアライトはかなり処理量が大きいらしく、ベイク専用で一つ置くごとにベイク時間が一時間ずつ増えていく(i5-9400の場合)と思った方が良いです。基本的にはディレクショナル・ポイント・スポットの三種で演出して、エリアライトは最終兵器と思った方が良いです。もしくはBakeryを使うこともできますが、いきなりはハードルが高いと思います。

また記述されていることは少ないですがlightだけではなく、emissionを設定したstandardシェーダーオブジェクトの表面も光源として作用します。これはエリアライトを除いて一点からしか光を発生させられないlightとの大きな違いで、細長い蛍光灯などはポイントライトではなく自己のemissionで周囲を照らし、その上でスポットライトを地面に向けたりすると非常にそれっぽい感じになると思います。

 

※③´(別段重要な話はなかったので格納)

張り紙(ビラ?)とダメージ壁のデカールを置きました。Quadにアルファ(透明な部分が設定された)テクスチャを張り付けたデカール系のアセットは、お手軽に見た目を盛るのに便利だと思います。

テレビデオを置きました。同梱されているCRT風シェーダーが非常に好みで、以前のワールドでは動画プレイヤーを参照するテクスチャをこのシェーダーに組み込んで、どんな動画を流してもアナログプレイヤー風になるようにしました。今回は海辺にカメラを置いて、そこからの映像(レンダーテクスチャ)にCRT風のエフェクトがかかるようにしました。

台所を置きました。舟を浮かべました。ペンダントライトを軒先?にも吊るしました。

 

どうしてもミラーの前に集まってしまうことは避けられないので、見て欲しい景色が映っていたりアバターが並んでると見栄えがするような場所にミラーを置くと良いです。意外とミラーを置かなくても円陣を組んでお話しできるので、一つの場所に集まってほしくない場合はミラー無くても良いと思います個人的には、屋内メインなら置くと思いますが。

 

④ポストプロセシング、ライティングの追加設定 

【VRChat】PPSv2を導入してワールドでポストエフェクトを使う|落雷|pixivFANBOX

この辺の視覚効果は『絵作り』が終わった風景を引き立たせるための処理なので、大まかな景観とライティングができてから設定した方がいいです。③より先でも良いですが『絵作り』に必要なアセットが既に見つかっているなら、そっちから先にやった方が良いと思います。

特にポストプロセシングは少ない作業で大きく見た目が変わるため、大まかな景観とライティングを仕上げる前に触ってしまうと、そこで時間と労力を使い切ってしまう危険があるのも理由です。後に『ご褒美』を取っておくとモチベーションが維持しやすいです。

f:id:karina-kamei:20210619214200p:plain

今回のポストプロセシングはカラーグレーディングをメインに設定しました。暗めのワールドである場合は、ポストエクスポージャーを弄ると概念的な暗さを保ったまま、暗さに目が慣れたような視界にしやすいです。

 

※フォグ(ライティングの追加設定)

今回は地平線近くの空と同じ色にフォグを設定することで、海や堤防などの遠景が空に溶けていくような視覚効果にしました。自分の知る限りでは今回の『地平線や遠景などをぼかす』以外に、暗くて入り組んだワールドで輪郭線を出す(距離に応じてフォグの濃さが変わるので、手前にあるオブジェクトのシルエットが見えやすくなる)ことや、基本のライティングに加えて黒いフォグ/白いフォグで明るさを調整する用途で使うことができます。

 

⑤軽量化

だいたいテクスチャの解像度を落とすだけです。手間の割にびっくりするくらい最初の読み込み容量が減るのでやっておきましょう。

販売アセットだと基本テクスチャにノーマルマップ、金属マップまで全部4096×4096が初期設定であったりしますが、絵画とか飾るのでもなければ基本的に全部1024×1024に変更しても見栄えは落ちないと思って良いです。

 

※それぞれのアセットがワールド容量に占める割合を確認する方法

ワールド最適化 - VRChat 技術メモ帳 - VRChat tech notes

⑥パブリッシュ(コミュニティラボに登録)

お疲れ様です。モデリングしなくてもコードを書かなくてもアニメーションが分からなくても、ここまでの工数を踏めばそれは『あなたのワールド』です。

ワールド巡りで『あなたの世界』に出会える時を楽しみにしています。

 

■追記:これは広告

 

実際のVRがどんな場所か知らない人たちにも伝わりやすいように、自分がVRSNSで体験してきたことを切って繋いで物語にしました。

現在は第二章の『VRSNSに送り込まれた神の使者が、ボイチェン美少女になった現実世界での同級生と再会する話』を毎週日曜に更新しています。

 

書き溜め分を公開後、カクヨム等にも掲載していく予定です。

読んでもらえたら嬉しいです。

書きたいものについて

今書いている作品についての動機や思考の整理とか。

 

VRという場所にせっかく来ているので、私が立っている場所から見えるものを物語という形式に落とし込んで記録したり誰かに伝えたいなと思った。

 

自分はレポや日記みたいな現実をそのまま書くだけの形式をやりたいとは思ってなくて、それは現実に存在する感情だとか事象についての解釈を書きたいと思った時に、実在の個人名や自分という存在の主張がむしろノイズになるからなんですよね。

私は根本的に○○さんが何かをしたとか、××さんと仲が悪いみたいなゴシップに興味がなくて、ただ今わたしが訪れているのはどういう世界でどういう摂理が働いているのか、私はそこで起こった出来事に対してどういう感情を抱いているのかということについて、小説という形式で書きたいのだと思う。

 

小説という媒体では主人公やその他の登場人物として、私に限りなく寄せた『私ではない私』あるいは一貫性のない行いや思考を排除した『純度400%の私』を書くことができる。その上でそれを『私ではないですよ』という顔をしていられる。

実際に私ではない要素(私の知っている誰かの要素)というものも幾つか使っていて、そういうフィクションのズルさ(※この小説はフィクションであり、登場する人物や団体はすべて架空のものです。という注釈を書いて良いということ)を噛ませた上で、現実の自分の思ったことを赤裸々に描きたいという自己顕示欲、というより自己保存の欲求が私の書く動機であるのだと思う。

別に恥ずべきことでもない。

【あらすじ千本ノック】■契約の豆腐[Unity cube]■【三本目:執筆中の書き出し部分】  

 

神は人間の文明が悪徳を極めた時に、大火を降らしたり洪水を起こして滅ぼしたといわれています。それは決して怒りや戒めのためではなく、羊毛が増えすぎた羊に毛刈りを行ってやるようなものなのです。滅ぼされた悪徳の文明は、過去に存在した風習として後世の人間の創作物(や教訓)に役立てられたり、悪徳の中に残っていた物質的繁栄の残骸から新たに健康な文明が芽吹いてきます。言い方を変えれば焼き畑農業のようなものですね。

そして前史の人間は、インフラの過剰な発達による快適性を無視した経済発展、通信機能の進化に伴った無駄な広告などの有益でない情報の増大に悩まされるようになっていました。そこで神様はまた何かしらの災厄を引き起こした結果、インフラによって災厄はまたたく間に全世界に拡散されて、デマや不安を煽る情報ばかりで混乱した人類はとうとう地上から姿を消してしまいます。これは、その数十年後から始まる物語。

 

「はー、それでアンタが神様とやらで、また洪水とか火事とか起こす前段階の警告をしにきたってこと?」

「いや、だから我はその使徒といったもので……おい捨てるでないぞ、仮想空間のワールドとやらに入ってくるのは大層骨が折れたのだからな。貴様ら人間は寝るときまでヘッドディスプレイを被って仮想空間で寝ようとするから、現実でお告げをすることができんのだ」

 

 少女が面倒くさそうに話しかけているのは、手に持っている石板……というより箱でした。それもただの箱ではなく文字が浮かび上がっては消えていき、次々と模様を変える不思議な光が表面を走っている箱でした。それはソドムとゴモラの時、ノアの大洪水の時にも現れて、前者の時は人々に不吉な報せとして災厄を予告して、後者の時にはノアに箱舟を作らせた神様からのメッセンジャーでした。直近のやつでは落とし物のスマホと勘違いされて無視されたので、ちゃんと立方体にしたのでした。少女は呆れた顔で言いました。

 

「“豆腐”じゃん、モデリング素人かよ」

 

 少女と箱が居るのは仮想世界の中でした。“豆腐”とは、仮想現実で少しでも自分らしい姿(これは現実の肉体に近いという意味ではなく、自分という人格を分かりやすく主張するものや、自分にとって美しいものや格好いいものの具現化ということです)や自分にとって居心地のよいワールドを作ろうとしたものが、3Dモデリングソフトやゲーム作成ソフトで最初に目にして最後まで悪戦苦闘することになるデフォルトの立方体の俗称でした。

 

――とりあえず少女が箱を拾った時間までさかのぼってみましょう。

 

UDON毛刈り』と呼ばれるワールド内で、少女ニラヤマは羊の毛刈りをしていました。通信負荷軽減のために直方体パーツの組み合わせで作られた簡易な羊に、ワールド内に置かれた毛刈り機をピックアップして押し当てると、羊毛を表す白い直方体が飛び散った毛のパーティクルを散らしながら小さくなっていきます。ニラヤマの手にも毛刈り機がバリバリと毛を刈っていく振動が、握っているコントローラーを介して伝わってきます。

手の位置情報をトラッキングするコントローラーを握りこんで、VR内で手に持った『毛刈りの器具』を『羊毛』に触れさせたと判定されている間はバイブ機能をONにする。基本的に“触覚”と呼ばれるものは、その手触りや質感を過度に追い求めなければその程度で十分なのです。この時、どうやって毛刈りの器具と羊毛が触れたと判定するか、そして羊毛が刈られるようなエフェクトを発生させるかというのも、22世紀では小学校で習います。

まず毛刈りと羊毛の接触にはコライダー(衝突判定)を使います。この衝突判定というのは必ずしも物理的にぶつかって跳ね返るようなHAVOK神の眷属だけでなく、プレイヤーやワールド内の特定のオブジェクト同士にだけ作用するコライダー属性を用意すれば、触れるだけで明かりを点灯させるスイッチや接触感知型のトラップも作れます。毛刈りと羊毛に設定された専用のコライダー同士が接触することをトリガー(切っ掛け)として、コントローラーへの振動と羊毛オブジェクトの収縮というイベントを発生させるのです。

毛刈り機を置いて休憩していたニラヤマは、コントローラーが一瞬ブッ、と振動したことで手に何かを握らせられたことがわかりました。それは箱でした。ニラヤマは箱をしげしげと眺めた後、とりあえず中指トリガーを外して地面に置いて、それから再び持ち上げて人差し指トリガーで『使用』できないか試して、その後『手を放すとその場で止まる』のか『手を放すと与えられた勢いと重力に従って落下する』のかオブジェクトの設定を試すために、野球選手のように思いっきり振りかぶったところで声が聞こえました。

 

「ん我はァっ!神の使徒として汝らに警告を告げに来たものであるゥっ!」

「あっ」

 

ニラヤマは急に聞こえてきた声に驚いて、若干早く手を離したせいで垂直上方に向かって箱はすっ飛んでいきました。どうやら手を離すと重力と勢いに従って放物線を描くタイプのオブジェクトのようで、ニラヤマが「えっなになにワールドの隠し要素?ユーザー名表示されてないしプレイヤーとかじゃないもんね」と誰も返事をする人が居ないと分かっていながら驚いた声を出しているうちに立方体は落ちてきました。その間にニラヤマは箱がただの豆腐ではない可能性に思い当って、外向けの声を作って豆腐に話しかけました。

 

「……ああゴメンね、シェーダー系の人かな?ネームプレートと実際のアバターの位置をずらすのは聞いたことあるけど、他ユーザーへのピックアップ判定持たせされるのは知らなかったな」

 

マテリアルは使用するテクスチャ(絵)の参照や敷き詰める密度や基本色、表面に当たる光の反射といった設定で金属や布といった質感を作るために調整する部分です。そしてマテリアルに使用できる設定は、マテリアルが使用しているシェーダーによって異なります。シェーダーは小さなスクリプトで光の反射についての計算アルゴリズムといったものを含みますが、それだけでなく羊毛と毛刈り機の『接触判定』や石板に文字の『テクスチャをアニメーションさせる』といった機能を担うかなり大事な部分です。

仮想空間にはアマチュアから販売サイトで商品を売ってる人、別の仕事でその技能を使っているプロまで様々な人がコンテンツを発信していますが、シェーダー開発者は独自ギミック付きのワールド(C♯をベースに作られた仮想空間専用のプログラミング言語UDONの名前を最初につけていることが多いです)と並んで、本格的なスクリプト技能が要求される珍しいジャンルです。この系統の人はアバターに関しても不思議な芸(カメラや鏡にしか映らなかったり、ネームプレートの遥か遠くで動くことができたり)をします。

 

「オブジェクトでもユーザーでもない!ん我はァっ!神の使徒として汝らに警告を告げに来たものであるゥっ!」

 

豆腐はさっきと同じ調子で叫びました。だいぶ回転をかけて投げられましたが、HMDを着けた人間ではないので3D酔いはしていないのでしょうか。「……ゔぉエッ」してました、でも石板はゲロを吐けませんし現実でゲロを吐いてもVR内までは汚染されないので大丈夫ですね。妙なやつですがぶん投げてしまった手前その場を離れるわけにもいかないニラヤマに、箱はソドムとゴモラとノアと前回の災厄とかの話をして“豆腐”と呼ばれたのです。

時代は――変わりました。古代において超自然的な構造物として神聖視されていた完全な立方体は、全てが人工デザインの仮想世界では最も簡易でありふれた形となってしまったのでした。仮想空間の住人にとって自分のトラッキングが正常に働いているか、そして喋っている相手と自分のアバターを同時に視界に収めておくために欠かせない鏡のスイッチも、作ったワールドのテスト時にオブジェクトを軽量化する際に差し替えるのも、全てがデフォルトカラーの灰色をした“豆腐”なのです。

 

「何故だ!?この戒律が記された超常の立方体を目にして、どうしてそこまで敬意を持たん!?」

 

「超常って……テクスチャに文章書いてスクロール系のシェーダー入れてんでしょ?それともレイマーチング?あと使徒ってさ、エ〇ァで見たラミエルみたいなもの?あれが神聖な出で立ちだっていうのがよく分かんないんだよね。正八面体モデリングして宝石風シェーダー買えば、半透明で鏡面っぽく風景を反射させるくらい今時幼稚園児でもできるよ。まあ戦闘中のビームとかはパーティクル使ったパリピ砲で、変形までさせるとアニメーションとか結構勉強しないといけないかな」