レイヤー
■概要
レイヤーとは階層や層などの意味を表しており、 PhotoShopなどペイントソフトやソフトウェアの構成や設計などでも 使用されている考え方、機能です。![]()
![]()
■ゲームにおけるレイヤー
レイヤーの考え方はゲーム開発にも扱われており、 Unityなどのゲームエンジンでも使用されています。 ●主な使い方 レイヤーはある種のグループを作成するための情報として使われており、 よく使用されているのは描画のグループ分けです。 例1: ゲーム内で使用するゲームオブジェクトを ある程度の種類毎にレイヤー分けすることで 特定のレイヤーのみを描画させやすくなります。例2: アルファブレンドとZバッファの相性の問題も アルファ有り3Dモデルと、アルファ無しの3Dモデルの レイヤーを分けて、そのレイヤーに対して描画優先順位を 持たせることで、解決することが可能です。
![]()
■共通点
レイヤーを使用した処理を実装した場合に見られる共通点として 各レイヤーは独立しており、レイヤー内のオブジェクト同士で 干渉はできますが、別レイヤーとは基本的に干渉しません。 例えば描画順位のためにレイヤー分けを行った場合は 描画順番はレイヤーごとの優先順位が最優先で、 その次に各レイヤー内のオブジェクトが持つ優先順位となります。 レイヤーの優先順位を越えて描画順が変わることはありません。![]()
■注意点
●レイヤー間の干渉 上で「レイヤー間は干渉しない」と記述していますが、 それはあくまでレイヤー分けを行った内容の範囲の話しです。 「描画の優先順位のレイヤー分け」を行った場合に オブジェクトが干渉できないのは「描画優先順位」に関することだけです。 それ以外の部分で干渉することは問題ありません。 ●使いすぎない レイヤー分けは「独立性の高いグループ」を作ることを意味しているので 多用しすぎると制限がかかりすぎて、窮屈なコードになるので注意が必要です。
例2:
アルファブレンドとZバッファの相性の問題も
アルファ有り3Dモデルと、アルファ無しの3Dモデルの
レイヤーを分けて、そのレイヤーに対して描画優先順位を
持たせることで、解決することが可能です。
