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

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

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

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

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

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

効率的なスクロールビューを実装するためのOSS『Loop Scroll Rect』使い方まとめ

効率的なスクロールビューを実装するためのOSS『Loop Scroll Rect』使い方をまとめました。 Loop Scroll Rectとは? シンプルなスクロールビューを実装する スクロールビューを作成する 要素のPrefabを作成する スクリプトを作成する 動作確認 オブジェクト…

【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インスタンシング対応シェーダ 挙動を確認する フラグメントシェーダでインスタン…

【Unity】【Localization】ローカライズした値を適用する二通りのワークフローまとめ

UnityのLocalizationパッケージでローカライズした値を適用する二通りのワークフローをまとめました。 はじめに 値を適用する二通りの方法 準備: Localization Tableを作成する Component Localizerを使う方法 Localized Property Variantsを使う方法 Locali…

【Unity】【Localization】Locale Selectorでアプリ起動時の言語を設定する方法まとめ

UnityのLocalizationパッケージのLocale Selectorでアプリ起動時の言語を設定する方法についてまとめました。 はじめに Locale Selectorの役割 Locale Selectorの設定方法 Locale Selectorの種類 カスタムLocale Selector 関連 参考

【Unity】【Addressables】シーンのロードと初期化タイミングをちゃんと理解する

Unityにおけるシーンのロードと初期化タイミングについてまとめました。 シーンのロード SceneManager.LoadScene SceneManager.LoadSceneAsync 2022/02/25追記 Addressables.LoadSceneAsync

【Unity】画面遷移におけるビューとロジックの分離手法とUnity Screen Navigatorを使った具体例

画面遷移におけるビューとロジックの分離手法とUnity Screen Navigatorを使った具体例をまとめました。 ビューとロジックを分離することの意義 本記事で作る画面の説明 まずは全部ビューに書く 上記の実装の問題点 ビューとロジックを分離する ダミーデータ…

【Unity】Text Mesh Proで表示できない文字を非表示にする

UnityのText Mesh Proで表示できない文字を非表示にする方法です。 はじめに 結合文字などの特殊な文字を削除する 表示できない文字を削除せず非表示にする 関連