Avoid The Walls 開発日記 5

ウイルス性胃腸炎で寝込みました。病気は怖いですね。有給が飛んでいく…

家庭の事情で週末実家帰省をすることになったので、ガミガミ言われないために?見た目を整えます。(一般人は厳しい)

  • レベルにテクスチャを設定する
  • ゴールを焚き火にする
  • 棒をマッチにする
  • 壁に当たったらやり直しにする

3月20日

スクリーンショットを撮ってなかったので結果から行くと、こうなります。

スクリーンショット (1)

レベルにテクスチャを設定する

いつまでもプリミティブではしょうがないので、テクスチャを設定します。Asset Store でちょうどよさそうなのを探し、以下を採用。レベルをコンクリート調にします。そのままできれいなのですが、DK2 や Gear VR 程度の解像度では模様がつぶれちゃって格好が悪いので、Tiling を 0.5 にして見える程度に拡大します。パターンが見えてダサくなっちゃうけどね…難しい。

laster Materials – Photoscanned

これを Prefab にしておきます。今後見栄えの調整がしたくなった時も一括でできるようになります。

ゴールを焚き火にする

ゴールも変えます。またまた Asset Store でちょうどいいのを見繕います。

Campfire

そのままだと Gear VR (S6) で 50fps しか出なくなってしまうので、Heat なんちゃらというパーティクルシステムを削除します。これでとりあえず 60fps 出ます。

ゴールとして認識されるように、Finish タグをつけておきます。

使いまわせるように Prefab にしておきます。

棒をマッチにする

棒をマッチにします。棒に MDF っぽいテクスチャを張り、先端に赤いカプセルを被せます。

棒とカプセルを空のゲームオブジェクトの子にしてプレハブ化します。ところが、これだと棒とカプセルが一緒に動かないので、BarController.cs、Collider、Rigidbody を棒から親オブジェクトに移します。ついでにコライダーの位置とサイズがおかしいので調整します。

スクリーンショット (4)

続いて、MainCamera にアタッチしてある PlayerController.cs にて、BarController.cs の参照を修正します。スクリプトを移動したので、スクリプトをアタッチしてある親オブジェクトを指定できるようになっています。

スクリーンショット (5)

これで大体思った通りに動くはずです。なんか忘れてないかな…不安

壁に当たったらやり直しにする

壁に当たって、マッチの色が変わるだけでは楽しくありません。壁に当たったら色が変わる処理は無くして、レベルをやり直しというルールを実装します。

  • Renderer インスタンスの宣言を削除
  • Start() 関数で Renderer を取得し、操作可能にしていた部分を削除
  • OnColliderExit() をまるまる削除
  • 壁に当たったらレベルのリロードを行う

これだけで済みます。追加部分は OnCollisionEnter() の最後の else の中に

これを追加するだけで現在のシーンを再読み込みします。

まとめ

BarController.cs 全文はこちら。若干短縮。

次はやり直しやレベル遷移がスムーズにできるようにしたい。けどレベルをジャンジャカ増やしてみたくもあるなあ。

前回はこちら

次回はこちら

Avoid The Walls 開発日記 5” への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です