コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2022-07-01から1ヶ月間の記事一覧

【Unity】エディタ拡張で Multiple なスプライトをすべて取得する方法

概要 using System.Linq; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { var sprites = AssetDatabase .LoadAllAssetsAtPath( "【Multiple なスプライトのファイルパス】" …

【Unity】Unity エディタを白色にする「Clean Light Editor Theme」紹介

概要 上記のページで紹介されている .uss を Unity エディタに追加することで Unity エディタを白色にできます 検証環境 Unity 2020.3.33f1 導入手順 Unity プロジェクトに「Editor/Stylesheets/Extensions」フォルダを作成して その中に以下のファイルを作…

【Unity】スクリプトからアセットを編集する時は AssetDatabase.StartAssetEditing を使うと処理が速くなる

はじめに エディタ拡張でスクリプトからマテリアルを 1,000 個作成する時に AssetDatabase.StartAssetEditing を使う場合と使わない場合で 処理速度がどのくらい変わるか調査してみた 検証環境 Windows 10 Unity 2021.1.0f1 検証用スクリプト AssetDatabase.…

【Unity】Scene ビューを非表示にすると Unity が軽くなる

検証内容 3D モデルが大量に配置されているシーンを再生している時に Scene ビューを表示する場合と非表示しない場合の FPS を比較 検証環境 Unity 2021.3.1f1 Scene ビューを表示する場合 31 ~ 32 FPS Scene ビューを表示しない場合 41 ~ 43 FPS 結論 作っ…

【Unity】MonoBehaviour の参照を Interface で Inspector に設定できる「Serializable Interface」紹介

はじめに 「Serializable Interface」を Unity プロジェクトに導入することで MonoBehaviour の参照を Interface で Inspector に設定できるようになります 使用例 public interface ICharacter { void Log(); } たとえば ICharacter インタフェースが存在し…

【Unity】Asset Import Overrides を設定した時のプロジェクトの起動時間を検証

はじめに Unity Hub でプロジェクトを開く時に コマンドライン引数で Asset Import Overrides を設定した際に プロジェクトの起動時間がどのくらい変化するかを検証してみた 検証環境 Windows 10 Unity 2021.3.1f1 Unity Accelerator 未使用 Parallel Import…

【Unity】IL2CPP Code Generation を Faster (smaller) builds にするとビルドが速くなる

はじめに IL2CPP Code Generation を「Faster runtime」にした場合と 「Faster (smaller) builds」にした場合でビルド時間にどのような差が出るか検証してみた 検証環境 Windows 10 Unity 2021.3.1f1 WebGL ビルド 検証結果 ビルド回数 Faster runtime Faste…

【Unity】WebGL ビルドで Code Optimization を Speed から Size にしたらビルドが速くなった

はじめに WebGL ビルドで Code Optimization を「Speed」にした場合と 「Size」にした場合でビルド時間と成果物のサイズにどのような差が出るか検証してみた 検証環境 Windows 10 Unity 2021.3.1f1 WebGL ビルド ビルド時間 ビルド回数 Speed Size 1 回目 5…

【Unity】UniRx のオブジェクトプールの使用例

スクリプト 実行例 プールにオブジェクトが不足している場合は新規で生成されます プールに非アクティブなオブジェクトが存在する場合は 新規で生成せずに非アクティブなオブジェクトをアクティブにします Clear 関数でプールをリセットできます GC Alloc に…

【Unity】ビルド時に勝手に StreamingAssets フォルダが作られて UnityServicesProjectConfiguration.json というファイルが生成されるのを防ぐ方法

概要 「Version Control」パッケージが依存している 「com.unity.services.core」が勝手にフォルダやファイルを作成してしまうので Package Manager を開いて「Version Control」を選択して「Remove」する その後ビルドすると勝手に StreamingAssets フォル…

【Unity】Unity プロジェクトにデフォルトで入っているパッケージをすべて削除すると Unity 再生時の待ち時間が短くなる

検証内容 Unity プロジェクトにデフォルトで入っているパッケージを すべて削除した場合に Unity 再生時の待ち時間がどのくらい短くなるか検証 検証環境 Unity 2021.3.1f1 検証結果 項目 待ち時間 パッケージ削除前 3.3 秒 パッケージ削除後 1.4 秒 パッケー…

【Unity】Unity プロジェクトにデフォルトで入っているパッケージをすべて削除するとコンパイルが速くなる

検証内容 Unity プロジェクトにデフォルトで入っているパッケージを すべて削除した場合にどのくらいコンパイルが速くなるか検証 検証環境 Unity 2021.3.1f1 検証結果 項目 コンパイル時間 パッケージ削除前 3.2 秒 パッケージ削除後 2.0 秒 パッケージ削除…

【Unity】エディタをデバッグモードにすると Unity 再生時の待ち時間がどのくらい増えるか

検証内容 エディタをデバッグモードにすると Unity 再生時の待ち時間がどのくらい増えるか検証してみた 検証環境 Unity 2021.3.1f1 検証結果 項目 再生時の待ち時間 リリースモード 2.9 秒 デバッグモード 3.1 秒 JetBrains Rider 起動中 3.6 秒 JetBrains R…

【Unity】Odin のような Attribute を使用できる「Tri Inspector」紹介

はじめに 「Tri Inspector」を Unity プロジェクトに導入することで Odin のような Attribute を使用できるようになります 使用例 https://github.com/codewriter-packages/Tri-Inspector 使用できる Attribute は上記のページに詳細に記載されています また…

【Unity】Unity プロジェクトを SSD ではなく HDD に格納すると起動時間がどのくらい遅くなるか

検証環境 Windows 10 Unity 2022.1.0f1 Library フォルダを削除した状態で起動時間を検証 検証結果 項目 プロジェクトの起動にかかった時間 SSD 5分30秒 HDD 11分53秒

【Unity】スプライトを非表示にするだけなら非アクティブにするより enabled をオフにする方が処理が速い

検証内容 20,000 個のスプライトをシーンに配置 表示の有効無効を切り替えるために毎フレーム GameObject.SetActive を使用した場合と SpriteRenderer.enabled を使用した場合の FPS を比較 検証環境 Unity 2021.3.1f1 GameObject.SetActive の場合 0 FPS Sp…

【Unity】シンプルなテキストは TextMesh Pro を使わずにスプライトフォントを自作した方が処理が速い

検証内容 上記のように 0.1 秒ごとに表示が変化するテキストを シーンに 5,000 個配置する場合に TextMesh Pro で表示した時と自作のスプライトフォントで表示した時の FPS を比較 検証環境 Unity 2021.3.1f1 TextMesh Pro の場合 6 FPS 自作のスプライトフ…

【Unity】全方位シューティングを作るチュートリアルを Unity 2022 に対応しました

概要 当ブログで公開している全方位シューティングを作るチュートリアルを Unity 2022 に対応しました

【Unity】Unity Search でアセットの依存関係をグラフにして確認できる

はじめに Unity Search の公式の拡張機能を導入すると アセットの依存関係をグラフで可視化できるようになります 検証環境 Unity 2021.3.1f1 導入方法 上記の記事を参考にしてください 使い方 Unity メニューの「Window > Search > Dependency Graph Viewer…

【Unity】Unity Search ですべてのアセットの依存関係を簡単かつ高速に確認できる

はじめに Unity Search の公式の拡張機能を導入すると アセットの依存関係を簡単かつ高速に確認できます https://github.com/Unity-Technologies/com.unity.search.extensions https://github.com/Unity-Technologies/com.unity.search.extensions/wiki/depe…

【Unity】シンプルなスプライトアニメーションは Animator を使わずに自作した方が処理が速い

検証内容 10,000 個のスプライトをシーンに配置 Unity の Animator を使用してスプライトアニメーションを再生した場合と、 自作の C# スクリプトでスプライトアニメーションを再生した場合の FPS を比較 検証環境 Unity 2021.3.1f1 Unity の Animator を使…

【Unity】「Glitch/Wireframe Effect」紹介

はじめに https://www.patreon.com/posts/glitch-wireframe-65951657 上記のサイト様で「Glitch/Wireframe Effect」が公開されています 使用例