はじめに 「OverdrawForUnity」を Unity プロジェクトに導入することで ゲーム画面で Overdraw を確認できるようになります 使用例 適用前 適用後 使い方 ゲーム画面で Overdraw を確認したいゲームオブジェクトに Shader が「Camera/Effect/OverDraw」のマ…
GetComponent の場合 using UnityEngine; public class Example : MonoBehaviour { private void Update() { var result = GetComponent<Rigidbody>(); if ( result != null ) { } } } アタッチされていないコンポーネントを GetComponent すると Unity エディタ上での</rigidbody>…
概要 using UnityEngine; using UnityEngine.Profiling; public class Example : MonoBehaviour { private void Update() { int num1 = 1; int num2 = 2; // ToString あり var sampler1 = CustomSampler.Create( "ToString あり" ); sampler1.Begin(); var …
ソースコード 使い方 var text = GetComponent<TMP_Text>(); text.SetText( 123 ); 検証 using TMPro; using UnityEngine; using UnityEngine.Profiling; public class Example : MonoBehaviour { public TMP_Text m_text; private void Update() { var num = 25; var </tmp_text>…
スライド \
はじめに 「FastEnum」をプロジェクトに追加することで 高速な列挙型の API を使用できるようになります インストール Visual Studio メニューの「ツール>NuGet パッケージ マネージャー> ソリューションの NuGet パッケージの管理」を選択します 「参照」タ…
はじめに Rider で Unity 連携を有効化すると、 Unity においてパフォーマンスがあまり良くないコードを 削除したり書き換えたりしてくれるようになります 使用例 Awake や Start、Update などは、定義しているだけで Unity から自動で呼び出されるため これ…
はじめに Rider で Unity 連携を有効化すると、 Unity においてパフォーマンスがあまり良くないコードを ハイライト表示やマークして教えてくれるようになります ハイライト表示やマークの種類 例えば、Update、LateUpdate、FixedUpdate などの関数や コルー…
スライド
概要 using System.Collections.Generic; using UnityEngine; using UnityEngine.Profiling; public enum JobType { SOLDIER, } public class Example : MonoBehaviour { private void Update() { var table = new Dictionary<JobType, string> { { JobType.SOLDIER, "王国兵</jobtype,>…
はじめに 「UniEnumExtension」を Unity プロジェクトに導入することで 高速な Enum.ToString を使用できるようになります 比較 Enum.ToString を 1,000,000 回呼び出したときにかかった時間 機能 かかった時間 通常 1.366 秒 UniEnumExtension 0.005 秒
ソースコード 使い方 Unity メニューの「Assets > Mark Unused Assets」を選択してしばらく待ちます 検索が完了すると、Project ビューに未使用のアセットが表示されます 次回からも Project ビューの検索欄に「l:Unused」と入力すると 未使用のアセットをリ…
PDF 参考ツイート Unityについてのノウハウをまとめました。パフォーマンス改善とデータサイズ削減を中心として書いています。https://t.co/J0LGIoNDA1#Unity #UnityTips— 坂本龍 (@SakamotoRyuu) August 5, 2019
はじめに FPS、GC 発生回数、メモリ使用量を実機で確認できるプロファイラの UI 「UniSimpleProfiler」を GitHub に公開しました(実機なら GC Alloc は発生しません) バージョン Unity 2018.3.9f1 準備 UniSimpleProfiler は TextMesh Pro を使用するため…
概要 「StackList」を Unity プロジェクトに導入することで GC Alloc が発生しない Stack を使用できるようになります 使用例 using Hont; using System.Collections.Generic; using UnityEngine; using UnityEngine.Profiling; public class Example : Mono…
はじめに 「smooth.foundations」を Unity プロジェクトに導入することで GC Alloc の発生が少ない Linq を使用できるようになります 使用例 using Smooth.Slinq; using Smooth.Slinq.Context; using System.Linq; using UnityEngine; using UnityEngine.Pro…
概要 TextMesh Pro の FontAtlas などに含まれるマテリアルを選択して Shader を「TextMeshPro/Mobile」以下の物に変更することで モバイル向けのシェーダに切り替えることができます
はじめに https://github.com/slmao/DebugGPU 「DebugGPU」を Unity プロジェクトに導入することで Scene ビュー同様にゲーム画面でミップマップレベルを可視化できるようになります 使用例 Scene ビュー Game ビュー 使い方 シーンのカメラに「DebugGPU」コ…
方法1 using UnityEditor; using UnityEngine; public sealed class Example : AssetPostprocessor { private void OnPostprocessTexture( Texture2D texture ) { var importer = AssetImporter.GetAtPath( assetPath ) as TextureImporter; importer.mipMap…
概要 Scene ビューの「Shaded」を押して 「Mipmaps」を押すと ミップマップレベルを可視化できます 赤 描画密度が高い テクスチャ解像度が必要以上に大きい 青 描画密度が低い テクスチャ解像度を大きくしても良い 参考サイト様 https://radiumsoftware.tumb…
はじめに 「PlannarShadowForUnity」はモバイルでも高速に動く影シェーダです 使用例 使い方 影を適用したいオブジェクトの Mesh Renderer の 「Cast Shadow」を「Off」にして、「Receive Shadows」をオフにしておきます 影を適用したいオブジェクトと同じメ…
はじめに ReSharper で Unity 連携を有効化すると、 Unity においてパフォーマンスがあまり良くないコードを 削除したり書き換えたりしてくれるようになります Unity 連携の有効化 Unity 連携の有効化の方法は上記の記事で記載しております 使用例 Awake や …
はじめに ReSharper で Unity 連携を有効化すると、 Unity においてパフォーマンスがあまり良くないコードを ハイライト表示して教えてくれるようになります Unity 連携の有効化 Unity 連携の有効化の方法は上記の記事で記載しております ハイライト表示の種…
はじめに 「Fast Mobile Camera Motion Blur」を Unity プロジェクトに導入することで モバイルで高速に動作するモーションブラーを使用できるようになります 使用例 使い方 シーンのカメラに「Fast Motion Blur」をアタッチして 「FastMotionBlur」マテリア…
はじめに 「Fast LUT」を Unity プロジェクトに導入することで LUT が使用できるようになります 使用例 適用前 適用後 使い方 LUT テクスチャを右クリックして 「Create > FastLUT > Convert 2D LUT Texture to FastLUT」を選択して Fast LUT 専用のアセット…
概要 上記の公式ドキュメントで Android アプリ開発で使用できるプロファイラがまとめられています
スライド
リンク
はじめに 「Fast Mobile Post Processing」を Unity プロジェクトに導入することで モバイルでも高速に動作するカラーコレクション(LUT)、ブラー、 ブルームが使用できるようになります 使用例 適用前 適用後 カラーコレクション(LUT)、ブラー、ブルーム…
はじめに 「Ultimate Billboard」を Unity プロジェクトに導入することで 円柱型、球形のビルボード(フォグ適用可)を使用できるようになります 使用例 マテリアルの Shader を「Sprites/UltimateBillboard」を変更すると使用できます 項目 内容 Use Fog フ…