Skip to content

Canvas Component ​

UIの基準解像度、拡縮、操作Playerとゲーム入力のブロックを設定します。

設定する手順 ​

  1. UI用GameObjectをCanvasの子として配置し、操作Playerと表示順を選びます。
  2. SceneViewまたはGameViewで結果を確認します。
  3. 編集中のSceneまたはPrefabを保存します。

項目の説明 ​

項目C#名型操作定義時の初期値意味
有効Enabledbool読取・変更trueこのComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
ReferenceResolutionReferenceResolutionVector2読取・変更EngineContext::GetWindowSetting().gameSizeFloatCanvasの配置と拡縮の基準となる幅・高さです。
ScaleModeScaleModeCanvasScaleMode読取・変更CanvasScaleMode::ScaleWithScreenSize基準解像度に対してUIの大きさをどう合わせるかを指定します。
ScaleFactorScaleFactorfloat読取・変更1.0fUI全体の拡縮倍率です。
MatchWidthOrHeightMatchWidthOrHeightfloat読取・変更0.5f解像度追従で幅と高さのどちらを優先するかの比率です。
ソートレイヤーSortingLayerint読取・変更0UIを並べる描画Layerです。
描画順Orderint読取・変更0同じLayer内の並び順です。
InputBlockModeInputBlockModeCanvasInputBlockMode読取・変更CanvasInputBlockMode::Noneゲーム入力を止めない・UI操作frameのみ・Canvas有効中から選びます。
PlayerPlayerIndexuint読取・変更0操作を割り当てるPlayer番号です。先頭は0です。
編集中に入力有効InputInEditModebool読取・変更falsePlay前のUI操作を許可します。
決定後入力を受け付けないBlockInputAfterSubmitbool読取・変更false決定操作後の入力消費を設定します。
キーボード入力有効KeyboardInputEnabledbool読取・変更trueキーボード操作を有効にします。
ゲームパッド入力有効GamepadInputEnabledbool読取・変更trueゲームパッド操作を有効にします。
左スティックを使用GamepadLeftStickEnabledbool読取・変更true左スティックによるUI選択を有効にします。
NavigationModeNavigationModeCanvasNavigationMode読取・変更CanvasNavigationMode::Automatic自動または指定した配置情報で選択先を決めます。
ナビゲーションをループWrapNavigationbool読取・変更true端の選択から反対側へ移動できるようにします。
FirstSelectedFirstSelectedGameObject?読取・変更{}最初に選択するUI GameObjectの保存用IDです。
リピート開始RepeatDelayfloat読取・変更0.35f押し続けてから連続移動が始まるまでの秒数です。
リピート間隔RepeatIntervalfloat読取・変更0.12f押し続けたときの連続移動の間隔です。単位は秒です。
スティックしきい値StickThresholdfloat読取・変更0.5fスティックを倒したと判定する閾値です。

Inspectorの設定と使い方 ​

「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。

設定・操作編集場所C#の入口意味・使い方
有効・ソートレイヤー・描画順Editor / C#Enabled / SortingLayer / Order子のUIをまとめる基準です。別Canvasとの並びと、Canvas配下のボタン・文字の関係を設定します。
基準解像度・拡縮C#のみReferenceResolution / ScaleMode / ScaleFactor / MatchWidthOrHeight現在のInspectorは基準解像度を表示するだけです。C# APIでは基準解像度・拡縮方式・倍率・幅高さの合わせ方も扱えます。表示情報と編集欄を区別してください。
Player・ゲーム入力ブロックEditor / C#PlayerIndex / InputBlockModePlayerは0〜3です。入力ブロックは、なし・UI操作を消費したframe・Canvas有効中から選び、そのPlayerのゲーム入力を抑えます。UI自身の入力を止める指定ではありません。
入力有効・決定後ロック・リピートEditor / C#InputInEditMode / BlockInputAfterSubmit / RepeatDelay / RepeatInterval編集時にも操作するか、決定後の再操作を抑えるか、長押しの移動開始待ちと繰り返し間隔を指定します。C#ではInputLockedで状態を読み、BlockInputAfterSubmitをfalseへ戻すと入力ロックが解除されます。
初期UI・ナビゲーション・ループEditor / C#FirstSelected / NavigationMode / WrapNavigation / TransitionTable最初に選択するUIと、自動の位置判定か遷移テーブルかを選びます。テーブルの縦横と各セルで選択先を定義し、端から反対側へ戻すかをループで指定します。
キーボード・パッド・ボタン割当Editor / C#KeyboardInputEnabled / GamepadInputEnabled / GamepadLeftStickEnabled / StickThreshold / SetKeyboardInputs / SetGamepadInputs選択移動・決定などへキーやパッドボタンを割り当てます。スティック使用時はしきい値で小さな入力を除きます。既存割当の取得・追加・削除APIも下表にあります。

初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。

C#から使う ​

操作型はCanvasです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。

設定用・関連するC#型 ​

選択値(Enum) ​

型・各値の詳説使える値
CanvasInputActionDown / Left / Right / Submit / Up
CanvasInputBlockModeConsumedFrame / None / WhileVisible
CanvasNavigationModeAutomatic / TransitionTable
CanvasScaleModeConstantPixelSize / ScaleWithScreenSize
GamepadButtonA / B / Back / Down / Left / LeftShoulder / LeftThumb / LeftTrigger / Right / RightShoulder / RightThumb / RightTrigger / Start / Up / X / Y
KeyCode103件。型のページで全候補を確認できます。

Canvas ​

宣言・詳説種類・操作役割
public void AddGamepadInput(CanvasInputAction action, GamepadButton button)関数指定操作へゲームパッド入力を追加する
public void AddKeyboardInput(CanvasInputAction action, KeyCode key)関数指定操作へキーボード入力を追加する
public bool BlockInputAfterSubmitプロパティ(読取・変更)決定操作後の入力消費を設定します。
public void ClearGamepadInputs(CanvasInputAction action)関数指定操作のゲームパッド入力をすべて削除する
public void ClearKeyboardInputs(CanvasInputAction action)関数指定操作のキーボード入力をすべて削除する
public bool Enabledプロパティ(読取・変更)このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
public GameObject? FirstSelectedプロパティ(読取・変更)最初に選択するUI GameObjectの保存用IDです。
public static Canvas FromEntity(GameObject gameObject)関数既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。
public bool GamepadInputEnabledプロパティ(読取・変更)ゲームパッド操作を有効にします。
public bool GamepadLeftStickEnabledプロパティ(読取・変更)左スティックによるUI選択を有効にします。
public IReadOnlyList<GamepadButton> GetGamepadInputs(CanvasInputAction action)関数指定操作に割り当てたゲームパッド入力を取得する
public IReadOnlyList<KeyCode> GetKeyboardInputs(CanvasInputAction action)関数指定操作に割り当てたキーボード入力を取得する
public CanvasInputBlockMode InputBlockModeプロパティ(読取・変更)ゲーム入力を止めない・UI操作frameのみ・Canvas有効中から選びます。
public bool InputInEditModeプロパティ(読取・変更)Play前のUI操作を許可します。
public bool InputLockedプロパティ(読取専用)決定後にCanvas入力がロックされているか
public bool KeyboardInputEnabledプロパティ(読取・変更)キーボード操作を有効にします。
public float MatchWidthOrHeightプロパティ(読取・変更)解像度追従で幅と高さのどちらを優先するかの比率です。
public CanvasNavigationMode NavigationModeプロパティ(読取・変更)自動または指定した配置情報で選択先を決めます。
public int Orderプロパティ(読取・変更)同じLayer内の並び順です。
public uint PlayerIndexプロパティ(読取・変更)操作を割り当てるPlayer番号です。先頭は0です。
public Vector2 ReferenceResolutionプロパティ(読取・変更)Canvasの配置と拡縮の基準となる幅・高さです。
public bool RemoveGamepadInput(CanvasInputAction action, GamepadButton button)関数指定操作からゲームパッド入力を削除する
public bool RemoveKeyboardInput(CanvasInputAction action, KeyCode key)関数指定操作からキーボード入力を削除する
public float RepeatDelayプロパティ(読取・変更)押し続けてから連続移動が始まるまでの秒数です。
public float RepeatIntervalプロパティ(読取・変更)押し続けたときの連続移動の間隔です。単位は秒です。
public float ScaleFactorプロパティ(読取・変更)UI全体の拡縮倍率です。
public CanvasScaleMode ScaleModeプロパティ(読取・変更)基準解像度に対してUIの大きさをどう合わせるかを指定します。
public void SetGamepadInputs(CanvasInputAction action, params GamepadButton[] buttons)関数指定操作のゲームパッド入力を置き換える
public void SetKeyboardInputs(CanvasInputAction action, params KeyCode[] keys)関数指定操作のキーボード入力を置き換える
public int SortingLayerプロパティ(読取・変更)UIを並べる描画Layerです。
public float StickThresholdプロパティ(読取・変更)スティックを倒したと判定する閾値です。
public CanvasTransitionTable TransitionTableプロパティ(読取専用)行列形式のUI遷移テーブル
public bool TryScreenToLocalPoint(Vector2 screenPosition, out Vector2 localPosition)関数GameViewピクセル座標をCanvasローカル座標へ変換する
public bool WrapNavigationプロパティ(読取・変更)端の選択から反対側へ移動できるようにします。
public static int componentTypeIDプロパティ(読取専用)組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。

継承する共通操作:Component ​

宣言・詳説種類・操作役割
public T AddComponent<T>() where T : Component関数ComponentまたはScriptを追加し、操作する参照を返します。
public T? GetComponent<T>() where T : class関数component access(owner GameObjectへの委譲)
public T? GetComponentInChildren<T>(bool includeInactive = false) where T : class関数子階層から指定型のComponentを探します。
public T? GetComponentInParent<T>(bool includeInactive = false) where T : class関数親階層から指定型のComponentを探します。
public T[] GetComponents<T>() where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public void GetComponents<T>(List<T> results) where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public T[] GetComponentsInChildren<T>(bool includeInactive = false) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(bool includeInactive, List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public T[] GetComponentsInParent<T>(bool includeInactive = false) where T : class関数親階層にある指定型のComponentを収集します。
public void GetComponentsInParent<T>(bool includeInactive, List<T> results) where T : class関数親階層にある指定型のComponentを収集します。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public bool HasComponent<T>() where T : class関数指定型のComponentを持つかを調べます。
public void RemoveComponent<T>() where T : Component関数指定型のComponentを取り除きます。
public bool TryGetComponent<T>(out T component) where T : class関数Componentを検索し、見つかったかをbool、結果をout引数で返します。
public GameObject gameObjectプロパティ(読取専用)このComponentを所有するGameObjectです。
public Transform transformプロパティ(読取専用)所有GameObjectのTransformです。

継承する共通操作:Object ​

宣言・詳説種類・操作役割
public static void Destroy(Object? target)関数参照先の個体だけを安全地点で破棄する
public override bool Equals(object? obj)関数2つの値が等しいかを調べます。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public static GameObject Instantiate(Prefab original)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static bool operator ==(Object? lhs, Object? rhs)関数等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static implicit operator bool(Object? value)関数暗黙の型変換を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static bool operator !=(Object? lhs, Object? rhs)関数不等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。

使用時の注意 ​

入力ブロックはUI操作を止める設定ではありません。割り当てたPlayerのゲーム側入力を止めます。

Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。

関連項目 ​

現行版マニュアル · 8ea58ba2 · 2026-10-28確認