2024-03-01から1ヶ月間の記事一覧
UnityのAddressable Asset Systemは、アプリケーションのアセットを効率的に管理し、ダイナミックなロードやアンロードを可能にする強力なツールです。このシステムを使用することで、ゲームやアプリの開発者は、リソースの管理を容易にし、ユーザー体験を向…
UnityのPrefabUtilityは、プレハブに関連するさまざまな操作を行うための強力なツールです。この記事では、PrefabUtilityの主要な機能を紹介し、Unity開発者がプレハブをより効果的に扱えるようにする方法を説明します。 PrefabUtilityの概要 PrefabUtility…
TextMeshPro DynamicFontを使用する際のgit管理の課題を解決するスクリプト Unityのテキスト表示において、TextMeshProは広く使用されています。その中でも、DynamicFontを利用する場合、再生中にFontAtlasが変更されると、gitの履歴管理が困難になるという…
このスクリプトをUI要素にアタッチすることで、そのUI要素がドラッグ可能になり、親要素の範囲内で自由に移動できるようになります。 using UnityEngine; using UnityEngine.EventSystems; public class UIRectDraggable : UIBehaviour, IBeginDragHandler, …
Unity 2022.3.20f1から、「Object.InstantiateAsync」が新たに導入されました。これにより、プレハブの非同期インスタンス化が可能になりました。 従来のUnityでは、プレハブのインスタンス化は同期的に行われていました。これにより、複数のプレハブを同時…
このクラスは、指定したインデックスの子オブジェクトを表示エリア内にスクロールする「ScrollTo」メソッドと、指定したRectTransformが表示エリア内に収まるようにスクロールする「ScrollTo」メソッドが実装されています。 これを利用することで、以下のよ…
UnityのInspector上で特定のフィールド名を右クリックした際に表示されるメニューに、カスタムな動作や処理を追加したいことはよくあります。 そんなときに便利なのが、ContextMenuItem属性です。この属性を使うと、簡単にカスタムなメニュー項目を追加でき…
以前は背景画像を描画する際にGrabtextureを使用していましたが、 URP(Universal Render Pipeline)ではその機能が削除されたため、代替手段が必要です。 今回は、その代替手段の1つであるShader GraphのSceneColorノードを使用した方法を説明します。 Scen…
オブジェクトをドラッグした方向に回転させるには、Transform.Rotateを使用します。 以下の例では、ドラッグの方向にオブジェクトを回転させる方法を示しています。 using UnityEngine; using UnityEngine.EventSystems; public class RotationTest : MonoBe…
ScrollRectの子供に配置されたオブジェクトが、IPointerDownHandlerを持つとドラッグ操作時に誤って呼び出される問題があります。 例えば、以下のようなコンポーネントがScrollRectの子供オブジェクトに存在する場合、 public class EventHandleTest : MonoB…
同じ階層にある子供オブジェクトに対して、親にGraphicRaycasterが存在しない場合、Rayが下のオブジェクトではなく上のオブジェクトに当たる問題が発生します。 例えば、以下のヒエラルキーが考えられます。ここで、GraphicRaycasterが「Node Up」と「Node D…