Unity

【Unity】【エディタ】WindowsとMacでパスを正しく取り扱う

はじめに プラットフォームとディレクトリ区切り文字 プラットフォーム依存問題 UnityのAPIとパス .NETとパス Unityでパスを正しく扱う 関連 参考

【Unity】【エディタ】Preset ManagerでAddコンポーネント時・アセットインポート時のデフォルト値を設定する

UnityのPreset ManagerでAddコンポーネント時・アセットインポート時のデフォルト値を設定する方法についてまとめました。 できることの例 コンポーネントアタッチ時のデフォルト値を設定 アセットインポート時のデフォルト値を設定 ScriptableObject作成時…

【Unity】URPでDeferred Renderingの概要を学んでサクッと使う

UnityのUniversal Render Pipeline(URP)でDeferred Renderingの概要を学び、簡単に使うところまでをまとめました。 はじめに Forward RenderingとDeferred Rendering URPにおけるForward Renderingとの違い リアルタイムライトが多数使える 半透明描画はForw…

【Unity】Unity2021.2の新機能を組み合わせてインポート時間を最速化する

Unity2021.2の新機能を組み合わせてインポート時間を最速化する方法をまとめました。 はじめに インポート時にワーカープロセスを立ち上げる Asset Import Overrideでテクスチャのインポートを高速化する Import Activity Windowでインポート時間を分析する …

【Unity2021.2新機能】各アセットのインポート時間が一覧表示できるImport Activity Window

Unity2021.2新機能である、各アセットのインポート時間が一覧表示できるImport Activity Windowについてまとめます。 はじめに 使い方 重いインポート処理を書いてみる OnPostprocessAllAssetsで書いた処理は計上されないので注意 参考

【Unity2021.2新機能】Asset Import Overrideでテクスチャのインポートを高速化する

Unity2021.2新機能であるAsset Import Overrideでテクスチャのインポートを高速化する方法をまとめます。 Asset Import Override? 使い方 プロジェクトを開く際に有効化する ビルドにも影響するので注意 関連 参考

【Unity】Unity HubのAdvanced Project Settingsでプロジェクトを開く際のコマンドライン引数を指定する

Unity HubのAdvanced Project Settingsでプロジェクトを開く際のコマンドライン引数を指定する方法です。 Advanced Project Settings 使ってみる 参考

【Unity】【エディタ拡張】TimelineのClipの見た目を拡張する

UnityでTimelineのClipの見た目を拡張する方法についてまとめました。 やりたいこと Clipの見た目を拡張する DrawBackgroundでできないことはClipDrawOptionsで Clipのライフサイクルイベント ソースコード全文 関連

【Unity】【xLua】LuaとC#をまたいでオブジェクト指向な実装をする

xLuaでLuaとC#をまたいでオブジェクト指向な実装をする方法についてまとめました。 xLua? 課題 Luaにおけるオブジェクト指向 特定の環境の変数にだけ値を代入する 関連

【Unity】【エディタ拡張】複数のカスタムPropertyAttributeを作るとPropertyDrawerが競合する問題とその対応策

Unityで複数のカスタムPropertyAttributeを作るとPropertyDrawerが競合する件とその対応策についてまとめます。 問題点 ソースコード EnabledIfAttributeをMultiPropertyAttributeで実装する NormalizedAnimationCurveAttributeをMultiPropertyAttributeで実…

【Unity】Unity2020.1からProfilerがスタンドアロンで起動可能に、プロファイリング時のノイズが減少

Unity2020.1からProfilerがスタンドアロンで起動可能になり、プロファイリング時のノイズを減らすことができるようになりました。 はじめに 起動方法 参考

【Unity】【エディタ拡張】AnimationCurveを正規化するアトリビュートを作る

Unityのエディタ拡張でAnimationCurveを正規化するアトリビュートを作る方法についてまとめます。 やりたいこと ソースコード 使い方 関連

【Unity】Visual Scripting(旧Bolt)でScript Machineのカスタムユニットを作成する方法まとめ

UnityのVisual Scripting(旧Bolt)でScript Machineのカスタムユニットを作成する方法をまとめました。 はじめに ログ出力を行うユニットを作成する 加算するユニットを作る 1秒後にログ出力する、コルーチン用のユニットを作る ユニットのヘッダで値を設定で…

【Unity】Uiversal Render Pipelineでカスタムポストエフェクトを実装する(公式未対応バージョン)

UnityのUniversal Render Pipeline(URP)でカスタムポストエフェクトを実装する方法についてまとめました。 なおいずれはカスタムポストエフェクトについて公式なサポートが入る予定ですが、この記事は公式が未対応の現状における実装方法となります。 はじめ…

【Unity】URP用のシェーダの書き方が旧パイプラインと微妙に違ってややこしいのでまとめた

URP用のシェーダの書き方が旧レンダリングパイプラインと微妙に違ってややこしいのでまとめました。 はじめに シェーダ 関連 参考

【Unity】Universal Render Pipelineで独自のレンダリングパスを追加する

Universal Render Pipelineで独自のレンダリングパスを追加する方法についてまとめました。 はじめに パスを定義する パスに対応するシェーダを書く ScriptableRendererFeatureを作る Forward Renderer Dataに設定する レンダリングする 関連

【Unity】Universal Render Pipelineでポストエフェクトを適用する

Universal Render Pipelineでポストエフェクトを適用する方法についてまとめました。 はじめに URPでポストエフェクトを掛ける手順 Renderer Dataを設定 Cameraを設定 Volumeを作成 エフェクトを追加 Renderer Featureとして適用するポストエフェクトについ…

【Unity】asmdefのVersion Definesを使って特定のPackageがインストールされていたら自動的に処理を変える

特定のPackageがインストールされていたら処理を変えるAssembly Definitionを作る方法です。 はじめに 対象のパッケージをインストールしておく Assembly Definition Fileを作る Define Symbolを定義する Version Definesを設定 設定完了 参考

【Unity】SRP Batcherまとめ - Dynamic BachingやGPUインスタンシングとの違い~シェーダの書き方まで

UnityのSRP Batcherについてまとめました。 SRP Batcherとは? Dynamic Baching・GPUインスタンシングとの違い Dynamic Batching GPUインスタンシング SRP Batcherの使い方 シェーダの書き方 関連 参考

【Unity】URPのComplex Litシェーダでクリアコーティングされたマテリアルを作る

UnityのUniversal Render PipelineでComplex LitシェーダのClear Coatを使う方法についてまとめます。 URPでクリアコート? クリアコートとは? 使い方 パフォーマンス 関連 参考

【Unity】エディタでデータを保存する場所と保存方法まとめ

Unityのエディタでデータを保存する場所と保存方法についてまとめました。 保存する場所の分類 Assetsフォルダ Preferenceフォルダ Projectフォルダ Libraryなど共有しないフォルダ 保存・読み込み方法まとめ AssetDatabase FileIO EditorPrefs SettingsProv…

【Unity】【エディタ】EditorUserSettingsでユーザ毎のエディタ設定を管理する

UnityのEditorUserSettingsでユーザ毎のエディタ設定を管理する方法です。 EditorUserSettings? 使用例

【Unity】PlayerSettingのPreloadedAssetsでメモリに常駐するファイルをシンプルに管理する

UnityのPreloadedAssetsでメモリに常駐するファイルをシンプルに管理する方法です。 PreloadedAssets? PreloadedAssetsの使い方 使用例 参考

【Unity】【エディタ】アセットが作成・削除・移動・保存される「前」のタイミングをフックするAssetModificationProcessor

Unityでアセットが作成・削除・移動・保存される前のタイミングをフックする方法です。 AssetModificationProcessor 作成・削除・移動の後処理を記述するにはAssetPostprocessor 関連 参考

【Unity】【xLua】LuaとUnityのコルーチンの連携方法まとめ

xLuaとUnityでコルーチンを連携する方法についてまとめました。 はじめに コルーチンを使う コルーチンを入れ子にする コルーチンを待ち合わせる Luaの関数をIEnumerator型としてC#から取得する 関連

【Unity】【エディタ】EditorBuildSettingsのConfigObjectでプロジェクト毎のエディタ設定を保存する

UnityでConfigObjectでプロジェクト毎のエディタ設定を保存する方法です。 ConfigObject? ConfigObjectの使い方 保存場所と共有範囲について 使用例 参考

【Unity】Unity Test Runner(Test Framework)で複数の入力値を取り扱う方法まとめ

Unity Test Runnerで複数の入力値を取り扱う方法をまとめました。 複数の入力値を取り扱う? Values 複数の定数値を指定 Valuesを複数指定 Enumの全要素についてテスト boolについてテスト ValueSource フィールド・プロパティ・メソッドを指定できる 他のク…

【Unity】Unity非対応の拡張子のファイルをアセットとして取り扱えるScripted Importerの使い方

Unity非対応の拡張子のファイルをアセットとして取り扱えるScripted Importerの使い方をまとめました。 Scripted Importerとは 簡単なサンプル(公式サンプル) サブアセットを差し替えるためのリマップ機能 他のアセットが変更されたら自身をリインポートす…

【Unity】GUI.DrawTexture()でいろんな図形を描画する

UnityのIMGUIのGUI.DrawTexture()で色々描いてみます。 はじめに 矩形を描画 角丸の矩形を描画 中抜きの矩形を描画 中抜きの角丸矩形を描画 ボーダー付きの矩形を描画 ボーダー付きの角丸矩形を描画 ボーダーの太さを辺によって変える 丸みを角によって変え…

【Unity】【Addressable】DiagnosticCallbackで参照カウントなどを取得する

AddressableアセットシステムのDiagnosticCallbackで参照カウントやAsyncOperationのイベントを取得する方法です。 やりたいこと 準備 参照カウントを取得する 取得できるイベントの種類 関連