UnityによるeBook "Optimize Your Mobile Game Performance"の読み解き企画もいよいよラストスパート!前回はPhysics編でした。
今回はWorkflow and collaboration編です。ゲーム制作に直接的に関わる部分、ではあまりありませんが、作業工程を円滑にするためのテクニックが含まれています。
Workflow and collaboration
Unityでのアプリケーションを開発は、たくさんの開発者による多大なる努力の賜物であることがほとんどです。
あなたのチームにとって、最適となるようプロジェクトの立ち上げをしっかりとしましょう。
全員がなんらかのヴァージョン管理システムを使うべきです。Editor Settingsで、Asset Serialization ModeをForce Textにしましょう。
もし、Gitのような外部のヴァージョン管理システムを使う場合、Version Controlの
設定で、ModeをVisible Meta Filesに設定してください。
Unityはその他にも、特にシーンやプレハブの統合にために、YMALツールが組み込まれています。詳しくはスマート・マージを確認してください。
ヴァージョン管理はチームの一員として働くために不可欠なものです。バグを追跡したり、ダメな改訂を追跡するのに役立ちます。
マイルストーンやリリースを管理するのに、ブランチやタグを使う、というような良き実践例に従ってください。
Unityでのゲーム開発に最適な、推奨されるPlastic SCMを確認してみてください。(※SCMは今後、完全にUnity標準のヴァージョン管理システムとなる予定です)
巨大なシーンを分割する
巨大で単一なUnityシーンはコラボレーションに適していません。レベル(いわゆるステージや面)をいくつかの小さなシーンに分割し、衝突のリスクを最小化しながらアーティストやデザイナーが、一つのレベルの中で上手くコラボできるようにしましょう。
ゲーム実行時に、あなたはSceneManager.LoadSceneAsyncにLoadSceneMode.Additiveという設定パラメータを通し、使用することで、追加的にシーンをロードすることが出来ます。
使用していないリソースを削除する
サードパーティのプラグインやライブラリ由来の使われていないアセットに注意して下さい。
それらの多くには、テスト用に埋め込まれたアセットやスクリプトが含まれていて、あなたが取り除かなれば、ビルドに組み込まれてしまいます。
プロトタイプの時から残留している、不要なリソースは全て引きはがしてしまいましょう。
Unity Acceleratorで共有をスピードアップする
Unity AcceleratorはCollaborateサービスのためのプロキシとキャッシュで、Unityエディター・コンテンツの素早い共有を可能にします。
(※CollaborateはPlastic SCMに置き換わるため、ここでの表記はUnityの現状とズレがある場合があります)
もし、あなたのチームが同じローカル・ネットワークで働いているなら、プロジェクトの部分リビルドが必要なくなり、ダウンロード時間を劇的に減らすことが出来ます。
Unity Teams Advancedを利用していると、Acceleratorはソース・アセットも共有させてくれます。
今回はゲーム制作そのものというよりかは、プロジェクトをどう扱うか、ということに関する内容だったと思います。
これで、いよいよ次回が最終章!Unity Integrated Success編で会いましょう!