(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!超可愛い実写猫の戦略的オンラインカードゲーム!PC&スマホ両対応!

Download on the App Store Google Play で手に入れよう

最適化

Unity製ゲームのパフォーマンスを最適化する方法を体系的に学べる『Unity Performance Tuning Bible』をサイバーエージェントが無料公開&オープンソース化!【Unity】【最適化】

はじめに ちょっと前にあのサイバーエージェントが『Unity Performance Tuning Bible』というUnity製ゲームのパフォーマンスを最適化する方法を体系的に学べる書籍(のPDF)をなんと無料公開&オープンソース化しました! ちなみにダウンロードはGitHubのリリー…

オブジェクトがカメラに映らない時は描画しないようにして負荷削減する機能 オクルージョンカリング【Unity】【最適化】【Occlusion Culling】

この記事でのバージョン Unity 2020.3.25f1 はじめに Unityにはオクルージョンカリング(Occlusion Culling)というカメラに映ってないオブジェクトは描画しない負荷削減のための機能があります。 イメージとしては以下のような感じで負荷削減の効果も高く、3D…

プログラム変更後の待ち時間(コンパイル、ドメインリロード)を短縮する9つの方法【Unity】【最適化】

この記事でのバージョン Unity 2020.3.25f1 はじめに Unityである程度の規模の物を作っていると問題になってくるのが、コードを変更した後の待ち時間です。コンパイルやドメインリロードを行うため、ある程度の時間はしょうがないのですが、あまりに長くなる…

コンパイル後やUnity再生開始時のリロードで時間がかかっている所(ボトルネック)を可視化する Editor Iteration Profiler【Unity】【最適化】

この記事でのバージョン Unity 2020.3.25f1 はじめに 今回はEditor Iteration Profilerというコンパイル後やUnity再生開始時のリロードで時間がかかっている所、いわゆるボトルネックを可視化するツールの紹介記事です!ちなみにUnity公式から提供されていて…

アセンブリごとのコンパイル時間を計測&可視化し、依存関係の確認も出来る Compilation Time Visualizer 【Unity】【最適化】

この記事でのバージョン Unity 2020.3.25f1 はじめに 今回はCompilation Time Visualizerというアセンブリごとのコンパイル時間を計測&可視化および依存関係の確認まで出来るツールの紹介記事です!ちなみにMITライセンスで公開されているので無料で使う事が…

uGUIの負荷を減らす、7つの最適化【Unity】【uGUI】【最適化】

この記事でのバージョン Unity 2018.4.6f1 はじめに 公式でUnityのお役立ち情報を配信しているUnity for Proというサイトがあるのですが、(ライセンスのProではなく、実務で使えるという意味でのPro) その中の「Unity UI の最適化に関するヒント」といういか…

gameObject.tagをイコールで比較した場合とCompareTagを使った場合の処理時間の比較【Unity】【最適化】

この記事でのバージョン Unity 2018.3.4f1 はじめに GameObjectにはTagが設定でき、そのTagを比較して判別するという事はよくありますが、 var isPlayer = gameObject.tag == "Player"; 実はCompareTagというメソッドを使って比較する事も可能で、しかもComp…

uGUI(Image)とSpriteRendererの静止時と動作時の負荷比較【Unity】【uGUI】【最適化】

この記事でのバージョン Unity 2018.2.17f1 はじめに UnityでUIを実装するための機能であるuGUIは、以下のような仕組みを持っています。 どうもCanvasは一度Canvas内のUI(CanvasRenderer)を収集しビルドする(一つのメッシュ化する)事でパフォーマンスの…

Colliderを一つのGameObjectにまとめた場合と、ColliderごとにGameObjectを分けた場合の負荷比較【Unity】【最適化】

この記事でのバージョン Unity 2017.4.0f1 はじめに Unityで当たり判定を実装する時にはCollider(2D)を使いますが、Colliderを複数付けたい場合に、一つのGameObjectにColliderをまとめて付けた場合と ColliderごとにGameObjectを分けた場合とで、 負荷の差…

Package Managerで全パッケージを無効にしてもアプリのサイズは大して変わらないという話【Unity】【最適化】

この記事でのバージョン Unity 2018.1.0b8 はじめに Unity2018からPackage Managerというツールが追加されました。 ようはUnity自体をアップデートせずに一部機能をアップデート出来たり、必要に応じて機能を追加出来たりするみたいです。 これを使うとAnima…

Resourcesフォルダのベストプラクティス【Unity】【最適化】

この記事でのバージョン Unity 2017.3.1f1 はじめに Unityには公式のチュートリアルがあるのですが、その中にResourcesフォルダのベストプラクティスなるものを発見し、気になったので勉強ついでに記事にしてみました! なお、ベストプラクティスとは最も効…

既に無効になっているGameObjectに、SetActive(false)を実行した時の負荷【Unity】【最適化】

この記事でのバージョン Unity 2017.2.0f3 はじめに GameObjectの有効無効を切り替える時にはSetActiveを使いますが、 既に無効になっているGameObjectに対して、SetActive(false)を実行した場合にどの程度の負荷が発生するのかって気になりませんか?なんか…

変更と3Dモデルの子を減らして、Transformを最適化 【Unity】【Unite 2017 Tokyo】【最適化】

この記事でのバージョン Unity 2017.1.0f3 はじめに 今回はTransformの最適化を行い、負荷を軽減しようというお話です。 なお、『Unite 2017 Tokyo』の「Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~」の前半部分を…

Profilerの使い方と最適化の目安の付け方(後編)【Unity】【Unite 2017 Tokyo】【最適化】

この記事でのバージョン Unity 2017.1.0f3 はじめに 今回は『Unite 2017 Tokyo』の講演の動画を見て、要点をまとめたり、追加で調べたり、実際に手を動かしたりしながら、記事にもしちゃおうという感じの記事です。 そして、題材にする講演は、「最適化をす…

Profilerの使い方と最適化の目安の付け方(前編)【Unity】【Unite 2017 Tokyo】【最適化】

この記事でのバージョン Unity 2017.1.0f3 はじめに 今回は『Unite 2017 Tokyo』の講演の動画を見て、要点をまとめたり、追加で調べたり、実際に手を動かしたりしながら、記事にもしちゃおうという感じの記事です。 そして、題材にする講演は、「最適化をす…

enumのToStringが遅いって本当ですか?【C#】【Unity】【拡張メソッド】【最適化】

拡張メソッドとは この記事でのバージョン Unity 5.6.1f1 はじめに enumのToStringは遅いという話を耳にしたので、気になって調べてみた系の記事です!ちなみに、以前にenumをkeyにしたDictionaryが遅いという話も記事にしてました。 そもそものenumのToStri…

enumをkeyにしたDictionaryが遅いって本当ですか?【C#】【Unity】【最適化】

この記事でのバージョン Unity 5.4.0f3 はじめに c#のenumは遅いという話を耳にしたので、気になって調べてみた系の記事です! そもそものc#のenumは遅いという由来は以下の通り。 enumは糖衣構文です。実態はclass Enumです。 糖衣構文……?知らぬ存ぜぬ。と…

テクスチャの使用メモリを176MB減らしてみた【Unity】【最適化】

この記事でのバージョン Unity 5.2.2f1 Personal Xcode 7.1 はじめに ある時、作ってるゲームのメモリ使用量を確認したらえらい事になっていました。 使用メモリ 331MB 主な原因はテクスチャで、単純に量も多いしサイズも大きかったのですが、色々と改善した…