227 Views
February 12, 26
スライド概要
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
Unity における 2 D の状況 3 D、新しい物理演算などを統合!
発表タイトル Rus Sc a mme ll 製品戦略アーキテクト、2D 担当
Unity の 2 D チーム
技術コンテンツ マーケティングチーム 技術 e- b o o k、サンプル、ビデオチュートリアル、記事 unity.c o m/ho w- to
Unity の専門家たち Eduardo Oriz 技術コンテンツマ ー ケテ ィ ング マネージャー グラフィックス、アート、サービス 担当 Shanti Zachariah 、ラ イティングおよびコピ ーライティング担当 Tech CMM のメンバー Guillaume Saby Unity Learn シニアソフトウェアエンジニア Orson Favrel VFX チーム シニアテクニカルアーティスト
製品戦略 J a re k Ma je ws ki アーキテクト、2D 担当 Unity 2 D サンプルのアート、 技術アート、アートディレクション担当 mind ja rd e s ig n.c o m
アジェンダ → → → → → → 3 D を 2 D に統合する 低レベル物理演算 API Sp rite Atla s Ana lys e r 2 D アニメーションのパフォーマンス 新しい 2 D サンプル 今後の展望
3D を 2 D に統合する
理由 → 2 D ワールド内の 3 D オブジェクトで、 ゲーム世界を強化することができる → 3 D キャラクターの制作効率を向上させる ことができる スーパーマリオ RPG スーパーマリオ ラン © Ninte nd o/SQUARE ENIX キャラクター: © Ninte nd o、© SQUARE ENIX © Ninte nd o
3D を 2D に統合する → 互換性のある 3 D レンダラー ⎯ Me s hRe nd e re r ⎯ Skinne d Me s hRe nd e re r ⎯ Me s h2 D- Lit- De fa ult → 互換性のあるマテリアル ⎯ ⎯ Unity で作成された画像 Me s h2 D- Unlit- De fa ult Sort 3 D を 2 D で有効にした Sha d e r Gra p h Sp rite マテリアル
2D 内の 3D オブジェクト用の マテリアルテクスチャ 3D オブジェクトのマテリアルは、他の 2 D Lit オブジェクトと同じマップを持つことができます 2 D Lit スプライト → Ba s e Ma p (ベースマップ) → Norma l Ma p (法線マップ) → Ma s k Ma p (マスクマップ) Unity で作成された画像
3D を 2D に統合する 確認できたもの → → → → → → → ソーティング Z 書き込み スプライトマスク 2 D ライティング Sha d e r Gra p h カメラソートレイヤー VFX Gra p h Unity で作成された画像
2D に 3D を合成する 2 つの方法 Z 座標にオブジェクトを配置する 3 D オブジェクトを対応するソートレイヤーに取り込む A:Z 軸上に整理する B:ソートレイヤーを使う 3 D オブジェクトと 2 D オブジェクトを異なる平面に配置するだけで、 正しくソートされます 3 D オブジェクトを 2 D ワールドに取り込み、ソートレイヤーの基準に 従って既存のパイプラインに統合します Unity で作成された画像
A:Z 軸上に整理する 利点 → 追加設定不要の視差 → 深度効果 (2 D Re nd e re r、2 D- Lit、2 D- Unlit マテリアルでかならず ZWrite を有効にすること) カメラに基づいてオブジェクトの深度を取得する深度バッファ Unity で作成された画像
被写界深度の例 → 異なるレイヤーを分離する横スクロール型のゲーム に便利 → トップダウン型のゲームでは、非常に高い位置や 非常に奥深い位置にある要素に焦点が合わないよう な錯覚を作り出すことができる Unity で作成された画像
A: Z 軸上に整理する 2 D ライトはどう使いますか? → 3D オブジェクトに Sorting Group コンポーネントを 加える → レイヤーのソート基準は、視覚の一貫性を保つた めに Z 深度位置と一致させる必要がある Unity で作成された画像
B: ソートレイヤーを使う Unity で作成された画像
B: ソートレイヤーを使う Unity で作成された画像
B: ソートレイヤーを使う Unity で作成された画像
B: ソートレイヤーを使う 利点 → 柔軟性が高く、現実世界での位置の制約に従う 必要がない → パフォーマンスが高く、ドローコールが 少ない → 互換性があり、既存の 2 D ワールド内の 3 D は ソートレイヤーを基準に整理される Unity で作成された画像 Ha p p y Ha rve s t、2 D サンプルが 3 D キャラクターの訪問を受ける
マスクインタラクション 任意の 2 D レンダラーで任意の 3 D/2 D オブジェクトを マスクすることができます → マスクレンダラーまたはスキンメッシュレンダラー 内の Mask Interaction オプションに注意する → 任意の 2 D レンダラー (2 D タイルマップ、 スプライトシェイプ、スプライトレンダラー) 内の Mask Interaction オプションに注意する Unity で作成された画像
マスクインタラクション API Un it y 6 .3 の新しい AP I を使用すると、ランタイムに 任意の 3 D/2 D オブジェクトのマスクインタラクション を変更できます ランタイムに Ma s k Inte ra c tio n 値を変更する前と後のウサギ Unity で作成された画像
新しい低レベル 2 D 物理演算
低レベル 2D 物理演算 API → Box2 D v3 ベース → Unity 6 .3 で利用可能 Unity で作成された画像
構造化された物理演算オブジェクト Unity で作成された画像
強力 → → → → → マルチスレッド化 追加設定不要の高度な並列化 独立した複数のワールドをサポート 構造体ベースの API 豊富なクエリシステム Unity で作成された画像
柔軟 → ゲームオブジェクトやコンポーネントから完全に 独立している ⎯ 使用を支える多くのサポートがある → ワールドごとのボディ数、形状数、ジョイント数 に制限がない → 複数の 2D Transform 平面がサポートされる ⎯ XY ⎯ ZY ⎯ Unity で作成された画像 XZ
視覚的なデバッグ → 完全なデバッグ描画システム → エディター内とランタイム Unity で作成された画像
重要事項! → 現在の Phys ic s 2 D コンポーネントに変更はない → 低レベル物理演算 API は、既存の物理コンポー ネントから分離されている → 現在のプロジェクトへの変更はないと思われる → 動作はまったく同じ! Unity で作成された画像
リソース
Physics 2D Low-Level Sandbox スキャンしてプロジェクトにアクセス
Physics 2D Low-Level Primer スキャンしてプロジェクトにアクセス
Sprite Atlas Analyser
スプライトアトラス → スプライトアトラスは強力なツール → 誤用が多い Pixe l Fro g 提供アセット
Sprite Atlas Analyser の紹介 → Unity 6 .3 で利用可能 → スプライトアトラスに関する一般的な問題に関する 詳細を得られる → 表示内容 ⎯ ⎯ プロジェクト内のすべてのスプライトアトラス 各スプライトアトラスのスプライト → スプライトアトラスの最適化を知るために使用する → Pro je c t ウィンドウと連動する Unity 提供アセット
All Sprite Atlases → 観察対象 ⎯ メモリ ⎯ テクスチャのサイズ ⎯ など多数! ⎯ テクスチャの使用状況 ⎯ テクスチャの形式
Source Textures with Compression → Sp rite Atla s e s で圧縮されているすべての ソーステクスチャをリスト表示する → 二重圧縮を回避するために使用する
Atlas Page Count → 各スプライトアトラスのアトラスページ数を 表示する → 複数ページのスプライトアトラスの描画は 非効率的 → 異なるページのスプライトは、レンダリングバッ チを予測不能にする Pixe l Fro g 提供アセット
Texture Space Wastage → 各スプライトアトラステクスチャの未使用領域が メモリに与える影響を表示する → 以下の目的で使用する ⎯ ⎯ メモリ使用量を最適化する バッチ処理とのトレードオフ Unity 提供アセット
Sprite Count → 各スプライトアトラス内のスプライト数をリスト 表示する → 非効率的な単一スプライトアトラスを見つけ、 修正するために使用する Unity 提供アセット
さまざまな二次テクスチャ数 → 一貫性のない二次テクスチャのセットを持つ スプライトアトラスが表示される → 以下の調査に使用する ⎯ ⎯ 無駄な二次テクスチャ レンダリングの問題 Unity 提供アセット
2D アニメーションの パフォーマンス
パフォーマンスの最適化 → 2D IK システム ⎯ マルチスレッド処理とランタイム 効率を強化 → 2D の影の計算 ⎯ Un it y の J o b S y s t e m と Bu rs t コンパイラーによって改善 → 変形したスプライト ⎯ キャッシュによって冗長な計算を 排除 Unity で作成された画像
パフォーマンスの最適化 → 単一ボーンスプライト ⎯ より高速な専用コードパス ⎯ メモリオーバーヘッドを最小化 → ボーンデータ構造 ⎯ インスタンス化/破棄を高速化 ⎯ ボーンが動いたときにのみ行う → デフォーメーション計算 Unity で作成された画像
近日公開: 2D アニメーションサンプル あらゆるスタイルの 2D キャラクターで次のプロジェクト をすぐに始動できます。 → 2D アニメーション、スプライトライブラリ、スプライト スワップ、PSD Imp orte r → 二次テクスチャを持ち、2 D Lig hting との互換性がある キャラクター → Aseprite 形式の 2D Pixel アートキャラクター Unity で作成された画像
新しい 2 D サンプル プロジェクト (Bunny Blitz)
新しい 2D サンプル (Bunny Blitz) → 新機能を使用して 3 D を 2 D に統合 → → → → フォグ (Fo g ) の技法 空 (Sky) の技法 スプライト形状とタイルマップの Sha d e r Gra p h スプライン ⎯ 移動するプラットフォーム ⎯ オブジェクトの配布 ⎯ 3 D で動き回る → UITo o lkit シェーダー Unity で作成された画像 Bunny Blitz の初期コンセプトアート
2D ブースでデモを再生 Expo フロアに来て、2D ブースで Bunny Blitz を再生! Unity で作成された画像
他の 2D サンプルを見る → → → → 『Ha p p y Ha rve s t』 『Ge m Hunte r Ma tc h』 『Dra g o n Cra s he rs 』 『Lo s t Cryp t』 Unity で作成された画像
e- book の更新 → 新機能 → 今後数か月間のリリース → Unity のニュースレターを購読して 最新情報を入手 Unity で作成された画像
今後の展望
55 セーフハーバー 声明 以下は情報提供のみを目的としており、いかなる契約にも 組み込むことはできません。以下の資料に基づいて購入を 決定することはしないでください。Unity は、いかなる機能、 特性、またはコードの提供を約束するものではありません。 すべての製品および機能の開発、タイミング、およびリリー スは Un it y の単独の裁量により行われ、変更されることが あります。
ランタイムスプライトアトラス → ランタイムのユースケースでスプライトアトラスをパッキングする API ⎯ プロシージャル生成 ⎯ モジュラーコンテンツ ⎯ キャラクタークリエーター ⎯ ユーザー生成コンテンツ
専用の 2D 投入ポイント → 2 D レンダラーにより拡張性が向上 → よりカスタマイズしやすい新しい 2 D 専用投入ポイント → レンダーパスによるターゲットソートレイヤー
Unite のその他の 2 D アクティビティ
ラウンドテーブル - Unity の 2 D ゲーム このコードをスキャンして 登録ページにアクセス 議題: 2D 開発の課題 希望と夢 日時 11 月 2 0 日 (木) 11:3 0 AM - 12 :3 0 PM 場所 U/Ga the r Room 1、1 階
フィードバックラボ - 2 D 2D 機能を試して、改善のためのご意見をお寄せください。 日時 11 月 2 0 日 (木) 1:3 0 AM - 3 :0 0 PM 場所 フィードバックラボ、1 階 このコードをスキャンして 登録ページにアクセス
これからも Unity で 素晴らしい 2 D ゲーム制作を!
Thank you Unity Dis c us s ions でもっと 2 D について話しましょう