コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【GTMF2015】「Unity 5.1 テクノロジー&サービス 最新情報」メモ

UNITE 2015 TOKYO

http://japan.unity3d.com/unite/unite2015/

  • 沢山のセッションビデオ、およびスライド資料などが利用可能になっています
  • Unity 5 の新機能について知りたい・学びたい人は是非チェック

UNITE 2015 EUROPE

THE BLACKSMITH REALTIME DEMO

UNITY 5.1 IS HERE!

  • Multiplayer Network
  • SketchUp Support
  • VR Support
  • HDR Color Picker
  • Crunch Texture
  • OpenGL 4.5 and ES 3.1
  • UnityEngine.Assertion & iOS Crash Report API
  • Analytics
  • New Home Screen

ロードマップ

UNITY MLUTIPLAYER

  • どのようなマルチプレイヤーネットワークゲームにでも利用できるように設計された新しいネットワークAPI
  • 高レベルな機能(HLAPI)
    低レベルな機能(Low Level API)の2つで提供
  • ソースコードも提供予定
  • サービスも共にロンチ

UNITY MULTIPLAYER SERVICE

  • サーバー側で行いたいサービスをクラウドで提供
    • マッチメイキング
    • ファイアウォール用のリレーサーバー
  • Unity 5.1からベータ版(無料)

VRサポート

  • Oculus SDK(0.6)をサポート
    • DK2, およびGear VRが利用可能
    • チェックボックス1つでVR
  • 描画系の最適化
    • 眼のカメラでカリング・影などの描画の共有
  • Player SettingsでVirtual Reality Supportedにチェック

HDR COLOR PICKER

  • ColorがHDR用のカラーを表現できるように
  • 物理ベースレンダリングのためのワークフローに合わせて改善

CRUNCH TEXTURE SUPPORT

  • 内部でJPEG的な圧縮にて保存
  • ロード時にGPUに適した形式に変換(DXT1/DXT5)
  • DXTnが使えるプラットフォームで設定可能
  • TextureのFormatでCrunchedを選択

UNITY AND WEBGL

  • 現在はPreview
  • Previewが取れるためには、
    • Unity自体の実装
    • ブラウザー技術の進化
  • の2つが必要
    • WebAssembly, simd.js, WebWorkers, etx....

UNITY ADS

  • オプトイン(opt-in)
  • プレイヤーの興味のある内容(relevant)
  • ネイティブ(native)
  • もうかる!(pay well)

開発者のメリット1

  • Unity 5.2でエンジンに統合
  • 組み込み方によってはゲームをもっと面白くする要素になる

開発者のメリット2

  • 日本円で収益が受け取れる
    • USDでの受け取りも可
  • 1000USD以上稼ぐ国内デベロッパー増加中
  • Unityを使っていなくてもUnityAdsの組み込みは可能

広告主のメリット

  • LTV(Life Time Value)の高いユーザーを獲得しやすい
  • 余計なセグメントを設定する必要なし
  • 動画の出来次第ではバナーや全画面広告よりも高い広告効果が期待できる

Unity Analytics Open Beta

  • http://unity3d.com/jp/services/analytics
  • ヒートマップが実装できるようにしている
    • 例えば3Dのゲームでプレイヤーがどこで死んだかを見たい
    • Analyticsのヒートマップを使うことで、死んだところは赤、よく通るところは黄色などゲームの可視化がエディタ上でできる
  • フランスのULTRAFLOWが導入済み

https://itunes.apple.com/jp/app/ultraflow/id959648018?mt=8&uo=4&at=10l8JW&ct=hatenablog

FUNNEL ANALYZER

public class Game : MonoBehaviour
{
    public void OnLevelClear( int level )
    {
        int totalPotions = 5;
        int totalCoins = 100;
        Analytics.CustomEvent( level + ".Level", 
            new Dictionary<string, object>
            {
                { "potions", totalPotions }, 
                { "coins", totalCoins }
            } 
        );
    }
}