Unity

【Unity】【エディタ拡張】ProjectビューにおいてTwo Columnレイアウトの左側のパネルで選択中しているフォルダとファイルを取得する

UnityでProjectビューにおいてTwo Columnレイアウトの左側のパネルで選択中しているフォルダとファイルを取得する方法についてまとめました。 やりたいこと 左側のパネルの情報を取得する 参考

【Unity】シーンの雛形を作れるScene Template機能の使い方まとめ

Unityのシーンテンプレートの使い方をまとめました。 はじめに シーンテンプレートを作成する タイトルや説明などの情報を入力する シーンが参照するアセットをコピーするか設定する テンプレートからシーンが作成される前や後の処理を書く スクリプトからシ…

【Unity】【URP】ポイントライトの影を落とす方法とパフォーマンスのお話 (Unity2021.1から)

Unity2021.1からURPでポイントライトの影が落とせるようになったのでその方法と処理負荷の話です。 はじめに 基本的な使い方 シャドウマップのサイズ設定とメモリ パフォーマンス 参考

【Unity】【エディタ拡張】EditorWindowをモーダルやポップアップなどとして開く方法まとめ

Unityのエディタ拡張でEditorWindowをモーダルやポップアップなどとして開く方法についてまとめました。 はじめに 一覧表 ShowModal ShowUtility ShowModalUtility ShowAuxWindow ShowAsDropDown Popup サンプルコード 参考

【Unity】【Rider】RiderのT4テンプレートでlinePragmas="false"が効かないのでAssetPostProcessorで削除する

RiderのT4テンプレートでlinePragmas="false"が効かない話とUnityのAssetPostProcessorで削除する方法です。 はじめに RiderのT4テンプレートでlinePragmas="false"が効かない AssetPostProcessorで削除する 関連

【Unity】【Addressable】ResourceLocatorを実装して独自のキーでリソースを読み込む

ResourceLocatorを実装して独自のキーでリソースを読み込む方法についてまとめました。 ResourceLocator? GUIDをキーにしてAssetDatabaseからリソースを読み込むResourceLocatorを作る 動作確認

【Unity】【エディタ拡張】シリアライズ対象の値を直接編集する際の挙動をちゃんと理解する

Unityのエディタ拡張でシリアライズ対象の値を直接編集する際の挙動についてまとめました。 基本はSerializedObjectを使って更新する 直接更新した時の挙動と問題 Dirtyフラグを立てる Undoに対応する 保存まで行う Play Modeの挙動 参考

【Unity】TextMesh Proでダイナミックフォントを使用する一番簡単でハマらない手順(Font Asset Creatorを使わない)

UnityにTextMesh Proでダイナミックフォントを使用する一番簡単でハマらない手順についてまとめます。 Font Asset Creatorはハマりやすい フォントを選んで右クリックから作る 参考

【Unity】ビルド時に不要なシェーダバリアントを削除するIPreprocessShadersの使い方

Unityでビルド時に不要なシェーダバリアントを削除するIPreprocessShadersの使い方をまとめました。 ビルド時にシェーダバリアントを削除? IPreprocessShadersの使い方 処理されるタイミング & 注意点 参考

【Unity】Unity上でテクスチャをノードベースで生成できるOSS「Mixture」の使い方簡単にまとめ

Unity上でテクスチャをノードベースで生成できるOSS「Mixture」の使い方を簡単にまとめました。 Mixture? インストール テクスチャアセットを作る ノードを組み合わせてテクスチャを作る Realtime Mixture 関連 参考

【Unity】OpenUPMからパッケージをインストールする方法

UnityでOpenUPMからパッケージをインストールする方法についてまとめました。 OpenUPM? プロジェクト設定を変更する Package Managerからパッケージをインストールする 関連 参考

Unity開発の新常識!? Localizationパッケージでアプリ内テキストを管理する

Localizationパッケージはローカライズだけではなくテキストを管理するのにとても便利なので、最初から入れておこうというお話です。 Localizationパッケージとは テキスト管理あるある Localizationでテキストを管理する 本来はローカライズのためのパッケ…

【Unity】URPでPBRライティングをする基本的なシェーダの書き方まとめ

UnityのUniversal Render Pipeline(URP)でPBRライティングをする基本的なシェーダを書く方法をまとめました。 はじめに 方針の整理 シェーダ 結果 関連 Unity2020.3.15f2 Universal RP 10.5.1

【Unity】【シェーダ】ゼロのゼロ乗は「1、あるいは未定義」だと言うことを実感した話

Unityのシェーダでゼロのゼロ乗は「1、あるいは未定義」だと言うことを実感した話をまとめました。 pow関数の不可解な挙動 ゼロのゼロ乗は1あるいは未定義である どうすればいいのか 参考

【Unity】シェーダでUNITY_VERSIONマクロを使ってUnityエディタのバージョンごとに処理を変える

UnityのシェーダでUNITY_VERSIONマクロを使ってUnityエディタのバージョンごとに処理を変える方法です。 はじめに シェーダ 結果 参考

【Unity】【Localization】プラットフォームごとにローカライズ値を出し分けるPlatform Overrides

UnityのLocalizationパッケージで、プラットフォームごとにローカライズした値を出し分ける方法についてまとめます。 はじめに 基本的な使い方 Entry Override Typeについて 独自のPlatform Overridesを作成する 関連 参考

【Unity】【Localization】iOS/Androidのアプリ名などをローカライズする

UnityのLocalizationパッケージでiOSやAndroidのアプリ名などをローカライズする手順をまとめました。 はじめに iOSのアプリ名をローカライズする Androidのアプリ名をローカライズする 関連 参考 Unity 2020.3.15f2 Localization 1.2.1

【Unity】【Localization】Pseudo-Localizationでローカライズに関する色んなテストを行う

UnityのLocalizationパッケージのPseudo-Localization機能を使って、ローカライズに関する色んなテストを行う方法についてまとめました。 はじめに 基本的な使い方 Pseudo-Localization Methodの説明 Expander Accenter Encapsulator Preserve Tags Characte…

【Unity】【Localization】ローカライズ文字列をSpreadSheetと連携する

UnityのLocalizationパッケージでローカライズ文字列をSpreadSheetと連携する方法についてまとめました。 はじめに 認証情報を設定する Sheets Service Providerを作成・設定する String TableをSpreadSheetと連携する 関連 参考

【Unity】【Localization】ローカライズ文字列をCSVに入出力する

UnityのLocalizationパッケージでローカライズ文字列をCSVに入出力する方法についてまとめました。 はじめに CSVとして出力する CSVからインポートする CSVインポート・エクスポート設定 関連

【Unity】【Localization】ローカライズしたアセットを動的に切り替える

UnityのLocalizationパッケージでローカライズしたアセットを動的に切り替える方法についてまとめました。 やりたいこと Component Localizerでローカライズする 動的にTableEntryを差し替える 結果 関連 参考

【Unity】【Localization】あらゆる種類のアセットをローカライズできるようにする方法まとめ

UnityのLocalizationパッケージであらゆるアセットをローカライズ対応する方法をまとめます。 はじめに Component Localizerでローカライズできるか確認する Component Localizerでローカライズできるようにする LocalizedAssetEventを継承したクラスを作成…

【Unity】【エディタ】Edit ModeでスクリプトからUnityEventにリスナを登録して永続化する

UnityでEdit ModeでスクリプトからUnityEventにリスナを登録して永続化する方法についてまとめました。 やりたいこと 引数なしのメソッドを登録する 引数ありUnityEventに引数ありのメソッドを登録する 引数なしのUnityEventに引数ありのメソッドと引数を設…

【Unity】URPにおけるシェーダのLightModeの用途を整理する

UnityのUniversal Render PipelineにおけるシェーダのLightModeの用途を整理しました。 はじめに LightModeまとめ 関連 参考

【Unity】【Localization】スクリプトで操作する方法総まとめ

UnityのLocalizationパッケージの各処理をスクリプトで操作する方法についてまとめました。 はじめに 初期化する・初期化を待機する 初期化しなおす Localeを変更する テーブルをプリロードする テーブルを取得する エントリを取得する テーブルを強制的に解…

【Unity】【エディタ】アセンブリリロード時に消えない値を保持するSessionStateの使い方まとめ

Unityでアセンブリリロード時に消えない値を保持するSessionStateの使い方をまとめました。 SessionState? 使い方 ホットリロードについて 関連 参考

【Unity】【URP】ライトの光をマスクするLight Cookieの使い方まとめ

UnityのURPでライトの光をマスクするLight Cookieの使い方をまとめました。 はじめに テクスチャを用意する ライトにクッキーを設定する ポイントライトやディレクショナルライトに適用する 参考

【Unity】Profiling Core APIを使ってProfilerに表示する情報を拡張する

UnityのProfiling Core APIを使ってProfilerに表示する情報を拡張する方法についてまとめました。 はじめに インストール ProfilerMarkerをCustomSamplerのように使う メタデータを埋め込む 独自のカウンターグラフを作成する 関連 参考

【Unity】【Localization & Addressables】ローカライズリソースのロードとダウンロード・メモリ管理の仕組みをちゃんと理解する

UnityのLocalizationパッケージにおけるローカライズリソースのロードとダウンロードの仕組みをまとめます。 はじめに 基本はLocale初期化時にプリロード プリロードしない場合には必要になったときにロードされる 手動でプリロードする メモリの解放タイミ…

【Unity】【URP】Custom Vertex Streams + GPUインスタンシングに対応したParticleSystem用シェーダを書く

UnityのURPでCustom Vertex Streams + GPUインスタンシングに対応したParticleSystem用シェーダを書く方法についてまとめました。 やりたいこと Custom Vertex Streams + GPUインスタンシング対応シェーダ 挙動を確認する フラグメントシェーダでインスタン…