読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】ユニティちゃんを転がすゲーム、UnityChanBallRollはどのように作られていたのか

新人ブートキャンプに使われたユニティちゃんを転がすゲーム、UnitychanBallRollについて解析してみます。

f:id:tsubaki_t1:20160323014007j:plain

このゲームは、Roll a ballの発展形っぽい感じで「キャラクターがステージ上に配置されているアイテムを回収しながら、ゴールへ向かう」といった内容みたいです。Roll a ballというよりは、スーパーモンキーボールでしょうか。

…まぁ
別にアイテム全部回収しなくてもクリア出来るけどな!

プロジェクト

プロジェクトは下のリポジトリで公開されていました。

github.com

ゲームを実際にプレイ

ありがたい事に、参加者の何名かがゲームを公開してくれています。
全体的に自分好みの理不尽さです

ステージの構造

 

f:id:tsubaki_t1:20160323004729j:plain

 

ステージは非常にシンプルなパーツの組み合わせで作られています。
もの自体は壁や門、照明や塗装といったパーツがEtc/playGROWnd/playground/Models以下に含まれているので、これを組み合わせてステージを作って行くと良さそうです。

なお、殆どモデルは1m単位で移動すれば一致するっぽいです。

f:id:tsubaki_t1:20160323012947j:plain

サンプルシーンを確認すると、GoalObj(ゴール)とBottomOfStage(ステージの底)オブジェクトが存在し、それぞれがあたり判定を持っています。
ゴールはゴール時の動作、ステージの底はゲームオーバー時の判定用みたいです。

f:id:tsubaki_t1:20160323013845j:plain

プロジェクトには並べるサンプルも含まれてたりするので、結構参考になります。実際に自分も真似て並べてみましたが、これが中々に面白い。

Speed Level Designを思いだします。

Unityを使った、冬道や地下鉄ステージのメイキングムービー

f:id:tsubaki_t1:20160323013548j:plain

f:id:tsubaki_t1:20160323013556j:plain

f:id:tsubaki_t1:20160323020542j:plain

並べ方はUnity初心者が知っておくと少しだけ幸せになれる、シーンにオブジェクトを配置する時に使える18のTips+4 - テラシュールブログ見ておくと楽になるかもしれません

コンポーネントの機能と関係

戻って、UnityChanBallRollを構成しているスクリプト群についてです。

まぁ、見るべきコンポーネントの量はそれほど多くは無いです。他にもステージの難易度を調整するEasyModeChecker等がありますが、ゲームを把握する上では下の6つを見とけば把握できそうです。

  • myCamCon
    キャラクターの追跡を行うコンポーネントです。
    BottomCheckerの指示でプレイヤーの注視に切り替える事も。
  • BottomChecker
    ステージ下に配置した超巨大なあたり判定に設定されたコンポーネントです。
    接触したらゲームオーバーで、リトライボタンを表示します。
  • myBallCon
    ボールを操作するスクリプトです。
    アイテム取った時のスコア制御等もコレがやってます。
  • CharaController
    キャラクター…というかアニメーションを管理するシステムです。
    ボールの位置と同期し、キー入力に対してアニメーションを行います。
    アニメーション側からコールバックを受けてますが、中身は無しです。
  • GoalChecker
    ゴールに到達した時の動作です。
    シーンをロードしたり、Twitterに投稿したり、プレイヤーを操作不能にしたりします。
  • myRolling
    オブジェクトを廻します。

関連図はこんな感じです。

f:id:tsubaki_t1:20160323025214j:plain

この辺りのコードを見つつ、MiniGame_Completeシーンを参考に改造していけば、自分のオリジナルステージとか作れそうな感じです。

新人ブートキャンプの資料

なお新人ブートキャンプの資料が公開されてました。

内容は、バージョン間理についてと、ゲームのレベルデザインについての資料です。結構読みやすい感じで纏められています。

www.slideshare.net

www.slideshare.net

関連

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp

kenjin.unity3d.jp