【Unity】デザインパターン:Strategyパターン2026/02/14デザインパターンとは? デザインパターンとは、プログラミングでよく出てくる問題に対する「定番の解決方法」のことです。 料理のレシピのように、「こういう問題にはこの方法で解決しよう!」という先人の知恵をまとめたものです。 Strategyパターンは、処理のアルゴリズムを切り替えたい場合に使えるデザインパターンです。 デザインパターン (ソフトウェア) - Wikipedia ja.wikipedia.orgデザインパターンC#
【Unity】RectTransformUtilityを活用する2026/02/07RectTransformUtilityとは? Unityにおいて、Canvas以下にあるGameObjectはTransformの代わりに UI要素の位置やサイズ調整を行う際に使用する、RectTransformコンポーネントを持っています。 RectTransformUtilityはRectTransformに関する便利な機能を提供するクラスです。 RectTransformUtility - Unity スクリプトリファレンス RectTransform と動作するヘルパーメソッドを含むユーティリティクラス。 docs.unity3d.comUnityUI
【Unity】Object Pool2026/01/17ObjectPoolとは? Unityでは通常、銃弾やエフェクトなど、オブジェクトが必要になったときに、Instantiateしてインスタンスを生成します。 それだと効率が悪いので、事前に一定数インスタンスを用意してプールしておき、 必要に応じてそこから取り出す手法が使われてきました。 これがオブジェクトプールです。 UnityでもいくつかObjectPoolの実装がありますが、Unity2021.2以降では公式にも提供されています。 Unity - Scripting API: ObjectPool<T0> docs.unity3d.comUnity
【Unity】デザインパターン:State2026/01/10Stateパターンとは? デザインパターンとは、プログラミングでよく出てくる問題に対する「定番の解決方法」のことです。 料理のレシピのように、「こういう問題にはこの方法で解決しよう!」という先人の知恵をまとめたものです。 Stateパターンは、オブジェクトの状態が変わったときに、その動作も変えたい場合に使えるデザインパターンです。 デザインパターン (ソフトウェア) - Wikipedia ja.wikipedia.orgデザインパターンC#
【Unity】Project Auditorでプロジェクトの改善点を調べる2026/01/03Project Auditorとは? Project Auditorは、Unity公式の静的解析ツールで、Unity 6.1から正式にUnityに組み込まれ、サポートされるようになりました。 以前はUnityエンジニアによって開発された実験的なツールでしたが、現在は正式な機能として提供されています。 Project Auditorは、Unity Profiler、Frame Debugger、Memory Profilerなどのランタイムプロファイリングツールとは異なり、 プロジェクトを実行することなく、スクリプト、アセット、設定の分析を行い、インサイトと問題を報告します。 Auditorとは監査するという意味です。 Project Auditor package | Project Auditor | 1.0.2 docs.unity3d.comUnity6Package
【Unity】Input Actions2025/12/27InputSystemのInputActionsとは? Input Actionsは、Unity 2019.1以降に導入された新しい入力システム(Input System Package)の中核的な機能です。 アクション指向の設計で、 キーボード、マウス、ゲームパッド、画面タッチなどの異なる入力デバイスを統一的に扱うことができます。 入力をアクションとして抽象化できるので、例えば複数のデバイスのボタン操作に「ジャンプ」というアクションに割り当て、 「ジャンプ」アクションが発生したらゲーム内でプレイヤーをジャンプさせるように作ることができます。 Input Action Assets | Input System | 1.15.0 docs.unity3d.comUnityC#
【Unity】Input ManagerとInput System2025/12/20Input Managerとは? Input Managerは、プレイヤーの入力を管理するシステムです。 キーボード、マウス、画面のタップ、ゲームコントローラの入力を判定できます。 例えば、Input.GetKey()、Input.GetMouseButtonDown()といったメソッドを使用して入力を判定できます。 現在も使用はできますが、Legacyという扱いになっており、次に紹介するInput Systemの使用が推奨されています。 Input Manager - Unity マニュアル Input Managerウィンドウでは、プロジェクトの入力軸とそれに関連するアクションを定義することができます。このウィンドウにアクセスするには、Unityのメインメニューから、 Edit > Project Settings を選択し、右のナビゲーションから Input Manager を選択します。 docs.unity3d.comUnityC#Package
【Unity】アセット紹介:Obi Softbody2025/12/13Obi Softbodyとは? Obi Softbodyは、Virtual Method社が開発した高性能なソフトボディ物理エンジンです。 パーティクルベースの物理シミュレーションにより、ゼリーやゴム、粘土のような柔らかい物体の動きをUnityで表現できます。 このアセットはUnityのBurst、Jobs、Collections、Mathematicsパッケージを使用し、数千のポリゴンで構成される複雑なソフトボディをリアルタイムでシミュレートします。オブジェクトは弾性変形(元の形状に戻る)だけでなく、塑性変形(変形が残る)も表現でき、より現実的な物理挙動を実現できます。 Obi Softbody | 物理エンジン | Unity Asset Store Get the Obi Softbody package from Virtual Method and speed up your game development process. Find this & other 物理エンジン options on the Unity Asset Store. assetstore.unity.comUnityAssetStore
【Unity】デザインパターン:Decoratorパターン2025/12/06デコレーター(Decorator)とは? Decoratorパターンとは、既存のオブジェクトに対して、元の構造を変更せずに新しい機能を動的に追加するための デザインパターンです。 「装飾」という名前の由来 このパターンが「装飾」と呼ばれる理由は、まさにクリスマスツリーの装飾と同じ考え方だからです。 基本のツリー(元のオブジェクト)はそのままに、オーナメントやライト(機能)を自由に追加・取り外しできます。 元のオブジェクトを「装飾」するように、新しい振る舞いを重ね合わせていくのが特徴です。 継承との違い 従来の継承を使った機能拡張では、以下のような問題があります: 継承の問題点: クラスが増えすぎる(組み合わせ爆発) コンパイル時に機能が固定される 複数の機能を同時に適用するのが困難 Decoratorパターンの利点: 実行時に機能を追加・削除できる 複数のデコレータを自由に組み合わせ可能 既存コードの変更が不要 機能の組み合わせ順序も制御できる 基本構造 Decoratorパターンは以下の要素で構成されます: Component(コンポーネント): 機能を定義するインターフェース ConcreteComponent(具体コンポーネント): 基本機能を実装するクラス Decorator(デコレータ基底クラス): 装飾機能の基底となるクラス ConcreteDecorator(具体デコレータ): 実際の装飾機能を実装するクラス 使用する場面 以下のような状況でDecoratorパターンが有効です: 動的な機能追加が必要: 実行時に機能のON/OFFを切り替えたい 機能の組み合わせ: 複数の効果を重ね合わせたい(攻撃力UP + 防御力UP など) 既存コードの保護: 動作中のコードを変更せずに機能を拡張したい 設定による制御: 設定ファイルやユーザー選択により機能を変更したいUnityC#デザインパターン
【Unity】不足している文字を確認する2025/11/29TextMeshProのFontAsset Unityでテキストを表示する場合、TextMeshProが標準的に使用されます。 その際事前にFontAssetを作成しておく必要がありますが、含まれる文字は生成元のフォントファイルに依存します。 フォントによっては第二水準以上の漢字などが含まれていない場合があります。 Class TMP_FontAsset | TextMeshPro | 3.2.0-pre.15 docs.unity3d.comUnityC#TextMeshPro