CEDEC2014 Day1 Unity5からその先の話

大前 広樹 (ユニティ・テクノロジーズ・ジャパン合同会社)
CEDEC2014 Day1 Unity5からその先の話 聴講メモ
https://twitter.com/o_ob/status/506725540682665984   ## Unity日本法人
現在20名(1→5→8→20)たぶんまだふえる
国内でのR&D,バグ修正,各種サポート
海外チームとのより強い連携,
パブリッシング,ライセンシング
中国,アメリカに対して日本はユーザー数3位.
26万人の登録開発数に対して10万人がアクティブユーザー
人口に対してユーザー増加がすごい(千葉と同じぐらい)
ゲームを中心にノンゲームにも拡大
## UNITE Japan 2014
2日で42セッション,オンライン・オフライン3000人以上の参加者
ほとんどのセッションをオンラインで見れる
## AssetStore日本語化
コンテンツのテキストなども日本語化している
アイテムが13500ぐらいあるので,人気のあるところから
日本初のアセットも徐々に増加
# 以下,技術の話 ## Issue Tracker
[http://issuetracker.unity3d.com/](http://issuetracker.unity3d.com/)
共通のバグデータベース
ユーザニーズを修正優先度に反映
## パッチリリース
Graham Dunnet
毎週リリース(すでに15週継続)
https://twitter.com/o_ob/status/506729172022984704 ## 物理shader,GI (Global Illumination)
デフォルトでスカイライトがついている
環境光ライト,アンビエントオクルージョン
Exposureで調整できる,ゼロにすると動的ライトだけになる.そこでBounce Intensityをゼロから上げていくと影の部分を上げていくと跳ね返り反射でシャドウ部分の照り返しが表現できるようになる.これらがすべて動的,ゲームの実行中に変更できる.
オブジェクトのアルベド,新しく加わった物理シェーダーのスタンダードマテリアルで,床の色を変えればその色が反射してオブジェクトに色がつく.
リフレクション,リフレクションプローブを使って,Specularの滑らかさを変えていくと金属光沢.
DynamicGIに対してStaticGIを選ぶとBakingすることができる.ライトを動かすと自動でライトマップを焼いてくれる,右下にプログレスバーが表示される.アーティスト側に便利,しかもモバイルでもちゃんと動くというワークフロー.
新しいテクノロジーを導入すると作るの大変になるものであるが,作るための方法も提供されている.
## スタンダードシェーダーのカスタマイズ
(ユーザサンプルから)
車のデモ[Garage].CarPaintシェーダーに,メタリック,ウェザリングなどのコントロールが存在する.難しいことをしているわけではなくて,Standard Shaderを拡張して編集している.物理ベースシェーダーを拡張して自分用のシェーダーを書くことができる.
物理ベースの描画をすると,現実からスキャンしたデータが多い,たとえば人間の顔.皮膚のリフレクション描画.
以上,Unity5.0beta2.
グラフィックスに踏み込んだセッションはUnite Seattleの動画を参照.
## New Audio System
ゼロから書き直した.
ミキサーが入った.いままではAudio Listener,Audio Source→音を鳴らす.Unity5はミキサーに対してソースがつながる.一つ一つのソースに対してエフェクトをかけるのではなく,トラックごとにミキサーに対してエフェクトをかけられる.パフォーマンスも上がる.ビジュアルなミキサー.
## WebGL
プラグインレスでWebGL対応,無料!
ASM.js をつかっている.
DEADTRIGGER2デモ,Firefox上でゾンビFPSが動いている.床面の水溜りのリフレクションなども動いている.
## 「IL2CPP」 ### 長いことかけて作った機能
Mono,C#スクリプトを使ったバーチャルマシン,MonoVMに代わる,CLI(IL)に代わる新しいバックエンド.
今後はIL2CPPでVMで実行する代わりにC++に変換→コンパイルして実行
そこからさらにJavaScriptにコンパイルして実行.
.NET/C#の資産はそのまま使える.
### パフォーマンスの比較
マンデルブロ集合をC#で書いたものをIL2CPPで動かしたところ
Mono32bitが80msecに対して,C++64が31msec.IL2PP64は35msecで,ほぼC++と同じ.
C#は楽だし安全だし書くのが速いという良いところ,でもちょっと遅い,というところをC++にする.
しかもFirefoxやChromeで動かしたときに,もとのものより速い!
MozillaがすすめているのでFirefoxに一日の長あり.
### Unity5.0: C#5.0 & .NET4.5
Mono Runtime(JIT/AOT)ランタイムを載せ替えることで移植の速度やプラットフォーム対応メンテナンス難易度が低下
ライセンスに関する問題が解決
晴れてC# & .NETのバージョンをアップグレード可能に.
## フレームデバッガとマルチスレッドプロファイラ
たとえば先ほどのクルマデモ,421回の描画コールすべてをゲームビューで追いかけて可視化することができる.
## PhysX Update
PhysX2.8.3 →PhysX 3.3
マルチコア,パフォーマンス2倍,車体シミュレーション,使い物になるCloth,GPU(CUDA),ただし変更が大きいので再調整が必要になることも.
## ゲームエンジン以上の存在に
開発者がやらなきゃならないこと「つくる」→「つなげる」に
### Unity Cloud Build
ソースをGithubに登録すると,UCBがソースを自動でビルド,インストールできる状態でテスト
iOS, Androidもメールから直接インストールできる.
オープンベータ中,Proユーザのみ利用可能.正式リリースの際には無料有のサブスクリプションになる予定.
iOS, Android, WebPlayerからどんどん増えていく予定.
### Unity Analytics
ゲームを配信したら,プレイヤー数やセッションの増減,売り上げなどを追跡可能に.
### Unity Ads
ビデオ広告配信やユーザ同士のクロス広告配信
2014年に20億円以上を還元する
AppliFireを買収,売り上げを分けていただくエンジンが多い中,売り上げを還元する初のエンジンになる.
[unityads.unity3d.com](http://unityads.unity3d.com/)
### ゲーム動画を録画してシェア ### パブリッシング
PS4,WiiUなど
## UnityChan
キャラクターの展開,これも無関係ではない.
ファンベースの共有,みんなが使えるキャラクターにファンがいれば,みんなが作ったゲームにいきなりファンがいるということがつくれることになる.
## Unityは開発支援から成功支援へ
開発ツールへのさらなる投資,リリース後の活動支援,ファンベース共有
## 共同作業をよりよく
・Unity5ではPrefabとシーンの持ち方を変更,衝突を解消
 Prefabの完全コピーからシーンの中での参照と変わった部分だけを持つように
・さらにテキストベースでないシーンのマージツールを提供,ちゃんと文脈を理解してマージ可能に
## 初公開,マルチシーン編集(アルファ版) 複数のシーンを同時に開いて編集できる. ## i18n IMEサポート
Windowsでの日本語ユーザ名,パス名での問題解決(5.0b2)
日本語が使えるMac MonoDevelop (closed beta)
日本語エディタ(pre-alpha)
----
# 【白井感想】
「ゲーム開発プラットフォーム」が意味するものが,ゲームを開発する技術とその水準の高さを高めること(GIとか)だけに留まらず,開発者がそのあといかにしてHappyになるかということを真剣にツール・プラットフォームに落とし込もうとしている姿勢が素晴らしい.
いままで物理シェーダーと物理エンジンをツール化しようとして失敗した会社は多々あるのだけど,UnityChanのような偶像(アイドル)があることで,難しい物理をいかに,かわいい,ファンを喜ばせるエンジンになるのか,という点が気になる.
というかGIなUnityChanは見てみたいぞ.はやく次世代にいこう.
あとGrahamに会いたい.自分のゲーム開発コンサルタントとして&英語の師匠.こんな再会,涙でそう.