Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2021.11.09今回はUnityのキャンバスやUI要素の表示順序を変えてみたいと思います。複数のキャンバスやUI要素がある時にその表示順を変更したいことがあります。カードゲームでドラッグしてドロップしたカードを一番手前に表示したい時等です。スポンサーリンクCanvasの表示順を変えるまずは複数のCanvasが存在する場合に特定のCanvasを前面に押し出したい時の変更方法です。以下のように2つのCanvasとその子にPanelを配置し、さらにPanelの子にTextを配置します。最初のCanvasの子のテキストにはA、B、C、Dを入力します。一つ目のキャンバスは以下のような感じで重なるように各パネルを移動させます。次のCanvasの子のテキストには1、2、3、4を入力します。二つ目のキャンバスは以下のような感じで重なるように各パネルを移動させます。二つのCanvasの子が重なるように二つ目のCanvasの子の各パネルを移動して一つ目のキャンバスの要素に重なるようにします。Orderを1にしてみます。すると以下のように1や2のCanvasの要素が前面に表示されるようになります。Orderの値が並べ替えの順序を設定する数値で、他の値より大きい値を設定すると前面に表示されます。Spaceにしてワールドの位置(3D空間上)がカメラから他のCanvasよりも遠くにあった場合でも、そのCanvasが前面に表示されるようになります。以下のように、カメラから遠い1や2のCanvasの方が前面に表示されるようになります。ゲーム中にCanvasの表示順序を変更する時はCanvasコンポーネントのsortOrderの値を表示したい順序の数値に変更するだけです。Orderを持つCanvasより前面に表示されます。Orderを1にしていますが、前面にしたいタイミングで行うようにすれば特定のカードを前面に表示するということが出来ます(例えばドラッグ後にドロップした時)。同じキャンバスの子のヒエラルキーの表示順を変える先ほどはCanvas毎の表示順を変えましたが、Canvasの子の要素の表示順を変えたい場合もあります。Canvasの子の要素の表示順はヒエラルキーの順番なので、順番を変更すると表示順が変わります。先ほどのAやBが所属するCanvasでBのPanelをドラッグしてAの上に持っていくとBが一番後ろになり、その後Aになります。次がBのPanelをAのPanelの上にくるようにドラッグした状態。パネルの順序を変えると表示される順序も変わっています。この順序をスクリプトから変更するには以下のようにします。ヒエラルキーの順番を設定する//transform.SetSiblingIndex(1);}}TransformのSetAsFirstSiblingメソッドを使用すると今いる自分の階層の一番上に移動して、一番後ろに表示されます。TransformのSetAsLastSiblingメソッドを使用すると今いる自分の階層の一番下に移動して、一番手前に表示されます。TransformのSetSiblingIndexメソッドを使用すると引数で与えた数の順番に移動します。0番目が一番上で、それ以降は一番上からの位置になります。レンダラーの表示順を変えるレンダラーを持つゲームオブジェクトの表示順もRendererのsortingOrderの値を変更すると変えられます(まったく同じ形状で同じ位置にあるゲームオブジェクトだとわかりやすいかも?)。2DのSpriteはSpriteRendererコンポーネントを持ちますが、Rendererクラスを継承しているので同じように以下のスクリプトを使えます。1;}}複数の部品に分かれたスプライトで、一人のキャラクターを構成するなどの場合はSortingGroupコンポーネントを使ってください(一人のキャラクターパーツをまとめる)。together.docs.unity3d.com終わりに自作のタイピングゲームでキャンバスの表示順を変えることがあったのでそれを元に記事にしました。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事UIUnityでキーやゲームパッドで操作するステータス画面の作成Unityでマウス、キーボードやゲームパッドで操作するステータス画面の作成をしていきます。UIUnityでオプション設定の切り替えボタンを作成するUnityで音声のオン・オフ等のオプション設定の切り替えボタンを作成していきます。UIUnityのガンシューティングゲームのUIで銃の残り弾数の表示をするUnityで作成しているガンシューティングゲームの銃の残り弾数をUIを使って表示するような機能を作成していきます。UIUnityのレイアウトグループを使ってUIを自動レイアウトするUnityのレイアウトグループを使ってUIの要素を自動レイアウトしていきます。UIUnityで敵にダメージを与えた時に少しづつHPを減らす機能を作成Unityのアクションゲームで敵にダメージを与えた時に敵のHPをカウントダウンしながら減らしていく機能を作成します。UIUnityで敵キャラクターのHPを頭上に表示するUIを作成Unityで敵キャラクターのHPを表すUIを頭上に表示してキャラクターと一緒に移動するようにします。GCを有効にしてガベージコレクションを分散させるホームUIスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。