KeyNote
David
John Riquid Tailer Talk about push way.
- Incredible Graphics
- Feature rich & high flexible editor
- Industory leading multiplatform support
- Unmatched efficiency boosted by the Cloud
- Tools for more efficent developing
Professional Edition
- Team LIcence
- Unity Cloud build Pro .. task
- もういちどね
- Access to Betas / Previews
- Unity Analytics Pro
- Game Performance Reporting ( crush report / performance …)
- Unity Asset Store Level 11 Deals
- Same Price as Unity 4
Personal Edition
- Unity 5 engine with all feature
- Physics based Shading , Enlighten , reflection probes...
Incredible Graphis
- PBR
- Global Illumination with Enlighten
- Reflection probes
PV
- html5 っぽいロゴ
- 剣士と呪術師が戦う
REPUBLIQUE demo
- hide and seek
- 2年前のunite japan.
- 発売前のプロダクト紹介した
- 少人数での開発
- モバイル、PCので開発ができる
- 2月に発売したゲームはunity5 の全機能をつかった
- PV
- Criware
- エピソード販売形式
- facial captureをつかっている
- iOS Apple Featuresもらった. ひょうばん上々
- unity 4 -> 5: PBR
- 3月にunity.comにどうやって移行したかの内容をupした
- 次のプロジェクト camouflaj
- ゲームのクオリティよりも課金に集中していてがっかり
- 高級なエンタメ. 小説や映画のような経験を提供したい
- 感情表現が豊かにできる
- FF15 / Bladbone / MGS など楽しみ. そんな名作をもっと作ろう
- unity3d.comに無料のプロジェクトファイルをアップした => やばい
demo解説
- ライティングwindow追加された
- ambient intensity / indirect transfor (反射光
- iraradienceを使うと環境光の影響のみを見ることができる
- emissive material 蛍光灯素材のようなものも設定できる
- metaric = 1 / smoozeness = 1 => 鏡
- reflection probeで拾った影響をそのまま適用する => パフォーマンスよくしながらより良い影響
- StateMachine Behavior
- Mixierの方で3d選択が含まれる
- スナップショットを切り替えるだけで、音量調整一発
- duckingで他の音量を下げてる
Feature-rich & Highly Flexible Editor
- 64bit editor
- PhyscX 3.3 upgrade
- Animation improvements
- new audio tools
- ...
Industry leading multiplatform support
- AnyPlatform..
Unmatched efficiency boosted by the Cloud
- WebGL
- IL2CPP / .NEt Performance Test
- Performance / arm64 0.64s -> Mono Armv7 5s
- Amazing!!
- IL2CPP : PS{3,4,Vita} Xbox WiiU
- Massive R&D
- 300 developers & hiring.
- New NINTENDO 3DS support !!
VR
- Palmer Lucky / Oculus Fouder
- Indie game & professional games developer
- Great consumer VR isimminent - and we are not alone.
- Unity + Oculus: workflow improve 120fps multiple rendering, easy to target ...
5.1beta VR integration demo
- player setting other: VR support
Unmatched efficiency boosted by the Cloud
- Cloud Build - without your computer. 10 min
- Alyways available . Ease of distribution
- source control
- Detect commits
- Build in the cloud
- Install & test
- build.cloud.unity3d.com / FREE | Pro $25 /m| STUDIO $100/m | ENTERPRISE
Unity Ads
- Helping developer make a living
- 1500 games
- 3 of TOP 10 iOS games
- GREE / CyberAgent supports
- 3.5 億 / 3month
Session1. ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
Speaker
- unity technologies japan. evanjelist 伊東周
Asset Bundle
- Qiitaの記事
今まで
- 複雑
- ビルド時間かかる
- 依存関係めんどい
- 互換性がない
解決方針
- シンプル (ランタイム、ビルド方法)
- Incremental Build
- 依存性はunityが解決
- 互換性を保持
- 新旧まぜるな危険
変更点
- AssetBundleのビルド方式
- ...
ビルド方式
- Asset / AssetBundleを結びつける
- ビルドスクリプト呼ぶ
拡張子 .unity3d でなくてもいい
名前付け
- 小文字のみ、同名禁止、パス構成 / が有効に.
- assetImporter.assetBundleName = assetPath しとけば一応名前付けずに使える
Buildスクリプト
- 出力パス
- BuildAssetBundleOptions (後述)
- 出力ターゲット
BuildAssetBundleOptions
- IgnoreTypeTreeChanges (オプション)
- ソースコードが健康されても変更したとみなされない
- DisableWriteTypeTree
- タイプツリー自体を削除 (サイズ削除)?
AssetBundle Version
- 5.1 -> 5.xで互換する. (5.0はバグあり)
依存
- AssetBundleManifestで依存解決
- Single Manifestファイル => 依存関係を解決できる. ランタイムに読んで使用
- その他.manifestファイル => マテリアルごとに出力される
- ふぉるだめいが親玉マニフェストファイルのベースネームに
Variantとは
- Runtime時に読み込むAssetBundleを変更できる
新しいRuntime
- files.unity3d.com/.../users_assetbundle-demo.zip : サンプルプロジェクト
- AssetBundleManager.cs
- BaseLoader.cs
1.基本のロードの仕組み : LoadAssetAsync 2. 依存関係解消: ABに依存するリソースを自動で取得 3. エディタエミュレーション GetAssetPathsFromAssetBundleAndAssetName 4. Variantsを使った切り替え => 最後の名前を付け替えてる makoto-unity/NewAssetBundleSample
マルチプロセスビルドHack
- Projecct 複数コピー / symlink Assetsはフォルダの中身をリンク
- Unityはバッチモード Unity -quit -batchmode -projectPath [] -executeMethod BuildScript.cs
- スクリプト公開する
- 運用は自己責任で
ビルド
IL2CPP
- Before => Xcode -> Armv7
- Current => (c++ =>) Xcode => Armv7 / Arm64 : armv7のサイズ若干大きい
- Future => (c++ =>) Xcode => arm64
Plug-inの設定の変更
- フォルダ内に入れなくても、チェックでOK
- 依存するFrameworkを選択可能
- コンパイルオプションを設定可能
- 全部再設定しなくちゃダメ? => Plugins/iOS/に於けば自動で認識
- 「がぞうはPluginとしてにんしきされない」 => Plug
NativePlugin
- objc_getClass / objc_msgSend ( C# -> ObjC )
- 引数使えない
- tsubaki1.hatenablog.com/...
Session2. GLOBAL ILLUMINATION IN UNITY 5
PV
- SHADOWOOD
AGENDA
- What is Enlighten
- How does Enlighten work?
- Realtime Reflections
- What’s next
ENLIGHTEN?
GI Output
- precompute
- realtime lightmaps
- Realtime Light maps
- Realtime cubemaps (5.xで入る予定)
- baked lighted maps
- based ..
間接照明しか無い 低周波 L1の表面関数
Based GI OUTPUTS
- high resolution baked lightmaps
- direct lighting / ao / indirect lighting... 比較的計算コストは安い
- ほぼ静的なライト、モバイル向け
WHAT DOES REALTIME GI MEAN
- 反射率. Shaderのカスタマイズ、オブジェクトの係数
WHAT CAN YOU DO WIth THIS?
- 一日の表現
- ものの光、ヘッドライト、フラッシュライト、爆発、ムードライト、発射時のライト
- Blacksmith: 間接光の反射が表現できる
WHAT CAN YOU +NOT+ DO NOW
- 動的にあジオメトリバンスライト
- 動的なジオメトリでの発行ライト
- 環境に関しては基本静止
- SceneをStatic / Dynamicに分ける必要がある
- 完全な生成型のライト環境はまだつくれない
SMOKE AND MIRRORS - THE TRICKS
- boxの中であえてレンダリングしないなど
HOW DOES ENLIGHTEN WORKS
- レンダリングの積分関数を最適にとく
- エネルギー関数
- radiosityは計算コスト高い.
- pixel数を小さくしてnを小さくする
- repackageする
- Lightmaps are low res and tightly packed
- Emittor / ReceiverをDecouplingする
- clusterをtexcelで分割、より大きなクラスタから光を設定していく
- texcelの16倍高速化
- クラスタ改装を構築して、上方向にmergeしていく
- treeのcutを明示的にしていく. (エリアの最小化. merge)
- 突合していく
- 定数k (budget)が シーンのリッチさにつながる
HOW DOES ENLIGHTEN WORK?
- Phase1. Prime clusters with direct lighting
- クラスタごとにてんセットを持つ
- 直接光の評価
- Phase2. 事前バウンスライト読み込む
- UVをクラスタにassignする必要がある
- radianceを
- Phase3. Gather
- 64-256 の間のクラスタ数で切る. 複数回足す
- platformごとに最適化している
- reframeが少ない、データ量が少ない
- CPU側ですべて行われている
REALTIME REFLECTIONS
- 反射に対して適切に行う
- 球面反射を行う
- Boxを作りその中の影響だけを適用する
- 表面によって反射具合は変わる
SMOOTHNESSを使う - Cubeのmiplevelでスムーズさをカエルことができる
REALTIME REFL. PROBE CONCL.
- GPU上で動く
- シームレスmipmapを生成する
SCHEDULING
- タイムスライスを行う
- 複数のフレームを使って畳み込む
SCREEN SPACE REFLECtiONS
- ImageEffect built-in deffered shading pipeline
- レイマーチング
- SSRで間接反射が表現できる
WHAT'S NEXT
- FixBug : ユーザが使うworkflowとの差分がないか?
- Documentation improve : video / web
- Optimize the precompute / base phase
- LAN Lighting Build : 同じネットワーク内の危機を使ってビルドする
- Cloud Lighting Build : クラウドでビルドする
- Level up iteration speed. PowerVRとインテグレートする: 何度も繰り返す処理を早く
- Improve mixed realtime/baked shadows
Session3. Unity 5グラフィックス機能使いこなしガイド
- 高橋啓治朗
- 普段つかっている機能でちょっと使うと便利な機能とか紹介
TOPIC
- Lightingの新機能
Realtime GI の基礎
Unity5 graphicsガイド実践編 => 後日配信
LIGHTING
AMBIENT LIGHT
- 3方式に
- Skybox
- Gradient
- Solid Color
Window -> Lighing Ambient Source
- Skybox: ちょうべんり
- Gradient : グラデーション 3上中下で設定できる
- Solid: 単色
SKYBOX
- PROCEDURAL Skybox : 生成型
- Cubemap Skybox : パノラマ画像
material : Skybox/Procedual
- Sunの設定: 太陽が自動ででる. 光源自動
- Atmosphare Tickness : ゆうやけかん。水星線
- sky tint 空の色味
- exposure: 絞り
Skybox/Cubemap
- panorama image
- sidl archiveからDLしてきた / .hdr, .exrをDROPするだけ
- Cubemap apply
- 太陽の方向を合わせておくだけでちょっとクオリティアップ
CAST SHADOWS OPTIONS
- Two Sided : 洞窟内とかきちんと影出る
- Shadows Only : 影のみみえて見た目はきえる
PCF SOFT SHADOW きれいなソフトシャドーがでる
BAKED SOFT SHADOW
- Baked Shadow Angle
- 半影の部分. 0度 -> 8度
SHADOW BIAS
- バイアスを掛けてアーティファクトを除去する
- Bias: ちょっとさきにする
- Normal Bias: 法線の逆方向に小さくする
- アーティファクト: しましま
- Normal Biasで遠ぽうからの影を消せる. Biasだとかげのしっぽが出る
- かげの助が出るときには、NormalBiasを低く、Biasを高く
REALTIME GI
グローバルイルミネーションとは?
- 光源から食せつ照らされている範囲のみだったが
- Indirect Lighting: 間接光の表現ができるようになる
General GI
- Indirect Intensity: 間接光の光源を適用
- 光源が移動した時に間接光も変化
REALTIME GI
- static フラグをつけると, Spotlightの間接照明
- Diffuse materialのベイク処理を前計算する
- 動き回るdynamicなobjectに影響与えるには、LightProbeGroupを置く必要がある
- おくとprecompute
- おいた地点に対して間接光. 最近店に対して間接光が当たる
Reflection probe
- staticなobjectのspecularに間接光を適用する場合に利用する
- これもおいた瞬間にprecompute
まとめ
- DirectLightingはかなにもかんがえなくていい
- Indirect Lighting (diffucse) は light probeないと動くものには反映されない
- Indirect Lighting (specular) は reflection probeがないと動くものには適用されない
default specularはSkybox. Skyboxの内容が映り込む
- specularが意図せず青白くなっていたらreflection probeを設定しわすれの疑い
間接光の法線マップが適用されない
- directional light
- Directional Mode -> Directionalを追加すると、どの方向から光が入っているか近似してくれる => 法線マップが適用される
- Directional Specular Mode -> 追加情報をつけたして、シェーダの機能が引き出せるようになる
- デメリット: 計算量。容量。表現が曖昧になる (代表的な光の方向1塔のみをつかうようになる)
- このような場合は、reflection probeででかてか反射を表現するのがよい
Reflection Probe
- つなぎは?
- 多重反射は?
- リアルタイム反射は?
- BoxProjectionは?
Cubemapを行き違うときにぱりぱりっとなる
- Reflecion probeを blend optionにする -> もやっとなる
多重反射
- 逆のreflection probeを表示するときには真っ黒になる
- reflection bouncesを回数増やせば、真っ黒領域減る -> 2ぐらいまではいいかなー
- reflection probe type: bake -> reatime にする
- fresh time: every time (動きがうつる)
- Time slicing : Individual Faces がずれるがふかすくない
- Time slicing : Noneで完全一致。ただ画質が落ちる
Box Projection
- Classic Cube mapping => 近くを移すと不自然
- Reflection probeのbox projectionオプションをつけるとリアル
- 無限遠には程遠いならば、あり、
- モバイルではつかえない、ちょっと重い
- 立方体の環境
Session4. スケルトンを用いた2Dキャラクターアニメーション開発 虎の巻
Advanced 2D Charactor Animation
Veli - Pekka Kokkonen
- 2D & animation tools @Unity
- Used Unity 8y
2D Character Animation
- wrorkshop styleで発表するよ
- キャラクタの階層
- 整列方法
- poseを生成
- アニメーションの記録
- アニメーションイベント
- Ragdoll
2D Character Animation
- public APIで作成
- bitbucketで利用可能. 最後のスライドでlinkを貼るよ
workshop
- SpriteSheetw用意
- SpriteEditorで領域指定
- 最小領域を自動でとってくれるよ
- pivot pointを指定する (間接に当たる)
- Spriteの中のパーツになまえを付ける
- partsをDR&DL
- 親子階層をしっかり設定する
- 階層の設定でpivot点に対して回転ができる
階層を作る
- order in layerで設定
- Add Compnent Sourting Group
- Gruopないでオーダーを設定
- Sorting Group (Script)
- Sortting Mode Hieralchy : default -> 親が後ろのソーティングレイヤーになる
pose設定
- objectを複製
- sorting groupで次の動作を前に
- あとは変更する
Invertse Kinematics
- Inverse Kinematics 2D (Script)
- 肘がうしろに曲がってしまう
- 最大角度と最小角度を指定すると行ける
- 3点: End Transformを指定することでそれ以上は曲がらないという指定が可能
- Joints: 2
- 小さな円が角度、大きな円が場所
アニメーションの記録
- ポーズを整えて保管するだけ
- アニメーションでソーティンググループをカエル
Animation Event
- Override Animationにチェック
- Cueをつくって設定するだけで追従
...
- Polygon Collider 2D を追加
- Hinge Joint 2D を追加. 間接のナビゲーションを追加できる
- キャラクターの造形を保ったまま、当たり判定ができる
DL
Session5. Unity for New ニンテンドー3DS
Hiroki Omae @Unity technology
New ニンテンドー3DS
New じゃないニンテンドー3DS
リリースプラン
- 2015 夏: 任天堂に提出可能なβ版をリリース予定 / 一部close になる可能性あり
トピック
- 調査研究、考え方
- 移植開発した話
- 実機デモ
調査研究
- モチベーション: みんなのゲームがどのくらい動くか?
- 方法: 市場にでているアプリを調査. メモリ使用量やCPU使用率などチェック
- ハードのパフォーマンスを比較検証
- UnityGameJapanで扱ってるゲームを実際に移植
はじめ
- BlueScreenにキューブを出す
- テクスチャ貼ったQube
- Scriptのサポート
- ..
サンプルプロジェクトで検証
- 2D/3Dのサンプルを移植 (platformerとか)
- key入力とか、シュミレーション
Robot Invador
- ねじ巻きナイト2
- WiiU 版を Unity Games Japanで担当
3DSへのゲーム移植の課題
テクスチャの最適化と調整
- 400x240 (3DS)では不要
- 見た目の悪いテクスチャサイズをあげる
- 50% - 60%のメモリ容量に
mandelbrot benchmark (CPU)
- Android Nexus5 (Mono) < iPad Mini Retina (IL2CPP) < Nintendo (IL2CPP) < iPhone6 (IL2CPP)
- 現在のミドルレンジのスマートフォン向けのゲームならば大丈夫
エンジンの最適化: Z-buffer on / off
- pixel shaderの処理がない
- z-buffer必要ないゲーム (2D/2.5D)はいい感じ
- ちょい早
3画面: 上両眼 + 下画面 で 60fps
- Profilerでチェック
- 1位. Idol Threadでがら空き
- IL2CPPがすごい
Programmable VertexShaderはあり. Programmable FragmentShaderはなし.
- ShaderLabをつかった一般的な解決方法をチャレンジ中
- 固定ピクセルシェーダーに変更
スクリプト対応: ねじ巻きナイト2
audio
- Android: ogg/vorvis
- editor上でbuild時にnintendo 3dsフォーマットに変換
エンジンの最適化
- ゲーム自体は毎フレーム再描画が必要
- UI描画は重いので、不要なときに特定の画面を描き直さないオプションの追加を検討
2D モードの改善 (今後)
- 3D volume は off にできる
- Anti-alias 処理など
まとめ
- 2015夏頃にリリース予定 (ベータ版)
- middle rangeのスマートフォンターゲットのゲームなら一考の価値あり
- GameEngine は DogFoodingが必要なのでUGJでサポート
QA.
Native Pluginはやる?
Enlighten support?
static light mapはsupport
PBRはむり
Network support?
TCP only
- UDP is not
UNet がサポート予定
Local Network support? (adhoc networking)
Native pluginでそのまま使え.
betaはマイナー機能のサポートしない.
Build time?
IL2CPPが時間食う
- 5min
Session6. Asset Store マニアックス
- FreeLance x2
Unity Asset Press
- Asset紹介カタログ (本)
- AssetStoreのオススメを多数紹介
アセットが超特価になるプラン Level11
デモゲームを交えたオススメ
縦シューティング
BIG Environment Pack [$50]
- 地形とか、家とか、skyboxとか
- 中世風
Origami Pack [$2]
- 折り紙で作られたオブジェクト
- 蝶、鶴...
Sky5X One [free]
- skyboxに設定するテクスチャ
- 朝夕、夜
- よさそう
Elements [free]
- 50 effect
- 爆発、雷とか
Simple Particle Scaler [$2]
- パーティクルの大きさを変更する
Free SciFi Fighter [free] HighRes Shuttle Class Starship [free]
- 便利
iTween Visual Editor [free]
- 2秒かけて250までみたいな.
Computer Font Pack [free]
- 無料
- fontがいっぱい
少まとめ
- ゲームのモックとして作るにはいいのでは?
アセット事例
ホラーゲーム
フィールド: 3D建物
- Church & Graveyard [$45]
- ホラーテイストでいい感じ
Character
- Unity-chan! model [free]
Cartoon Zombie [Sample][free]
- animationつき
- 走ったり徘徊したり
Female Walk Animset [$25]
- 腰を利用した女性らしいモーション
TakeDown Animations [free]
- CQC
Parkour & Acrobatics Animation Pack [$25]
- Assasines creedっぽい
Footsteps SFX Ultimate Pack [$15]
- 水たまり、鉄板、カーペット
Effect
Simple Torch [free]
- クオリティ高い、火加減調整可能
MEGA 504+ Fire&Fog Magic...
- 火とか霧...
debug log
Live Console [$15]
- 多機能
- ログの検索. 注釈など
カメラワーク
Camera Path Animator [$35]
- カメラワーク設定アセット
- パスをつなげていくだけで簡単にカメラワークが設定できる
- べんりそう
- パスにそってキャラの移動に合わせて移動とかも簡単
ImageEffect
Bloom, 魚眼レンズ...
Colorful - Image Effects [$40]
- モバイルでもつかえる
- アナログテレビ ー霜がついたエフェクト
- heatmap
- 水に入ったゆらぎ
- ...
- vintageで古めかしく
大手開発会社におけるAssetの活用
interview: Colopha / SQ
NGUI: [$95]
- アニメーションがつけやすい
- デザイナーがデザインつけやすい
- LiveConsole [$15] (Colophla) / Editor Console Pro [$25] (SQUAREENIX)
AI for mecanim [$70] A* Path finding Project Pro [$100]
- 企画の人がAIをいじったり
Effectたくさん買ってる
- Shuriken Magic Effect Pack [$35]
- 教材としてつかっている
Unity導入のメリット
Assetに学ぶ
- Effect Assetを購入して理想エフェクトの参考に
- 完成プロジェクトからゲーム実装方法を学ぶ
Unity Asset Press本購入してね