PicoBerry Use Case

Unity 6.3のRender 3D as 2D — 2Dゲームの中のAI 3Dアセット

まずPicoBerryで3Dアセットの候補を作り、Unity 6.3の2Dプロジェクトに取り込みます。Mesh RendererやSkinned Mesh Rendererに載せて、シーンのほかの2D要素と同じように、並び順や照明、マスク、シェーダー、描画順のルールへ一つずつ合わせていきます。

Render 3D as 2Dの一連の流れです。3Dの候補を作り、2DスタイルのUnityシーンに置いて、並び順やマスク、照明、シェーダー、そしてGame Viewでの見やすさまで確認します。

PicoBerry firstUnity 6.3URP 2D RendererSort 3D as 2D2D LightSprite MaskShader Graph

Unityで3Dモデルを2Dとして描画するには?

PicoBerryでキャラクターやボス、収集アイテム、プロップのたたき台を生成し、シルエットが強いものだけ残します。次にUnityで描画方式を選びます。パララックスや被写界深度、フォグ、遠近の奥行きが重要ならZ-depth、シーンが2Dのソート規則に従う必要があればSort 3D as 2Dです。Sorting Groupや2D Lightの対象レイヤー、Sprite Mask、Mesh 2Dのマテリアルで既存の2Dシステムに組み込み、目標端末でドローコールとシェーダーコストを確認します。

2Dチームが2Dゲームに3Dを取り入れる理由

Render 3D as 2Dは、2Dゲームを丸ごと3Dプロジェクトに作り替えることではありません。制作コストを抑えたいとき、一度作ったものを使い回したいとき、スプライトシートだけでは維持しづらいスタイルを出したいとき。そうした必要な場面にだけ3Dを選んで使います。

01 · スタイル

2Dとして見せつつ3Dの奥行きを借りる

ゲームによっては、画面は最後まで2Dとして見せたいものです。奥行きや回転、カメラの自由さといった3Dの利点だけを取り込み、絵のトーンは一つにそろえます。3Dの技術を見せつけるのが目的ではありません。

02 · キャラクターコスト

方向ごとのスプライトを減らす

3Dキャラクターなら、回転させ、ポーズを変え、アニメーションを使い回せます。装備を持ち替えたりカットシーンに登場させたりしても、アングルごとにスプライトを描き直す必要がありません。

03 · 大きなオブジェクト

ボスと動くプロップ

大きなボスや収集オブジェクト、動くプロップ、アニメーションするセットピースは、高解像度のスプライトをフレームごとに描き起こすより、3Dの候補を回しながら調整するほうが楽なことがあります。

手描きのスプライトシート vs 3Dを生成して2Dで描く

画面に見える2Dの雰囲気は同じです。違うのは、角度・フレーム・レイヤーのつくり方です。方向ごとに手で描き直すか、3Dアセット1つをUnity 6.3の2Dルールに乗せるか。

作業
手描きのスプライト
3Dアセット → 2Dゲーム
新しい角度・ポーズ
方向ごとにスプライトを描き直す
3Dモデルを1つ回すだけ、描き直し不要
アニメーション
フレームごとに手で描く
同じアセットのアニメーションを使い回す
奥行き・描画順
スプライトのレイヤーを手で重ねて奥行きを装う
Sorting GroupとSort 3D as 2Dで順序を決める
ライト・マスク
フレームごとにライティングを焼き込む
2D LightとSprite Maskに反応する
エンジン Unity 6.3パイプライン URP 2D Renderer並び順 Sort 3D as 2Dライト 2D Lightマスク Sprite Maskシェーダー Shader Graph

ゲームの中で実際に機能しなければならないこと

3Dアセットが2Dゲームに馴染むのは、シーンのほかの要素と同じルールに従うときだけです。Sorting LayerとOrder in Layerで前後を整え、2D Lightに反応させ、Sprite Maskと噛み合わせ、Shader Graphのマテリアルを当てたうえで、最終的なカメラの画面でずれがないかを確認します。

Sort 3D as 2D

Unity 6.3なら、Sorting Groupを付けた3Dオブジェクトも2D方式の並び替えに参加できます。Z-depthだけに頼らず、Sorting LayerとOrder in Layerでオブジェクトを制御できます。

URP 2D Rendererに合わせる

Mesh RendererやSkinned Mesh Rendererのオブジェクトを、URP 2D Rendererの流れの中で検証できます。2D LitやUnlitのマテリアル、互換性のあるShader Graphの出力も含めて確認します。

Scene ViewからGame Viewまで

単体で見ると良く見えるモデルでも、2Dゲームに入れると浮いてしまうことがあります。本当の確認は、カメラのフレーミング、スケール、レイヤー順、光への反応、そしてGame Viewでの見やすさです。

前景と照明になじませる

このシーンでは、手描きの2Dの村に3Dキャラクターを置いても絵が崩れないかを確かめます。木の茂み、柵、家、樽、ランタンの明かり、柔らかな背景。これらすべてが、3Dアセットがシーンのレイヤーや照明、絵画的なタッチに馴染むかどうかを試します。

奥行きと、プレイ中の見やすさ

このシーンでは、より広いプレイ空間でアセットを試します。大きな前景の木に隠れてもキャラクターははっきり見えなければならず、同時に遠くの橋や水、空、地形のレイヤーとも馴染む必要があります。プレイ中のスケール、シルエット、カメラのフレーミング、奥行きの順序を実際に確かめる、実践的なチェックです。

実制作レベルの2Dシーンで目視確認する

以下の例で、シーン構成、並び順、マスクの挙動、奥行きの見え方を、手に取るように確かめる基準に落とし込みます。

Sort 3D as 2Dの説明図

並び替えの考え方。3Dの奥行きを、プレイヤーが実際に見る2Dのレイヤー順に合わせます。

Sprite Maskとシーン統合のリファレンス

Sprite Maskとシーンエフェクトを基準に、3Dの候補が2D環境に馴染むかどうかを確認します。

Z-depthと2D Sorting Layerを比べるリファレンス

Z-depthと2D Sorting Layerの違い。前後の順序がずれる問題を診断するときに使います。

まず描画順の戦略を決める

Render 3D as 2Dの問題の多くは、二つの並び替え方式を計画なしに混ぜたときに始まります。アセットを増やす前に、このシーンを奥行きで動かすのか、2Dのレイヤー順で動かすのかを決めておきましょう。

Strategy A

Z-depthで構成する

パララックスや透視カメラの奥行き、Depth of Field、Fog、深度ベースのブラー、Scene Depthのエフェクトに頼るシーンでは、実際のZ位置をそのまま使います。2.5Dプラットフォーマーやサイドビューのアドベンチャー、書き割り芝居のように奥行き自体がアートディレクションの一部になる場面によく合います。

Strategy B

3Dは2Dワールドのゲスト

プロジェクトがすでにSorting LayerやTilemap、Sprite Renderer、Order in Layerを軸に組まれているなら、Sort 3D as 2Dを使います。3Dオブジェクトも、もう一つの2Dシーン要素として振る舞わせ、プロジェクト全体を3D構造に引きずり込まないようにします。

混ざり合いを自然に見せるUnityの仕組み

生成した3Dの候補は、すでに2Dシーンを形づくっている仕組みと連携できて初めて役に立ちます。

Sorting Group

Sorting LayerとOrder in Layerの判断のために3Dオブジェクトを一つにまとめます。これでTilemapやSprite、前景、背景の要素のあいだに正しく収まります。

Mesh 2D Lit / Unlit

Mesh RendererやSkinned Mesh Rendererのオブジェクトに、URP 2D Renderer向けに設計されたマテリアルを使わせます。2D Lightに反応させたいならLit、そうでなければUnlitを選びます。

Shader Graph compatibility

カスタムのSprite Lit、Sprite Unlit、Sprite Custom Litシェーダーは、描画順で頼りにする前に、Sort 3D as 2Dと互換性があるかを確認しておきます。

Sprite Mask interaction

メッシュやスキンドメッシュのオブジェクトをSprite Maskと合わせて検証できます。洞窟やポータル、窓、ステルスゾーン、部分的に見せたい領域、キャラクターの一部だけを表示したい場面に使います。

Camera Sorting Layer Texture

特定のSorting Layerをテクスチャのようにサンプリングできます。これにより、2Dと3Dが混ざったシーンでも水面の反射や画面合成のエフェクトが実現できます。

VFX Graphと奥行き効果

Z-writingやScene Depth、Depth of Field、Fog、GPU駆動のエフェクトで、映画のような奥行きを加えられます。それでいて、ゲームは2Dシーンとして見えたままです。

実践的なワークフロー

PicoBerryはアイデアを素早く形にする層です。その候補が2Dプロジェクトの上に乗っているだけなのか、それとも一部として振る舞えるのかを確かめる場が、Unity 6.3です。

STEP 01

候補を生成する

PicoBerryでキャラクターやボス、収集アイテム、プロップを作り、シルエットがはっきりしていて2Dでの使い道が明確なものだけを残します。

STEP 02

描画戦略を選ぶ

パララックスやDepth of Field、Fog、透視の奥行きが効くならZ-depthを使います。ワールドがすでにSorting Layerを中心に組まれているなら、Sort 3D as 2Dを選びます。

STEP 03

2Dの仕組みに組み込む

Sorting Group、2D Lightの対象レイヤー、Sprite Maskとの噛み合い、Mesh 2D LitまたはUnlitのマテリアル、Shader Graphとの互換性を確認します。

STEP 04

パフォーマンスを検証する

候補を出荷できるものと見なす前に、draw callやマテリアル、シェーダーのコスト、Skinned Meshのコスト、マスクや奥行きのエフェクト、そしてターゲット端末での性能を検証します。

Render 3D as 2Dが最も力を発揮するのは、2Dのワークフローを保ちながら、制作の手間を減らす3Dの部分だけを借りるときです。回転、アニメーションの使い回し、大きなオブジェクトの動き、光への反応、そして奥行きの効果です。

角度ごとに描き直すのは、もう終わりに

3Dアセットは一度つくるだけ。2Dシーンの中での並び替え・ライト・マスクはUnity 6.3に任せれば、方向やフレームを一つずつ手で描く必要はありません。

無料で開始 · クレジットカード不要

Unity 6.3実装チェックリスト

3Dオブジェクトを2Dプロジェクトに加える前に、どのUnityの仕組みがそれを2Dワールドの一部として扱うべきかを決めます。

レンダラーとマテリアル

Mesh RendererかSkinned Mesh Rendererでオブジェクトを載せます。マテリアルはMesh 2D Lit DefaultかMesh 2D Unlit Defaultを使うか、Shader Graphで作ったSprite Lit、Sprite Unlit、Sprite Custom Litなどの出力を当てます。

並び順とクリッピング

3Dオブジェクトが2Dの並び順に従うべきなら、Sorting Groupを付けます。そのうえで実際のカメラ画面で、Sorting LayerとOrder in Layer、Tilemapとの重なり、前景・背景でのクリッピングを確認します。

ライト・マスク・奥行き

2D Lightにきちんと反応するか、Sprite Maskと噛み合うか、Runtime Mask Interactionが正しく働くか、奥行き効果用のZ-writingができるかを見ます。シーンに反射や水の効果があるなら、Camera Sorting Layer Textureも押さえます。

パフォーマンスと制作のガードレール

3Dはスプライト制作のコストを減らせますが、実行時に自動的に軽くなるわけではありません。どの候補も、必ず計測する対象として扱いましょう。

レンダーコストを計測する

draw call、マテリアル数、テクスチャサイズ、シェーダーの複雑さ、Skinned Meshのコスト、batchingの挙動を追いかけます。大きなボスが巨大なスプライト連番より軽いこともありますが、それはシーンで検証できたときだけの話です。

並び替えのルールをそろえる

Z-depth、Sorting Layer、2D Lightのルールを無造作に混ぜないでください。どのオブジェクトが奥行きを使い、どれが2Dのレイヤー順に従い、どれがDepth Bufferに書き込むべきかを、あらかじめ切り分けておきます。

ターゲット端末でテストする

マスクの噛み合い、奥行きのエフェクト、水面の反射、VFX Graphのエフェクト、スキンドアニメーションは、デスクトップとモバイルで挙動が変わることがあります。狙いはすばやく見極めることであって、検証を飛ばすことではありません。

FAQ

これはPicoBerryのページですか、それともUnityのページですか?

PicoBerryを起点に、Unityのワークフローへつなぐユースケースです。3Dアセットの候補はPicoBerryで生成し、それが2Dゲームに合うかどうかは、URP 2D RendererやSort 3D as 2D、2D Light、Sprite Mask、Shader GraphといったUnity 6.3の機能で見極めます。

Sort 3D as 2Dは何をするものですか?

3Dオブジェクトを2D方式の描画順に参加させます。Sorting Groupを付け、Sorting LayerとOrder in Layerを正しく設定すれば、Mesh RendererやSkinned Mesh Rendererも、シーンの並び順の中で2Dオブジェクトのように振る舞えます。

2Dゲームで3Dアセットを使うべきなのはどんなときですか?

回転やアニメーションの使い回し、大きなボス、動的なプロップ、カットシーンでの再利用、奥行きの効果。こうした要素が、追加の手間をかける価値があるほど重要なときに3Dが生きます。2Dゲームのすべてのアセットを3Dにする必要はありません。

Unity 6.3ではどんなマテリアル設定が大事ですか?

2D Rendererの流れなら、まずMesh 2D Lit DefaultかMesh 2D Unlit Defaultから始めます。Shader Graphを使う場合は、その出力と互換性の設定が、狙いどおりの2Dの並び替えとライティングに対応しているかを確認します。

3DオブジェクトはSprite Maskや2D Lightと一緒に機能しますか?

レンダラーとプロジェクトの設定が対応していれば、はい。Mesh RendererやSkinned Mesh Rendererのオブジェクトは、2D LightやSprite Maskとの噛み合いを含めて検証できます。ただし正確な挙動は、実際に使うシーンとレンダーパイプラインでテストして確かめてください。

どんな2Dゲームでも使えますか?

どこでも使えると保証はできません。アートディレクションやカメラの設定、並び替えの戦略、レンダーパイプライン、マテリアルの複雑さ、マスクや奥行きのエフェクト、性能目標によって変わります。手順を踏んで検証するワークフローとして扱ってください。

PicoBerryで始めて、ゲームの中で確かめましょう

まず3Dアセットの候補を生成し、本格的な制作レビューに入る前に、Unity 6.3で並び順や2Dのライティング、マスク、シェーダーの互換性、Game Viewでの見やすさをテストしましょう。

無料で開始 · クレジットカード不要 · どの料金プランでも