はじめに 「RectMask2DCulling」を Unity プロジェクトに導入することで 高速化された RectMask2D を使用できるようになります 使い方 「RectMask2D」の代わりに「RectMask2DCulling」を使用します
はじめに 「UI Culling for Unity」を Unity プロジェクトに導入することで UI が他の UI の範囲に入ったかどうかを検知できるようになります 使用例 使い方 UICullingBehaviour コンポーネントを使用して using Oddworm.Framework; using UnityEngine; publ…
はじめに 「ScreenSwipe」を Unity プロジェクトに導入することで スワイプできる UI を簡単に実装できるようになります 使用例 クイックスタート Hierarchy の「+ > UI > Screen Swipe」の 「Screen Swipe」と「Pagination」を押して このようにゲームオブ…
概要 using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerClickHandler { public void OnPointerClick( PointerEventData eventData ) { if ( eventData.button == PointerEventData.InputButton.Left ) { …
はじめに 「GuardLayerImage」を Unity プロジェクトに導入することで チュートリアルなどで特定のボタンのみハイライトして、 それ以外のボタンを押せなくすることができるようになります 使用例 クイックスタート Canvas の前面に表示される位置に空のゲー…
はじめに 「Unity Canvas Visualizer」を Unity プロジェクトに導入することで キャンバス内のオブジェクトを四角形で可視化できるようになります 使用例 クイックスタート Canvas オブジェクトに「Canvas Visualizer」をアタッチします
はじめに 「HexagonalUI」を Unity プロジェクトに導入することで UI で六角形タイル状のレイアウトを使用できるようになります 使用例 クイックスタート HexLayoutGroup をアタッチすることで使用できます
はじめに 「UIOutline」を Unity プロジェクトに導入することで UI でアウトラインや後光を実装できるようになります 使用例 クイックスタート 「UI Outline」コンポーネントをゲームオブジェクトにアタッチして 各種パラメータを設定することで使用できます…
リポジトリ 使用例 using Kogane; using UnityEngine; using UnityEngine.UI; public class Example : MonoBehaviour { public Image m_image; private void Awake() { // Inspector で「It looks like~」が表示されている場合 true Debug.Log( ImageUtils.I…
ソースコード(引用)
検証環境 Unity 2019.3.10f1 TextMesh Pro 2.0.1 概要 TMP_Text.cs を見てみると public string text { get { return m_text; } set { if (m_text == value) return; m_text = old_text = value; m_inputSource = TextInputSources.String; m_haveProperties…
リポジトリ 使用例 using Kogane; using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerDownHandler, IPointerUpHandler { private UIColliderSizeAdjuster m_adjuster; private void Awake() { m_adjuster …
概要 public void UpdateContents( IList<ItemData> list ) { base.UpdateContents( list ); } FancyScrollRect を使用して上記のような関数を定義して実行したときに Assertion failed UnityEngine.Debug:Assert(Boolean) FancyScrollView.FancyScrollRect`2:UpdateCo</itemdata>…
概要 protected override void Initialize() { base.Initialize(); m_scroller.OnValueChanged( UpdatePosition ); m_scroller.OnSelectionChanged( UpdateSelection ); } protected override void UpdatePosition( float position ) { base.UpdatePosition(…
概要 using System.Linq; using UnityEditor; using UnityEditor.Presets; using UnityEngine; using UnityEngine.UI; public static class Example { [MenuItem( "GameObject/MyProject/Image", false, 9 )] private static void CreateImage( MenuCommand …
概要 using UnityEngine; using UnityEngine.UI; public class Example : MonoBehaviour { public Slider m_slider; private void Awake() { m_slider.onValueChanged.AddListener( _ => Debug.Log( "ピカチュウ" ) ); // onValueChanged が呼び出される m_s…
概要 ContentSizeFitter の FitMode を Preferred Size にした状態で プリセットのメニューを開いて 「Save current to...」ボタンを押して適当なフォルダに保存して 保存した Preset を選択して「Add to ContentSizeFitter default」ボタンを押すと Content…
リポジトリ 使い方 Inspector で RectTransform の項目を右クリックして「Fit Children」を選択します Undo に対応しています 孫オブジェクトに対応しています Scale に対応しています
ソースコード 使い方 ゲームオブジェクトに上記のスクリプトをアタッチすると 毎フレーム画面をランダムにクリックします DontDestroyOnLoad が適用されたゲームオブジェクトにアタッチすると そのゲームオブジェクトが破棄されるまで画面をランダムにクリッ…
概要 Image の Use Sprite Mesh をオンにした状態で 赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して ダイアログが表示されたらプリセットを保存するフォルダと ファイル名を設定して「保存」を押して Project ビュ…
概要 Canvas Scaler の UI Scale Mode や Reference Resolution を設定した状態で 赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して ダイアログが表示されたらプリセットを保存するフォルダと ファイル名を設定して…
概要 Canvas Renderer の赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して ダイアログが表示されたらプリセットを保存するフォルダと ファイル名を設定して「保存」を押して Project ビューで作成されたプリセットを…
概要 例えば uGUI の Image の Raycast Target をデフォルトでオフにしたい場合は Image コンポーネントの赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して New Preset ダイアログで保存するフォルダとファイル名を…
概要 using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerClickHandler { public void OnPointerClick( PointerEventData eventData ) { if ( eventData.button == PointerEventData.InputButton.Right ) {…
はじめに 「UnityRadialLayoutGroup」を Uniy プロジェクトに導入することで uGUI で円形のレイアウトを使用できるようになります 使用例 使い方 HorizontalLayoutGroup や VerticalLayoutGroup と同様に RadialLayoutGroup を使用することで円形のレイアウ…
はじめに 「ZString」を Uniy プロジェクトに導入することで string.Format や StringBuilder、TextMesh Pro の割り当てを削減できるようになります string.Format 通常 using UnityEngine; public class Example : MonoBehaviour { private void Update() {…
はじめに 「WebGLInput」を Unity プロジェクトに導入することで WebGL の InputField でコピー・ペーストできるようになります 検証環境 Unity 2019.2.15f1 Chrome 79.0.3945.130 Firefox 72.0.2 上記の環境で正常に動作することを確認しています 使い方 In…
概要 https://networm.me/2019/10/06/unity-ugui-eventsystem-optimization/ https://blog.csdn.net/cyf649669121/article/details/83661023 https://blog.csdn.net/cyf649669121/article/details/83785539 https://blog.csdn.net/cyf649669121/article/deta…
はじめに 「Align Tools」を Unity プロジェクトに導入することで uGUI のオブジェクトを整列できるようになります 使用例 使い方 Unity メニューの「Window > LiteFeel > Align Tools > Align Tools」を選択すると uGUI のオブジェクトを整列できるウィンド…
はじめに uGUI のボタンが反応しない場合に考えられる原因を書き残しておきます 1. Canvas に GraphicRaycaster が アタッチされていない そのボタンが所属している Canvas に 「GraphicRaycaster」がアタッチされていない可能性があります その場合は、Canv…