しがないエンジニアのブログ

技術的な内容をメモ代わりにつらつら

[Unite2018] Unity 2D機能のアップデートとその周辺

公式サイト

http://events.unity3d.jp/unitetokyo2018/session-lineup.html#session79

講演者

山村 達彦 (ユニティ・テクノロジーズ・ジャパン合同会社)
京野 光平 a.k.a. ntny (ユニティ・テクノロジーズ・ジャパン合同会社)

SlideShare

https://www.slideshare.net/UnityTechnologiesJapan/unite-2018-tokyounity-2d

概要

  • ステージを作りやすく
  • もっと高度なキャラクター表現
  • その周辺
    • UI
    • パフォーマンス
    • アセット

内容

  • ステージを作りやすく
    • TileMap
      • Unity 2017.2から
        • タイルベースでステージを作る仕組み
        • タイルを塗るようにステージを作成
        • RPGツクールみたいな
      • Unity2018.2から
        • 六角形タイルもサポート
      • Tile     タイルのアセット
      • Palette    タイルを塗る際に使用するパレット
      • Brush    タイルをタイルマップに塗る
      • Tilemap   タイルをセットするグリッド
        f:id:turgure:20180702090943j:plain
      • 実装例
        • 隠し通路
        • 家の裏に行くと影
        • 当たり判定処理
    • 2D Sprite Shape
      • Unity 2018 Package Managerで提供
      • 伸縮するスプライトでステージを作る
      • フレキシブルなマップ
      • Spriteの面に応じて表示するものを設定できる
      • MeshCollider2DEdgeCollider2Dの当たり判定とも連携
        f:id:turgure:20180702091102j:plain
    • Cinemachine
      • カメラ移動制御
      • 必要なのはColliderのポリゴン情報
        • Colliderだが当たり判定は必要ない
        • Rigidbody2DのSimulatedをOffにする
          f:id:turgure:20180702091140j:plain


  • 高度なキャラクター表現
    • ボーンベースのアニメーション
      • スケルタルアニメーション
      • スプライトの回転や移動でアニメーションを実現
    • 2D Animation
      • 2D IK       IK実現
      • 2D Animation   Spriteの変形に対応
        f:id:turgure:20180702091250j:plain
        f:id:turgure:20180702091257j:plain
    • Simple Animation
      • アニメーションクリップを登録してPlay()するだけ
      • ステートマシンは不要
      • ピクセルパーフェクトなアニメ(開発中)
    • Timeline
      • Timelineは「タイミングを制御する」機能
      • 時間指定で処理を実行
      • ゲームを再生せずプレビュー
      • 4つのポイント
        • 動かすキャラとターゲット指定はTimeline再生前にバインド
        • 演出で使用する内容はPrefabにまとめておく
        • 移動はAnimation ClipではなくTween
        • 対象独自の動作はイベントを活用
          • 敵側、ダメージエフェクト
          • Timelineはタイミングだけ管理
      • Timelineは重い?
        • 意外と軽い
        • 重い場合はPlayable Assetを分ける
        • エディタとビルドで負荷がぜんぜん違う
          • ビルド前はとても遅い
          • Timelineウィンドウがとても遅い
          • ビルド前はロードも遅い


  • 周辺
    • パフォーマンス
      • Rigidbody 2Dのマルチスレッド化
      • テンプレートの設定が少し変化
      • Dynamic Batchingがデフォルトでoff
        • Instancingを使う
      • Scriptable Render Pipeline
        • いくつかの機能が使えなくなる
    • UI
      • 新しい機能はない
      • GUI LayerはCameraに標準で組み込まれなくなった
      • UIはPackage Managerに移行するかも
    • アセット
      • 新しい縮小アルゴリズム
        • Mitchell
      • テクスチャ
        • ETC2 8bit / ASTC 4x4
      • SVGサポート
        • ズームしてもくっきり