テラシュールブログ

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

【Unity】アプリ内課金やAssetBundle、ランキングの例を含むサンプルゲーム、Endless Runner Sample Game

f:id:tsubaki_t1:20170620224446j:plain

https://www.assetstore.unity3d.com/#!/content/87901

少し前に、Unity公式の完成プロジェクト「Endless Runner Sample Game」が公開されてました。

Endless Runner Sample Gameといふゲーム

Endless Runner Sample Gameは、モバイルで良く見たエンドレスラン系のサンプルみたいです。

ゲームを開始すると、割と良い感じのアニメーション(猫がねずみを追い回す)が始まり、キャラクターセレクトっぽい画面、そしてエンドレスランのゲーム画面に遷移します。

f:id:tsubaki_t1:20170620225402j:plain

割と作り込んでいて、IAPやランキングの機能が含まれてるっぽいです。

 

 

ダウンロードはこちら:https://www.assetstore.unity3d.com/#!/content/87901

AssetBundleでキャラクター・ステージの切替

このゲーム、キャラクターの読込はAssetBundleで行われており、多分自分で追加したりする事も出来るんじゃないかなと。

f:id:tsubaki_t1:20170620230450j:plain

ただAssetBundleの分割は割と適当で、重複アセットありまくりです。

まぁ複数のキャラクターを同時に読む事は無いので問題は無いのですが、キャラクター切替等にアセット再読込が走るので、割とロードは間抜けです。

(黄色い▲が付いてるアセットが他のAssetBundleと重複して読み込まれる可能性のあるアセット)

f:id:tsubaki_t1:20170620231647j:plain

ちなみにAssetBundleにキャラクターが格納されているので、AssetBundle ManagerのSimulater ModeでAssetBundleの振る舞いをシュミレーションするか、Local AssetBundle Serverでローカルサーバー立ててAssetBundleをダウンロードする形にしないと、動作しません。

f:id:tsubaki_t1:20170620232002j:plain

多分ステージもAssetBundleです。

昼と夜のデータを持つと思われるScriptableObjectがAssetBundleに格納されています。中にはオブジェクトの生成パターンや、空・フォグの色等が格納されていました。

f:id:tsubaki_t1:20170620235031j:plain

Shaderで色々な画面効果

このプロジェクト、結構シェーダーを使いまくっています。

例えばオブジェクトの回転は頂点シェーダーでぶん回していますし、

f:id:tsubaki_t1:20170620230809g:plain

遠方を表示しない(地球の表面のように歪んで見える)もシェーダーでやっています。湾曲率はShader.SetGlobalFloatで一括制御。クール

f:id:tsubaki_t1:20170620231028j:plain

また幾つかの箇所は頂点カラーで色を塗っているっぽいです。

ちゃんと見てないですが、下の壁とかは「頂点カラーでレンガの色を塗る」「レンガの模様はテクスチャを繰り返して実現」といった感じでしょう。多分

f:id:tsubaki_t1:20170620231315j:plain

Animatorは割とシンプル

Animatorは割とシンプルです。

基本的に右側のジャンプ・スライディング・ランはBOOLで管理しています。これはボタンを連打した時もトリガーがつけっぱなしにならない為でしょう。

HITが呼ばれたらANY STATEからHITが呼ばれて、HPが無ければDEATHに移行する等。

f:id:tsubaki_t1:20170620232740j:plain

基本的に RUN LOOPで走りますが、ジャンプすると着地後 run startから再スタートする点、スライディングは速やかにrun loopに戻る点は中々面白いです。

ちなみにRun LoopがBlend Treeで作られてる辺りに、努力の跡を感じます。

f:id:tsubaki_t1:20170620233026j:plain

その他諸々

オーディオは普通に音を鳴らしたり、UIから直接呼び出したりしてました。

f:id:tsubaki_t1:20170620233707j:plain

UIはソコソコちゃんとレイアウトシステム使って組んでます。

f:id:tsubaki_t1:20170620233957j:plain

感想

割と中々悪くないんじゃないでしょうか。

関連

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp