コガネブログ

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

2021-11-01から1ヶ月間の記事一覧

【Unity】Addressables で依存関係が増えるほどビルド時間がどのくらい長くなるか

検証環境 Windows 10 Unity 2020.3.13f1 Addressables 1.19.11 検証方法 1,000 個の Scriptable Object を用意して すべての Scriptable Object にアドレスを割り振って Default Local Group に追加して Default Local Group の Bundle Mode を 「Pack Separ…

【Unity】選択した Package を Assets フォルダに移動するエディタ拡張「Kogane Package To Asset」を GitHub に公開しました

リポジトリ 使用例 使い方 Assets フォルダに移動したい Package を右クリックして「Package to Asset」からコマンドを選択します 項目 内容 Including Dependencies 依存関係も含めて選択された Package を Assets フォルダに移動 Excluding Dependencies …

【Unity】Addressables でアセットバンドルをまとめた時と別々にした時でビルド時間にどのくらい差が出るか

検証環境 Windows 10 Unity 2020.3.13f1 Addressables 1.19.11 検証方法 10,000 個の Text Asset(.txt)を用意して すべての Text Asset にアドレスを割り振って Default Local Group に追加して Default Local Group の Bundle Mode を 「Pack Together(…

【Unity】モザイクシェーダを使用できる「Pixelation Effect in Unity」紹介

はじめに 「Pixelation Effect in Unity」を Unity プロジェクトに導入することで モザイクシェーダを使用できるようになります クイックスタート シーンのカメラに「Camera Effect」をアタッチして 「Material」に「TNTC_Pixelize」マテリアルを設定して 「…

【Unity】無限ループでフリーズした Unity を復帰させる方法

まとめ Windows なら Asset Store の「Emergency Exit」を使うと Ctrl + Shift + Q で無限ループを止められるようになります Visual Studio や JetBrains Rider を使っているなら 以下のいずれかの方法で無限ループを止められます ステートメントの設定で無…

【Unity】Unity エディタで好きなフォントを使用する方法

はじめに 上記のサイト様で紹介されている Unity エディタで好きなフォントを使用する方法を試してみたので 備忘録として自分のブログにも手順を書き残しておきます 手順 【Unity インストール先】\Editor\Data\Resources\fontsettings.txt 上記のファイルを…

【Unity】ホットキーでシーンを開けるようになる「Hotkey Scenes Switcher」紹介

はじめに 「Hotkey Scenes Switcher」を Unity プロジェクトに導入することで ホットキーでシーンを開けるようになります クイックスタート Unity メニューの「Tools > NMJ > SceneManager > Hotkeys > Edit」を選択して ホットキーで開きたいシーンを設定す…

【Unity】エディタ上で AudioClip を再生できる「EditorAudioUtils」紹介

はじめに 「EditorAudioUtils」を Unity プロジェクトに導入することで エディタ上で AudioClip を再生できるようになります クイックスタート Project Settings の左メニューで「EditorAudioUtils」を選択して 再生したい AudioClip を設定して using JD.Ed…

【Unity】Inspector で Markdown のプレビューを確認できる「Unity Markdown Viewer」紹介

はじめに 「Unity Markdown Viewer」を Unity プロジェクトに導入することで Inspector で Markdown のプレビューを確認できるようになります クイックスタート 導入するだけで Markdown のプレビューを確認できるようになります

【Unity】UnityEngine.Object の Null チェックまとめ

結論 SerializeField で Null なフィールド == null は Null だと判定できる ??、?.、??=、is null は UnassignedReferenceException が発生する Destroy した直後の UnityEngine.Object == null は Null だと判定できない ??、?.、??=、is null も Null だ…

【Rider】よく使う機能と使わない機能を確認できる「Productivity Guide(生産性ガイド)」

概要 Rider メニューの「ヘルプ > 生産性ガイド」を押すと よく使う機能と使わない機能を確認できます

【Unity】Particle System のゲームオブジェクトが移動や回転した時にパーティクルを追従させないようにする方法

概要 Particle System のゲームオブジェクトが移動や回転した時に パーティクルを追従させないようにしたい場合は Simulation Space を「World」にします これでパーティクルがゲームオブジェクトの移動や回転に追従しなくなります 参考サイト様

【Unity】Instantiating material due to calling renderer.material during edit mode. This will leak materials into the scene. You most likely want to use renderer.sharedMaterial instead.

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var gameObject = Selection.activeGameObject; var lineRenderer = gameObject.GetComponent<LineRenderer>(); lineRenderer.materi</linerenderer>…

【Unity】SpringJoint2D を LineRenderer で表示するサンプル

ソースコード using UnityEngine; [DisallowMultipleComponent] [ExecuteAlways] [RequireComponent( typeof( SpringJoint2D ) )] [RequireComponent( typeof( LineRenderer ) )] public sealed class Example : MonoBehaviour { private SpringJoint2D m_sp…

【Unity】エディタ拡張で Sprites-Default マテリアルを使用したい場合

概要 var mat = AssetDatabase.GetBuiltinExtraResource<Material>( "Sprites-Default.mat" ); 上記のコードを書くとエディタ拡張で Sprites-Default マテリアルを使用できます</material>

【Rider】Insert キーを押した時に上書きモードにならないようにする方法

概要 Rider の設定の「キーマップ」の「挿入/上書きの切り替え」を右クリックして 「Insert の除去」を押してから「Save」を押すと Insert キーを押した時に上書きモードにならなくなります

【Unity】.csproj の NoWarn に 0169 と 0649 を追加して警告を抑制するエディタ拡張

概要 Unity で「Suppress Common Warnings」をオンにすれば Unity 上では 0169 と 0649 の警告は出なくなるが Rider 上でビルドした場合は警告が出るので以下のエディタ拡張を作って警告を抑制 using System.IO; using System.Text; using System.Xml.Linq; …

【Unity】Scene ビューに 3D オブジェクトの法線・接線・従法線を表示できる「NormalView」紹介

はじめに 「NormalView」を Unity プロジェクトに導入することで Scene ビューに 3D オブジェクトの法線・接線・従法線を表示できるようになります 使用例 クイックスタート 3D オブジェクトに Normal View をアタッチすることで表示できます

【Unity】デバイスが対応している Texture フォーマットを確認できる「UnityTextureFormatCheckerKun」紹介

はじめに 「UnityTextureFormatCheckerKun」を Unity プロジェクトに導入することで デバイスが対応している Texture フォーマットを確認できるようになります

【Unity】プレハブモードになった時に Scene ビューの 2D カメラの位置やサイズを変更するエディタ拡張

概要 using Cysharp.Threading.Tasks; using UnityEditor; using UnityEditor.Experimental.SceneManagement; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { PrefabStage.prefabStageOpened += async stage => {…

【Unity】Scene ビューの 2D カメラの位置やサイズを変更するエディタ拡張

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/FixCameraPivotAndSize" )] public static void FixCameraPivotAndSize() { var sceneView = SceneView.lastActiveSceneView; if ( sceneView == null ) retur…

【Rider】空白を表示する方法

概要 Rider の設定の「エディター > 一般 > 外観」の「空白を表示」をオンにすると 空白を表示できます

【Rider】namespace と入力した時に MyNamespace 以外の名前が自動で入力されるようにする方法

概要 namespace と入力した時に MyNamespace 以外の名前が入力されるようにしたい場合、 Rider の設定の「エディター > Live Templates > C#」を押して 「namespace」の「Edit variables」を押して 好きな名前を入力して「Done」を押して「Save」を押します …

【Unity】Odin で Inspector の Script の欄を非表示にする方法

概要 コンポーネントの Inspector に表示される「Script」の欄を非表示にしたい場合は using Sirenix.OdinInspector; using UnityEngine; [HideMonoScript] public class Example : MonoBehaviour { public string m_name; } HideMonoScript をクラスに付け…

【Unity】Unity を再生する時にプレハブモードを終了するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.SceneManagement; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.playModeStateChanged += change => { if ( change != PlayModeStateChange.ExitingEditMode…

【Unity】プレハブモードを終了するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.SceneManagement; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { StageUtility.GoToMainStage(); } }

【Rider】宣言に移動した時にデコンパイルしないようにする方法

概要 Rider で宣言に移動するとデフォルトでは 関数の中身などがデコンパイルされた状態で表示されますが Rider の設定の「ツール > External Symbols」を開いて 「Decompile methods」をオフにして保存すると 宣言に移動した時に関数の中身などがデコンパイ…

【Rider】XML ドキュメントコメントをすべて折りたたむ方法

概要 Rider メニューの「コード > 折りたたみ > Doc コメントを折りたたむ」を選択すると XML ドキュメントコメントをすべて折りたたむことができる 参考サイト様

【Unity】The class named 'XXXX' is not derived from MonoBehaviour or ScriptableObject!

概要 The class named 'XXXX' is not derived from MonoBehaviour or ScriptableObject! Console ウィンドウにこのような警告メッセージが表示される場合は シーンに存在するゲームオブジェクトに MonoBehaviour を継承していないクラスのスクリプトがアタッ…

【Unity】GameObject (named 'XXXX') references runtime script in scene file. Fixing!

概要 GameObject (named 'XXXX') references runtime script in scene file. Fixing! Console ウィンドウにこのような警告メッセージが表示される場合は シーンに存在するゲームオブジェクトに MonoBehaviour を継承していないクラスのスクリプトがアタッチ…