遥か彼方へ。
Night Cruiserというワールドを作りました。去年の大みそかに。
使える使えないは別としてギミックとかもいくつか入れたので
そこだけに特化して紹介しようと思います。
0から作る場合は、前回のワールド作成日記を参考にするとよいです。
全体の流れ
1,コンセプト (こういうの作りたいみたいな)
2,概要設計 (こういうのをどうすればできるか考える)
3,構築 (2で考えたものを作ってみよう)
4,ギミックのデザインと実装 (ギミックやろうぜ)
1,コンセプト
宇宙空間を駆ける宇宙船。それも暗黒というよりはちょっといい感じの銀河っぽいの
こんな感じの背景を、一人称視点で飛びたい。
前進すれば、風景が変わってなければおかしいので
幾千の星を抜けてるイメージが欲しい。
イメージ的にはYsのエンディングに近い
2,概要設計
イメージはあるとして、どうすればできるかを考えます。
2-1、ブタジエンさんの空飛ぶ箒の応用で宇宙船を回す
宇宙船全体を操縦する感じにしてぐるぐる回そうというもの。
Skyboxを置いてあげれば旋回の雰囲気は出るしね
→全員が着席してないとさかさまにした時に落ちてしまうので没
2-2宇宙船以外の全てを操縦桿で回す
宇宙船はワールド的には常に水平を保っていて、Skyboxを回すというもの
→Skyboxは横に回せるが縦に回せない
選ばれたのは2-2でした。Skyboxの代わりに球体を利用しそれを回すことにします。
3,構築
球体の内側を描画するシェーダーを書きます。
・・・1から理解するには時間がかかりすぎるのでこちらの記事を丸パク参考にしました
内側はこんな感じ
中身も作ります
中身は怒涛のつぎはぎ工房です。
アセットストアにある無料の素材を細かく異なるサイズにしてつなぎ合わせます。
羽1枚つくるのにこのボリューム。
ですが後はコピーして角度を変えたり反転することでサクサクいけます。
ここまでで宇宙空間の漂う何かはできました。
次に某エンディングっぽく移動してる風を出します。
赤が船、青がパーティクル発生源
球のほんの少し先にSphereのパーティクルを置きます。
怒涛のパーティクル数ですが、形の違う隕石や粒とか種類です。
4,ギミックのデザインと実装 (ギミックやろうぜ)
VRCPortalMaker(よく見るポータルのあれ)
VRCSDKの中に入っていて、ワールドIDとポータル名だけ入れるだけでOKです。
すごく簡単!
隠し通路
BoxColliderをオフにするだけで通り抜けられます。これもお手軽
コントロールキューブ(宇宙をぐるぐるする)
かなりの設定量。持つためのBoxColliderやVRC_Pickupなどなど多彩です。
Is Kinematicあたりは周りの影響受けるかどうかです。
DisallowTheftは文字通り「横取りされない」です。オンにするとすでに持ってる人から奪えません
一方で持ってる人が悪意を持って取りに行けない場所に置いた場合
(持って宇宙空間から落ちる途中に離すなど)にリセットできるよう
VRC_SceneResetPositionを入れてあります。
コントロールキューブを呼び出す
この木箱のある位置にキューブを配置するというものです。
設定がたくさんありますが、原理もなんかよくわからないまま置きました。
なので解説はありません、ごめんね
5,おまけ 宇宙をぐるぐる回す詳細
原理としては、コントロールキューブのRotation(回転ぐあい)を
宇宙を模した球と、パーティクルに連動させてます。
ブタジエンさんの空飛ぶ箒から加速する機構だけ取り除いてるようなものです。
ConfigurableJointを使い、ConnectedBodyをキューブにします。
これで球とキューブが連動するのですが、キューブを持ったまま前に走った際に
球も前に進まないように制御します。
アル中が震える手でキューブ持って球がグラグラすると雰囲気が台無しなので
連動する際に若干遅延したり鈍い動作にします。
そしてこれが怒涛のパラメーター
パーティクルも同じようにConnectedBodyにキューブを指定してあげます。
一つのキューブで球とパーティクルを同時に動かす事で
宇宙船が動いてるように見える、はずです。
球に設定した遅延する度合を少し変えるとリアリティがさらに出ます。
そのほかの感想
・もったいぶるより多くの人に見てもらって感想聞いて修正するほうが良い
→修正は早いほうがいいしフィードバックは多いほうがいい
・ギミック作ったら遊んでもらう。
→キューブ投げ捨てられると操縦不能になる(暇になる)とか気づきが得られるよ
・ワールドに置いてるやななんパーティクルは粒子数を1.5倍に増量してます
→1619Hzとか不特定多数の人が集まるところで負荷かけるのは気が引けるけど
ここなら打ちたい放題
・やる気があるうちにやってしまうとよい
特に手間がかかる部分はとにかくやる気があるうちにしないと
永久に完成しない
・容量を減らしたいなら出来上がってから考える
→最初は120MBまでいきましたが仕様素材を減らしたり
BGMの音質を320kbpsから96kbpsまで落とすとかいろいろしてます。
そんなこんなでできたのがこちらです。