Sorting Group は、 Sprite Renderers によるレンダリングの順序を変えるコンポーネントです。これを利用すると、同じルートを共有するレンダラーをまとめて 1 つのグループとしてソートできます。Unity のレンダラーは、レイヤー内の順序、カメラからの距離など、いくつかの基準によってソートされます。
Sorting Group コンポーネントを利用するには、Sorting Group コンポーネントを ゲームオブジェクト のルート (グループとしてソートしたい複数の親ゲームオブジェクト) に加えます。ゲームオブジェクトのルートを選び、それから、メインメニューで Component > Rendering > Sorting Group の順に選択します。
Sorting Group は、シーンビュー内で視覚的に表示されません。空のゲームオブジェクトに加えて使用します。多くのゲームオブジェクトがあり、それらをまとめて 1 グループとしてソートを適用する場合に便利です。
Sorting Group は他のレンダラーに依存せず、ゲームオブジェクトとその子孫のゲームオブジェクトにアタッチされているレンダラーが一緒にレンダリングされます。
プロパティ | 機能 |
---|---|
Sorting Layer | レンダリングのときにスプライトが重なる順番を決定するのに使用するレイヤーをドロップダウンで選択します。 |
Order in Layer | 同じレイヤー内で、スプライトの重なる優先順位を設定します。数が小さいものが先にレンダリングされ、大きい数をもつものが、重ねられてレンダリングされます。 |
Unity は、Sorting Layers のコンセプトを利用して、スプライトをグループに分け (Sorting Group)、重ねる優先順位を決定します。優先順位の低い__Sorting Layer__ を持つ Sorting Group の上に、優先順位の高い__Sorting Layer__ の Sorting Group が重なります。
同じ Sorting Layer 内の 2 つ以上のオブジェクトが重なることがあります (例えば、下の例に示すような横スクロールゲームの 2 つのプレイヤーキャラクター)。Order in Layer プロパティを使用すると、同じレイヤー内の複数の Sorting Group に一貫した優先順位を適用することができます。Sorting Layer と同じように、最初に Order in Layer の値が小さいものがレンダリングされ、後からレンダリングされる値が大きい Sorting Group によって重ねられます。 Sorting Layers の編集に関する詳細は、タグとレイヤー のドキュメントを参照してください。
Sorting Group の子孫は最も近い他の Sorting Group または隣の Sorting Group の子孫に対してソートされます (ソートが距離によるものか、Order in Layer によるものかによって決まります)。 つまり、 Sorting Group は自身の子孫のためだけにローカルのソート空間を生成します。これにより、グループ内の各レンダラーを Sorting Layer と Order in Layer を利用してソートすることが可能ですが、ローカルでは含んでいる Sorting Group に対してソートします。
ネスト式の Sorting Group は同じグループの他のレンダラーに対してソートされます。
ただし、Hierarchy ウインドウで Sorting Group に属さないゲームオブジェクトは、1 つのレイヤーとしてまとめてレンダリングされます。そして、レンダラーは、 Sorting Layer と Order in Layer に基づいてソートされます。
Sorting Group の使用例
Sorting Group は一般的に 2D ゲームにおいて、いくつかのスプライトで構成される複雑なキャラクターに利用されます。この例では Hierarchy に複数レンダラーをもつ 2D キャラクターを使用します。
このキャラクターは 1 つの Sorting Layer 内で複数の Order in Layers を使ってボディパーツをソートしています。それから、キャラクターは プレハブ として保存され、ゲーム中に何度も複製できます。
以下の表示のように、複製するときにボディパーツは同じレイヤーにあるため、互いに重なり合います。
期待する結果は、1 つのキャラクターのレンダラーがすべて一緒にレンダリングされてから、次のキャラクターがレンダリングされることです。現在の状態は、互いに通り抜けているように見えます。両方のキャラクターがブレンドされているというよりも、1 つが他方よりカメラに近いように見えます。
キャラクターのルートに加えた Sorting Group コンポーネントによって、ボディパーツが重なり合わず、混合しないようにします。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.