SlideShare a Scribd company logo
なんとっ!ユナイト!
ミリシタをささえる
『AKANE大作戦』とは?
DAY2 2018/5/8
池田 早人
株式会社バンダイナムコスタジオ/リードプログラマ
加藤 政樹
株式会社バンダイナムコスタジオ/プログラマーーーーー
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
自己紹介
2
池田 早人
Hayato Ikeda
株式会社 バンダイナムコスタジオ / リードプログラマ
・1996年にナムコにハードエンジニアとして入社
・2003年からモバイルアプリ向けプログラマとして今に至る
・ミリシタでは、クライアントエンジニアのまとめ役として、進行管理や
プロジェクトのバージョン管理(Perforce)などを担当
のり子、ジュリア 担当
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
ミリシタって、なんなん?
3
『アイドルマスター ミリオンライブ! シアターデイズ』は
株式会社バンダイナムコエンターテイメントからAndroid/iOS用に配信されている
アイドルライブ&プロデュースゲームで、略称は『ミリシタ』です。
765プロライブ劇場(シアター)を舞台に
765 ミリオンオールスターズのアイドルたちをプロデュース!
ステージでのライブやお仕事、劇場でのコミュニケーションを通じて、
アイドルと「もっとふれあえる」要素がもりだくさん!
http://millionlive.idolmaster.jp/theaterdays/
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
ライブシーンについて
リリース時
5人のアイドルが歌って踊る
配置換えや、衣装変更が任意に出来る
5人が個別のモーションで踊る曲もある(フォーメーション)
51人のキャラで歌い分けが出来る曲もある
途中でスペシャルアピール(別モーション)が入る
運営中
4人や3人や2人で歌って踊る
52人のキャラで歌い分けが出来る曲もある
変身する曲もある
最新
13人のアイドルが歌って踊る 4
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
モデルデータについて
1体につき10000ポリゴンくらい(顔1500/髪3000/体5500)
衣装テクスチャは1024×1024を1枚
表情はブレンドシェイプ
5
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
ステージデータについて
1ステージにつき15000ポリゴンくらい(ステージ10000/演出系5000)
ステージテクスチャは1024×1024が2枚
客席のコンサートライトは1メッシュなので描画負荷は軽い
6
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
ポストエフェクトと解像度について
被写界深度(DoF)
Bloom
Blur
フレア(光を被せるエフェクト)
UnityのImage Effectsは高品質だがモバイルには重いので、軽量化したシェーダーを独自実装
中間バッファの使い回しでメモリを節約
余分なパスなしで描画と同時にデプステクスチャを作ってDoFを実現
解像度:1280×720
低解像度+MSAA
GPU性能の低い端末向けに低解像度モードを用意したが、ジャギーが目立つためMSAAを検討
若干負荷は上がるが描画面積の多いシーンでは解像度を落とす効果の方が高く、メリットあり
7
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
タイミングシート(ステージイベントツール)について
いわゆるタイムラインツールで、家庭用にあった仕様を元にUnityで新規作成
ライブシーンの演出を作るために使用
ゲームデザイナーやビジュアルアーティストの要望を受けて、改良し続けている
カメラ、キャラの位置、キャラの表情、ステージ演出、コンサートライトの動きなど
全て制御している
カメラ用とステージ演出用の2種類がある
8
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
歌い分け
家庭用アイマスにあった機能で、アイドル毎にボーカルを収録している
ユニットを組んだメンバーの位置で歌うパートが異なる曲がある
52名のアイドルから5人を順番に選ぶ組み合わせは52P5で約3.1億通り
1曲2分半として、全部の組み合わせを聴こうと思うと465億秒必要になる(538194日で1474年必要)
サウンドはCRIのADX2を使用している
ボーカル用に複数チャンネルを使用し、ミュートを使うことで歌い分けを実現した
歌い分けのデータも前述のステージイベントツールで管理している
9
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
開発スケジュール
~2016/4 エンジニア+テクニカルアーティストで3Dでライブ実現の試作
~2016/6 α1製作 タイトル>劇場>ストーリー>ライブ までの流れを実装
~2016/11 α2製作 一通り必要な機能を実装
~2017/1 最適化プロジェクト開始
~2017/4 β1製作 AssetBundle化はまだ/サーバー通信
~2017/5 β2製作 全体のレビュー開始
2017/6/26 ギリギリでUnityのバージョンを上げて、 ストア提出
2017/6/28 ストア配信(iOS/Android)
2017/6/29 サービス開始
10
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
モバイル開発あるある
「端末での確認は、快適に動くiPhoneの最新機種でしか、やってませんでしたー」
その結果…「iPhone5sやAndroidでは、ガクガクでゲームになりません!」
分かってたけど、ミリシタでもやっちゃいました…
なんとかして対応しないとリリース出来ないが、開発メンバーは機能実装で手一杯。
開発プロジェクトとは別に動ける、最適化プロジェクトを立ち上げないと…
11
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
『AKANE大作戦』始動
簡単に言うと、Androidで快適にライブが遊べるための最適化プロジェクトの事です!
開発終盤からスタートしたため、開発チームとは別ラインで動ける
スペシャルチームを結成しました。
コードネームを付けた方が盛り上がりそうなので、ひとまず『AKANE大作戦』と命名。
Android Kousoku-ka And NativE-ka 大作戦
12
• 2D描画ベンチ
• 2D描画軽量化メモ
• 社内チームの見解
• AKANE大作戦 / String.StartsWith は遅い?
• AKANE大作戦 / ここ最近(06/19)のライブ処理負荷
• AKANE大作戦 / キャラモーション 容量削減検証
• AKANE大作戦 / シアター、コミュ中のデバッグボタン
• AKANE大作戦 / ベンチマーク用のデーター
• AKANE 大作戦 / モデル、骨関連の調査
• AKANE大作戦 / ライブ UI のこれから
• AKANE大作戦 / ライブ中 UI の高速化
• AKANE 大作戦 / ライブ中のデバッグボタン
• AKANE大作戦 / ロード時間対策
• AKANE大作戦 / 検証項目一覧
• AKANE大作戦 / 独自実装アニメーションシステム
• AKANE 大作戦 / 背景エフェクト一覧
• AKANE大作戦の議事録
• AKANE大作戦の週報
• Android その他機種まとめ
• Android 各機種傾向
• レビュー版まとめ
• キャラ小物負荷目安
• スクリーンショット
• 他職種にお願いしたいこと
• 劇場・ADV 解析ページ
• 各ゲームパート処理負荷まとめ
• 描画モード別セッティングに関して
• 測定結果(Xperia Z4)
• 読込時間計測について
• 負荷対策情報交換会に向けて
• 重い子5
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
『AKANE大作戦』のアプローチ
プロジェクト設定の見直し
3D描画部分の高速化
CPUとGPUを効率良く見て行く
2D描画部分の高速化
CanvasからSpriteへ、透明部分の無駄な描画はないか、イメージのアトラス化など
スパイクさせない工夫
GCをしない、させない、やらせない
13
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
『AKANE大作戦』の目標
SetPassCall(DrawCall)の削減
GPU負荷の軽減
テクスチャーのアトラス化
Indexバッファの統合
マテリアルの削減
描画順序の調整
CPU負荷の軽減
揺れものの計算処理の高速化
処理のスレッド化(仕事をしてないCPUに働いてもらう)
メモリの最適化
GCを発生させないための工夫はないか?
結果として、平均FPSが60に近づくようにする。
(=16.6666…ms内に処理を終らせる)
14
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
『AKANE大作戦』のポリシー
ビジュアルのクオリティは下げない
多くの端末に対応させる(描画設定)
ギリギリまでエンジニアで頑張る
ポストエフェクトなしで…
揺れ物どうしよう…
LoDの検討…
フレームスキップは…
レンダリング解像度を下げる…
Boneのインフルエンス数を減らす…
15
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
プロファイル
大まかなCPU処理の傾向はUnityProfilerで見れる
GPUを見る場合は、Qualcommが配布しているSnapdragon Profilerを使う
計測環境を整えて、数値化して比較する
闇雲に最適化案を実装しても効果が計測出来ないので、変更を入れた場合は面倒でも
必ずProfileして、数値化して比較する
大きな変更も大した効果が無かったり、逆に些細なことが大きく影響したりするので
必ず計測環境を整えて監視することが重要
端末のクセを知る事も重要
機種により性能も動作の癖も千差万別なので、通常はこうしたらこうなるだろうという思い込みが
外れることは日常茶飯事
また、発熱によるクロックダウンの傾向は知っておいた方が良い
16
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
改修のアイデア
『AKANE大作戦』では様々な最適化のアイデアを出してもらい、リスト化し
優先順位を付けて、実装とテストを繰り返しました
数μSECでも縮められるなら、トライしてみる価値はある
ときには明らかに勝算が無さそうな事でも、あえて試してみることも大事
別の事で役に立つこともある!
頭の中だけで判断せず、たくさん手を動かすことが重要
17
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
実装とテスト
P 最適化アイデアの優先順位付け
D 実装
C ビルド&計測(Profile)
A 更なるアイデア出し
※ Plan(計画)→ Do(実行)→ Check(評価)→ Act(改善)
テストしやすいように、最適化項目をON/OFF出来るようにしておく
ビジュアルアーティストにチェックしてもらう時にも楽になる
負荷の重いキャラ(重い子5)で、計測する
18
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Unityに関して
ゲームエンジンを使っている以上、出来る事と出来ない事がある
マルチスレッド化は、早めに手を引いた
短期間で実装出来ない事はやらない
そのうちUnityが対応してくれる機能もある
Uniteの講演動画や、Unity道場の資料はとても役に立ちます
Unity ForumやUnity Issue Trackerも活用してます
リリース後にUnityのバージョンを上げるのは大変なので、慎重に!
開発中は出来るだけ最新版を使うようにしてました
19
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
日々改善
リリース後も最適化作業は継続中!
ポストエフェクトの改修
マテリアルの統合
ステージ演出の軽量化
アニメーションシステムの独自実装による、処理負荷とデータサイズの削減
GCの削減
新機能の実装も行われているので、定期的にProfileを実行しています。
20
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
13人ライブ
それは昨年末、企画・開発プロデューサーの「ライブで5人以上出せない?」で始まった…
実は負荷テスト用に5人以上のキャラを表示する仕組みは、過去に用意していたので
ライブで15体表示する検証用プロジェクトをサクっと作成したところ
「あれ?けっこうちゃんと動く!」
と言う経緯で、3ヶ月弱で が完成しました。
13人ライブ用に、メモリ削減や負荷軽減のための特別な実装は行っていません。
バランス良く全体の負荷を下げる事で実現しています。
今までの最適化の積み重ねです。
塵も積もれば13人踊る!
21
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
前半まとめ
最適化の工数は事前に見積もっておきましょう
Profileは重要です
効果の見える化をしよう
最適化のPDCAを回そう
どんな些細な事でも、「ちりつも」で大きな結果となる
あと、コードネームを付けると楽しく最適化出来る… かもね!
22
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
プロフィール
23
(*) ビジュアル系プログラマー … モーション、グラフィクス系プログラマーのこと。
けっしてかっこいいわけではありません。
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
ミッション
24
見た目を変えずに
『アセットの作り直し』はしない
キャラのドローコールを減らそ
う
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
REPORT
25
25→171体あたりのドローコール
サブメッシュ統合
モデル描画の細い制御が可能に
Command Buffer
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
キャラ のモデルはこうなっております
26
パス2パス1
反転ポリゴンによる描画
頂点シェーダーで膨らませる
メッシュは具と共通
りんかく線
パス1:本体
パス2:りんかく線
シェーダー
服
スパン
コール
肌
キャラ
カラー
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
立ちはだかるサブメッシュの壁
27
ドローコールを
まとめたい
でも……
サブメッシュの壁は越えられない
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Model と Mesh と SubMesh のわかれめ
28
Model
体
Sub Mesh
頂点構造の違い マテリアルの違
い
Mesh
頭 (省略)
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
29
ところで
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
一般的な描画の話
30
頂点バッファー
インデックスバッファー
頂点の位置、UVなど
頂点を結ぶ順番
描画に必要なもの
1 ( 1.0, 1.0, 0.0)
2 ( -1.0, 1.0, 0.0)
3
4
( 1.0, -1.0, 0.0)
( -1.0, -1.0, 0.0)
三角形 1 1-3-2
三角形 2 3-4-2
1
2
3
4
マテリアル
(今回は省略)
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Mesh クラス 作る系メソッド
31
いる いらない
インデックス
トポロジー
位置
UV
法線
カラー
インフルーエンス
頂点に関するメソッドはサブメッシュの指定が不要
(*) ミリシタ調べ。Unity 5.6 の場合。
サブメッシュ指定
SetIndices() SetVertices()
SetUVs()
boneWeight
s
SetNormals(
)
SetColors()
SetTangents() タンジェント
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
『Mesh』や『SubMesh』って?
32
ひとつの頂点バッファーを
複数のサブメッシュで小分けに描画している?
仮説
Mesh
頂点バッファー
Sub Mesh
インデックス
バッファー
Sub Mesh
インデックス
バッファー
Sub Mesh
インデックス
バッファー
SubMesh = インデックスバッファー?
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
ネイティブ実装なら
33
インデックスの範囲指定で、部分 or 全体を描画
頂点バッファー
インデックスバッファー
Mesh
頂点バッファー
インデックスバッファー
インデックスバッファーをひとつだけつくる
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Mesh
頂点バッファー
Sub Mesh
インデックス
バッファー
Sub Mesh
インデックスバッファーーーーーーー
SubMesh を追加すればいいんじゃない?
34
全 SubMesh をマージした SubMeshを追加
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
試してみよう
35
何も変わらない
ちゃんと出た!
できた!
サブメッシュだけを追加してみた
マテリアルの配列を拡張、りんかく線だけのマテリアルを追
加
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
マージ SubMesh の追加
SubMesh の追加はこんな感じです
36
var rend = go.GetComponent<SkinnedMeshRenderer>();
Mesh mesh = rend.sharedMesh;
var new_indices = new List<int>();
for(int i = 0;i < mesh.subMeshCount;i++) {
var indices = mesh.GetIndices(i);
for(int j = 0;j < indices.Length;j++) {
new_indices.Add(indices[j]);
}
}
mesh.subMeshCount++;
mesh.SetTriangles(new_indices.ToArray(), mesh.subMeshCount - 1);
インデックスをひとつのリストにコピー
全 SubMesh の……
SubMesh の数
を増やしておく
マージされた SubMesh を
セット
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Material の追加
Material の追加はこんな感じです
37
var rend = go.GetComponent<SkinnedMeshRenderer>();
Material[] materials = rend.materials;
Material[] new_materials = new Material[rend.materials.Length + 1];
for(int i = 0;i < materials.Length;i++) {
new_materials[i] = materials[i];
new_materials[i].shader = find_no_outline_shader(materials[i])
}
new_materials[new_materials.Length - 1] = outline_only_material;
rend.materials = new_materials;
ひとつ大きなサイズの配列を確保
りんかく線なしのシェーダーに置き
かえる
りんかく線のみのマテリアルをセット
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
たぶん、こう
Unity の中身を想像してみた
38
mesh.vertexBuffer.Bind();
for(int i = 0;i < mesh.subMeshes.Count;i++) {
mesh.materials[i].Bind();
mesh.subMeshes[i].DrawIndexed();
}
(*) 疑似コードです
サブメッシュごとに描
画
マテリアルをバインド
頂点バッファーをバインド
インデックス描画
(ドローコール)
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
もっと減らしなよ~
お仕事結果
39
クオリティーを下げない
5人いますから(今は最大13人)
あまり減ってない?
25→17
『アセットの作り直し』もない
ローンチにも間に合ったよ!
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
最適化前
40
(*) UI 等も含みます
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
最適化後
41
44 → 36
8 Draw call の減少
(*) UI 等も含みます
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
次の 目標
42
マテリアル LOD
New!
近距離
遠距離
1ドロー化
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
マテリアルLOD の要件
43
サブメッシュ単位のビジブル制御
High LOD
Low LOD
Show
Show
Show
リフレクション なし あり なし
A B A + B
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Command Buffer
44
サブメッシュ単位で描画できる
CommandBuffer.DrawRenderer()
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
SkinnedMeshRenderer の描画を off にするには?
45
Renderer.materials[ ] を空っぽにする
スキニングは生きている
ついでにフラスタムカリングも
enabled を false にする
スキニングまで止まっちゃう!
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
描画だけ Off
SkinnedMeshRenderer の描画を off にするには?
46
var rend = go.GetComponent<SkinnedMeshRenderer>();
org_materials = rend.materials;
rend.materials = new Material[0];
描画のときのために保存しておく
大きさ 0 の Material 配列を
セット
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Command Buffer
47
Command Buffer を作る
CommandBuffer command_buffer = new CommandBuffer();
command_buffer.name = "Nantoh“;
Camera.main.AddCommandBuffer(CameraEvent.BeforeForwardOpaque,
command_buffer);
名前をつけておくと便利です カメラに関連付ける
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Command Buffer
48
毎フレームの描画
command_buffer.Clear();
if(rend.isVisible) {
for(int i = 0;i < org_materials.Length;i++) {
command_buffer.DrawRenderer(rend, org_materials[i], i);
}
}
前のフレームの描画コマンドを削除
フラスタムカリングの結果を利用
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Materials 空っぽ化前
49
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Materials 空っぽ化後
50
↑
こ
の
あ
た
り
に
注
目
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Command Buffer の良いところ
51
描画順のコントロールが容易
サブメッシュ単位でのビジブル制御
マテリアルの切り替えも簡単
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Command Buffer おまけ
52
Scene View のカメラも忘れずに!
Camera[] cameras = UnityEditor.SceneView.GetAllSceneCameras();
foreach(var camera in cameras) {
if(camera.cameraType == CameraType.SceneView) {
camera.AddCommandBuffer(CameraEvent.BeforeForwardOpaque, command_buffer);
}
}
Scene View のカメラにも
Command Buffer を関連づける
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
応用例
53
サブメッシュ単位のビジブル
Wire on shade(デバッグ用)
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
サブメッシュ単位のビジブル
54
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
Wire on shade(デバッグ用)
55
Mesh
頂点バッファー
ワイヤーフレーム用 SubMesh
トポロジーは “Lines”
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
最適化の考え方 ~ AKANE 大作戦の場合 ~
56
Unity は『ブラックボックス』?
でも『謎のテクノロジー』ではない
Unity の仕様を眺めているだけではダメ
ネイティブ実装の知識を生かした高速化
一般的な描画手法をどうやって Unity 上で実現するか
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
よくある質問 「どうして『AKANE 大作戦』なの?」
57
高速化を始めたのは 2017 年のお正月
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
よくある質問 「どうして『AKANE 大作戦』なの?」
58
高速化を始めたのは 2017 年のお正月
今年の干支は酉(とり)
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
よくある質問 「どうして『AKANE 大作戦』なの?」
59
高速化を始めたのは 2017 年のお正月
今年の干支は酉(とり)
西 ← 酉 → 茜
©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
よくある質問 「どうして『AKANE 大作戦』なの?」
60
高速化を始めたのは 2017 年のお正月
今年の干支は酉(とり)
西 ← 酉 → 茜
命名『AKANE 大作戦!』

More Related Content

What's hot

こっそり教えます!エフェクトデザインのイ・ロ・ハ
こっそり教えます!エフェクトデザインのイ・ロ・ハこっそり教えます!エフェクトデザインのイ・ロ・ハ
こっそり教えます!エフェクトデザインのイ・ロ・ハ
gree_tech
 
Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻
小林 信行
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
 
UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編
エピック・ゲームズ・ジャパン Epic Games Japan
 
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
Unity Technologies Japan K.K.
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
UnityTechnologiesJapan002
 
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
 
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
UnityTechnologiesJapan002
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
UnityTechnologiesJapan002
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
Masahiko Nakamura
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
KLab Inc. / Tech
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
Drecom Co., Ltd.
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
UnityTechnologiesJapan002
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
 
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
エピック・ゲームズ・ジャパン Epic Games Japan
 
GPU最適化入門
GPU最適化入門GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
 

What's hot (20)

こっそり教えます!エフェクトデザインのイ・ロ・ハ
こっそり教えます!エフェクトデザインのイ・ロ・ハこっそり教えます!エフェクトデザインのイ・ロ・ハ
こっそり教えます!エフェクトデザインのイ・ロ・ハ
 
Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編
 
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
 
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
 
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
 
GPU最適化入門
GPU最適化入門GPU最適化入門
GPU最適化入門
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
 

Similar to 【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?

Employees become corporate engineers
 Employees become corporate engineers Employees become corporate engineers
Employees become corporate engineers
Takashi Hasegawa
 
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
Google Cloud Platform - Japan
 
GDC2013ローカリゼーションサミット報告会
GDC2013ローカリゼーションサミット報告会GDC2013ローカリゼーションサミット報告会
GDC2013ローカリゼーションサミット報告会
Hiromi Watanabe
 
Unityとbishamonで作り上げるゲームエフェクトの未来
Unityとbishamonで作り上げるゲームエフェクトの未来Unityとbishamonで作り上げるゲームエフェクトの未来
Unityとbishamonで作り上げるゲームエフェクトの未来
Makoto Goto
 
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
Makoto Goto
 
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
Daisuke Maki
 
アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法
寛 水野
 
AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得
Shunsuke Matsumoto
 
これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜
これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜
これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜
Graffity Inc
 
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
gree_tech
 
B2B2Cアプリ開発で感じたpush通知の勘所とは
B2B2Cアプリ開発で感じたpush通知の勘所とはB2B2Cアプリ開発で感じたpush通知の勘所とは
B2B2Cアプリ開発で感じたpush通知の勘所とは
yukiyama_kdl
 
自動化ツールの違いを探る
自動化ツールの違いを探る自動化ツールの違いを探る
自動化ツールの違いを探る
Toshiya Mabuchi
 
SAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptx
SAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptxSAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptx
SAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptx
ssuserc4d605
 
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
Masataka Sato
 
Yapc::Asia 2013
Yapc::Asia 2013Yapc::Asia 2013
Yapc::Asia 2013
Masaru Hoshino
 
D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介
IGDA Japan
 
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオンAngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
Takuya Kitamura
 
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
エピック・ゲームズ・ジャパン Epic Games Japan
 
アメーバピグとJenkinsと私
アメーバピグとJenkinsと私アメーバピグとJenkinsと私
アメーバピグとJenkinsと私
Takashi Maruyama
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
Yusuke Hirao
 

Similar to 【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは? (20)

Employees become corporate engineers
 Employees become corporate engineers Employees become corporate engineers
Employees become corporate engineers
 
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
 
GDC2013ローカリゼーションサミット報告会
GDC2013ローカリゼーションサミット報告会GDC2013ローカリゼーションサミット報告会
GDC2013ローカリゼーションサミット報告会
 
Unityとbishamonで作り上げるゲームエフェクトの未来
Unityとbishamonで作り上げるゲームエフェクトの未来Unityとbishamonで作り上げるゲームエフェクトの未来
Unityとbishamonで作り上げるゲームエフェクトの未来
 
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
 
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
 
アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法
 
AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得
 
これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜
これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜
これまでのあらすじ〜世界初の運用型モバイルARシューティングバトルを作るまでの試行錯誤〜
 
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
 
B2B2Cアプリ開発で感じたpush通知の勘所とは
B2B2Cアプリ開発で感じたpush通知の勘所とはB2B2Cアプリ開発で感じたpush通知の勘所とは
B2B2Cアプリ開発で感じたpush通知の勘所とは
 
自動化ツールの違いを探る
自動化ツールの違いを探る自動化ツールの違いを探る
自動化ツールの違いを探る
 
SAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptx
SAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptxSAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptx
SAP Inside Track Tokyo 2023 前夜祭 Takayuki Tanaka_Naoto Akiyama.pptx
 
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
 
Yapc::Asia 2013
Yapc::Asia 2013Yapc::Asia 2013
Yapc::Asia 2013
 
D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介
 
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオンAngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
 
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
 
アメーバピグとJenkinsと私
アメーバピグとJenkinsと私アメーバピグとJenkinsと私
アメーバピグとJenkinsと私
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 

More from UnityTechnologiesJapan002

5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
UnityTechnologiesJapan002
 
10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン
UnityTechnologiesJapan002
 
5分でわかる Unity Forma
5分でわかる Unity Forma5分でわかる Unity Forma
5分でわかる Unity Forma
UnityTechnologiesJapan002
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉する
UnityTechnologiesJapan002
 
Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!
UnityTechnologiesJapan002
 
ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携
UnityTechnologiesJapan002
 
産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用
UnityTechnologiesJapan002
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
UnityTechnologiesJapan002
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
 
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
UnityTechnologiesJapan002
 
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
UnityTechnologiesJapan002
 
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
UnityTechnologiesJapan002
 
5分でわかる Unity点群
5分でわかる Unity点群5分でわかる Unity点群
5分でわかる Unity点群
UnityTechnologiesJapan002
 
5分でわかる Unity Reflect
5分でわかる Unity Reflect5分でわかる Unity Reflect
5分でわかる Unity Reflect
UnityTechnologiesJapan002
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
UnityTechnologiesJapan002
 
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
UnityTechnologiesJapan002
 
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
UnityTechnologiesJapan002
 
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
UnityTechnologiesJapan002
 
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
UnityTechnologiesJapan002
 
【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて
UnityTechnologiesJapan002
 

More from UnityTechnologiesJapan002 (20)

5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
 
10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン
 
5分でわかる Unity Forma
5分でわかる Unity Forma5分でわかる Unity Forma
5分でわかる Unity Forma
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉する
 
Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!
 
ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携
 
産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
 
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
 
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
 
5分でわかる Unity点群
5分でわかる Unity点群5分でわかる Unity点群
5分でわかる Unity点群
 
5分でわかる Unity Reflect
5分でわかる Unity Reflect5分でわかる Unity Reflect
5分でわかる Unity Reflect
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
 
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
 
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
 
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
 
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
 
【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて
 

Recently uploaded

Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
Natsutani Minoru
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
Sony - Neural Network Libraries
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
chisatotakane
 
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
ARISE analytics
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
CRI Japan, Inc.
 
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Shinichi Hirauchi
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo Lab
 
20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf
Ayachika Kitazaki
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
Takayuki Nakayama
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo Lab
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo Lab
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
Toru Tamaki
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
Toru Tamaki
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
Sony - Neural Network Libraries
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
たけおか しょうぞう
 

Recently uploaded (15)

Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
 
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
 
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
 
20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
 

【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?

  • 2. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント
  • 3. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 自己紹介 2 池田 早人 Hayato Ikeda 株式会社 バンダイナムコスタジオ / リードプログラマ ・1996年にナムコにハードエンジニアとして入社 ・2003年からモバイルアプリ向けプログラマとして今に至る ・ミリシタでは、クライアントエンジニアのまとめ役として、進行管理や プロジェクトのバージョン管理(Perforce)などを担当 のり子、ジュリア 担当
  • 4. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント ミリシタって、なんなん? 3 『アイドルマスター ミリオンライブ! シアターデイズ』は 株式会社バンダイナムコエンターテイメントからAndroid/iOS用に配信されている アイドルライブ&プロデュースゲームで、略称は『ミリシタ』です。 765プロライブ劇場(シアター)を舞台に 765 ミリオンオールスターズのアイドルたちをプロデュース! ステージでのライブやお仕事、劇場でのコミュニケーションを通じて、 アイドルと「もっとふれあえる」要素がもりだくさん! http://millionlive.idolmaster.jp/theaterdays/
  • 5. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント ライブシーンについて リリース時 5人のアイドルが歌って踊る 配置換えや、衣装変更が任意に出来る 5人が個別のモーションで踊る曲もある(フォーメーション) 51人のキャラで歌い分けが出来る曲もある 途中でスペシャルアピール(別モーション)が入る 運営中 4人や3人や2人で歌って踊る 52人のキャラで歌い分けが出来る曲もある 変身する曲もある 最新 13人のアイドルが歌って踊る 4
  • 6. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント モデルデータについて 1体につき10000ポリゴンくらい(顔1500/髪3000/体5500) 衣装テクスチャは1024×1024を1枚 表情はブレンドシェイプ 5
  • 7. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント ステージデータについて 1ステージにつき15000ポリゴンくらい(ステージ10000/演出系5000) ステージテクスチャは1024×1024が2枚 客席のコンサートライトは1メッシュなので描画負荷は軽い 6
  • 8. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント ポストエフェクトと解像度について 被写界深度(DoF) Bloom Blur フレア(光を被せるエフェクト) UnityのImage Effectsは高品質だがモバイルには重いので、軽量化したシェーダーを独自実装 中間バッファの使い回しでメモリを節約 余分なパスなしで描画と同時にデプステクスチャを作ってDoFを実現 解像度:1280×720 低解像度+MSAA GPU性能の低い端末向けに低解像度モードを用意したが、ジャギーが目立つためMSAAを検討 若干負荷は上がるが描画面積の多いシーンでは解像度を落とす効果の方が高く、メリットあり 7
  • 9. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント タイミングシート(ステージイベントツール)について いわゆるタイムラインツールで、家庭用にあった仕様を元にUnityで新規作成 ライブシーンの演出を作るために使用 ゲームデザイナーやビジュアルアーティストの要望を受けて、改良し続けている カメラ、キャラの位置、キャラの表情、ステージ演出、コンサートライトの動きなど 全て制御している カメラ用とステージ演出用の2種類がある 8
  • 10. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 歌い分け 家庭用アイマスにあった機能で、アイドル毎にボーカルを収録している ユニットを組んだメンバーの位置で歌うパートが異なる曲がある 52名のアイドルから5人を順番に選ぶ組み合わせは52P5で約3.1億通り 1曲2分半として、全部の組み合わせを聴こうと思うと465億秒必要になる(538194日で1474年必要) サウンドはCRIのADX2を使用している ボーカル用に複数チャンネルを使用し、ミュートを使うことで歌い分けを実現した 歌い分けのデータも前述のステージイベントツールで管理している 9
  • 11. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 開発スケジュール ~2016/4 エンジニア+テクニカルアーティストで3Dでライブ実現の試作 ~2016/6 α1製作 タイトル>劇場>ストーリー>ライブ までの流れを実装 ~2016/11 α2製作 一通り必要な機能を実装 ~2017/1 最適化プロジェクト開始 ~2017/4 β1製作 AssetBundle化はまだ/サーバー通信 ~2017/5 β2製作 全体のレビュー開始 2017/6/26 ギリギリでUnityのバージョンを上げて、 ストア提出 2017/6/28 ストア配信(iOS/Android) 2017/6/29 サービス開始 10
  • 12. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント モバイル開発あるある 「端末での確認は、快適に動くiPhoneの最新機種でしか、やってませんでしたー」 その結果…「iPhone5sやAndroidでは、ガクガクでゲームになりません!」 分かってたけど、ミリシタでもやっちゃいました… なんとかして対応しないとリリース出来ないが、開発メンバーは機能実装で手一杯。 開発プロジェクトとは別に動ける、最適化プロジェクトを立ち上げないと… 11
  • 13. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 『AKANE大作戦』始動 簡単に言うと、Androidで快適にライブが遊べるための最適化プロジェクトの事です! 開発終盤からスタートしたため、開発チームとは別ラインで動ける スペシャルチームを結成しました。 コードネームを付けた方が盛り上がりそうなので、ひとまず『AKANE大作戦』と命名。 Android Kousoku-ka And NativE-ka 大作戦 12 • 2D描画ベンチ • 2D描画軽量化メモ • 社内チームの見解 • AKANE大作戦 / String.StartsWith は遅い? • AKANE大作戦 / ここ最近(06/19)のライブ処理負荷 • AKANE大作戦 / キャラモーション 容量削減検証 • AKANE大作戦 / シアター、コミュ中のデバッグボタン • AKANE大作戦 / ベンチマーク用のデーター • AKANE 大作戦 / モデル、骨関連の調査 • AKANE大作戦 / ライブ UI のこれから • AKANE大作戦 / ライブ中 UI の高速化 • AKANE 大作戦 / ライブ中のデバッグボタン • AKANE大作戦 / ロード時間対策 • AKANE大作戦 / 検証項目一覧 • AKANE大作戦 / 独自実装アニメーションシステム • AKANE 大作戦 / 背景エフェクト一覧 • AKANE大作戦の議事録 • AKANE大作戦の週報 • Android その他機種まとめ • Android 各機種傾向 • レビュー版まとめ • キャラ小物負荷目安 • スクリーンショット • 他職種にお願いしたいこと • 劇場・ADV 解析ページ • 各ゲームパート処理負荷まとめ • 描画モード別セッティングに関して • 測定結果(Xperia Z4) • 読込時間計測について • 負荷対策情報交換会に向けて • 重い子5
  • 14. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 『AKANE大作戦』のアプローチ プロジェクト設定の見直し 3D描画部分の高速化 CPUとGPUを効率良く見て行く 2D描画部分の高速化 CanvasからSpriteへ、透明部分の無駄な描画はないか、イメージのアトラス化など スパイクさせない工夫 GCをしない、させない、やらせない 13
  • 15. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 『AKANE大作戦』の目標 SetPassCall(DrawCall)の削減 GPU負荷の軽減 テクスチャーのアトラス化 Indexバッファの統合 マテリアルの削減 描画順序の調整 CPU負荷の軽減 揺れものの計算処理の高速化 処理のスレッド化(仕事をしてないCPUに働いてもらう) メモリの最適化 GCを発生させないための工夫はないか? 結果として、平均FPSが60に近づくようにする。 (=16.6666…ms内に処理を終らせる) 14
  • 16. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 『AKANE大作戦』のポリシー ビジュアルのクオリティは下げない 多くの端末に対応させる(描画設定) ギリギリまでエンジニアで頑張る ポストエフェクトなしで… 揺れ物どうしよう… LoDの検討… フレームスキップは… レンダリング解像度を下げる… Boneのインフルエンス数を減らす… 15
  • 17. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント プロファイル 大まかなCPU処理の傾向はUnityProfilerで見れる GPUを見る場合は、Qualcommが配布しているSnapdragon Profilerを使う 計測環境を整えて、数値化して比較する 闇雲に最適化案を実装しても効果が計測出来ないので、変更を入れた場合は面倒でも 必ずProfileして、数値化して比較する 大きな変更も大した効果が無かったり、逆に些細なことが大きく影響したりするので 必ず計測環境を整えて監視することが重要 端末のクセを知る事も重要 機種により性能も動作の癖も千差万別なので、通常はこうしたらこうなるだろうという思い込みが 外れることは日常茶飯事 また、発熱によるクロックダウンの傾向は知っておいた方が良い 16
  • 18. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 改修のアイデア 『AKANE大作戦』では様々な最適化のアイデアを出してもらい、リスト化し 優先順位を付けて、実装とテストを繰り返しました 数μSECでも縮められるなら、トライしてみる価値はある ときには明らかに勝算が無さそうな事でも、あえて試してみることも大事 別の事で役に立つこともある! 頭の中だけで判断せず、たくさん手を動かすことが重要 17
  • 19. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 実装とテスト P 最適化アイデアの優先順位付け D 実装 C ビルド&計測(Profile) A 更なるアイデア出し ※ Plan(計画)→ Do(実行)→ Check(評価)→ Act(改善) テストしやすいように、最適化項目をON/OFF出来るようにしておく ビジュアルアーティストにチェックしてもらう時にも楽になる 負荷の重いキャラ(重い子5)で、計測する 18
  • 20. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Unityに関して ゲームエンジンを使っている以上、出来る事と出来ない事がある マルチスレッド化は、早めに手を引いた 短期間で実装出来ない事はやらない そのうちUnityが対応してくれる機能もある Uniteの講演動画や、Unity道場の資料はとても役に立ちます Unity ForumやUnity Issue Trackerも活用してます リリース後にUnityのバージョンを上げるのは大変なので、慎重に! 開発中は出来るだけ最新版を使うようにしてました 19
  • 21. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 日々改善 リリース後も最適化作業は継続中! ポストエフェクトの改修 マテリアルの統合 ステージ演出の軽量化 アニメーションシステムの独自実装による、処理負荷とデータサイズの削減 GCの削減 新機能の実装も行われているので、定期的にProfileを実行しています。 20
  • 22. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 13人ライブ それは昨年末、企画・開発プロデューサーの「ライブで5人以上出せない?」で始まった… 実は負荷テスト用に5人以上のキャラを表示する仕組みは、過去に用意していたので ライブで15体表示する検証用プロジェクトをサクっと作成したところ 「あれ?けっこうちゃんと動く!」 と言う経緯で、3ヶ月弱で が完成しました。 13人ライブ用に、メモリ削減や負荷軽減のための特別な実装は行っていません。 バランス良く全体の負荷を下げる事で実現しています。 今までの最適化の積み重ねです。 塵も積もれば13人踊る! 21
  • 23. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 前半まとめ 最適化の工数は事前に見積もっておきましょう Profileは重要です 効果の見える化をしよう 最適化のPDCAを回そう どんな些細な事でも、「ちりつも」で大きな結果となる あと、コードネームを付けると楽しく最適化出来る… かもね! 22
  • 24. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント プロフィール 23 (*) ビジュアル系プログラマー … モーション、グラフィクス系プログラマーのこと。 けっしてかっこいいわけではありません。
  • 25. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント ミッション 24 見た目を変えずに 『アセットの作り直し』はしない キャラのドローコールを減らそ う
  • 26. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント REPORT 25 25→171体あたりのドローコール サブメッシュ統合 モデル描画の細い制御が可能に Command Buffer
  • 27. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント キャラ のモデルはこうなっております 26 パス2パス1 反転ポリゴンによる描画 頂点シェーダーで膨らませる メッシュは具と共通 りんかく線 パス1:本体 パス2:りんかく線 シェーダー 服 スパン コール 肌 キャラ カラー
  • 28. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 立ちはだかるサブメッシュの壁 27 ドローコールを まとめたい でも…… サブメッシュの壁は越えられない
  • 29. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Model と Mesh と SubMesh のわかれめ 28 Model 体 Sub Mesh 頂点構造の違い マテリアルの違 い Mesh 頭 (省略)
  • 30. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 29 ところで
  • 31. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 一般的な描画の話 30 頂点バッファー インデックスバッファー 頂点の位置、UVなど 頂点を結ぶ順番 描画に必要なもの 1 ( 1.0, 1.0, 0.0) 2 ( -1.0, 1.0, 0.0) 3 4 ( 1.0, -1.0, 0.0) ( -1.0, -1.0, 0.0) 三角形 1 1-3-2 三角形 2 3-4-2 1 2 3 4 マテリアル (今回は省略)
  • 32. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Mesh クラス 作る系メソッド 31 いる いらない インデックス トポロジー 位置 UV 法線 カラー インフルーエンス 頂点に関するメソッドはサブメッシュの指定が不要 (*) ミリシタ調べ。Unity 5.6 の場合。 サブメッシュ指定 SetIndices() SetVertices() SetUVs() boneWeight s SetNormals( ) SetColors() SetTangents() タンジェント
  • 33. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 『Mesh』や『SubMesh』って? 32 ひとつの頂点バッファーを 複数のサブメッシュで小分けに描画している? 仮説 Mesh 頂点バッファー Sub Mesh インデックス バッファー Sub Mesh インデックス バッファー Sub Mesh インデックス バッファー SubMesh = インデックスバッファー?
  • 34. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント ネイティブ実装なら 33 インデックスの範囲指定で、部分 or 全体を描画 頂点バッファー インデックスバッファー Mesh 頂点バッファー インデックスバッファー インデックスバッファーをひとつだけつくる
  • 35. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Mesh 頂点バッファー Sub Mesh インデックス バッファー Sub Mesh インデックスバッファーーーーーーー SubMesh を追加すればいいんじゃない? 34 全 SubMesh をマージした SubMeshを追加
  • 36. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 試してみよう 35 何も変わらない ちゃんと出た! できた! サブメッシュだけを追加してみた マテリアルの配列を拡張、りんかく線だけのマテリアルを追 加
  • 37. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント マージ SubMesh の追加 SubMesh の追加はこんな感じです 36 var rend = go.GetComponent<SkinnedMeshRenderer>(); Mesh mesh = rend.sharedMesh; var new_indices = new List<int>(); for(int i = 0;i < mesh.subMeshCount;i++) { var indices = mesh.GetIndices(i); for(int j = 0;j < indices.Length;j++) { new_indices.Add(indices[j]); } } mesh.subMeshCount++; mesh.SetTriangles(new_indices.ToArray(), mesh.subMeshCount - 1); インデックスをひとつのリストにコピー 全 SubMesh の…… SubMesh の数 を増やしておく マージされた SubMesh を セット
  • 38. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Material の追加 Material の追加はこんな感じです 37 var rend = go.GetComponent<SkinnedMeshRenderer>(); Material[] materials = rend.materials; Material[] new_materials = new Material[rend.materials.Length + 1]; for(int i = 0;i < materials.Length;i++) { new_materials[i] = materials[i]; new_materials[i].shader = find_no_outline_shader(materials[i]) } new_materials[new_materials.Length - 1] = outline_only_material; rend.materials = new_materials; ひとつ大きなサイズの配列を確保 りんかく線なしのシェーダーに置き かえる りんかく線のみのマテリアルをセット
  • 39. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント たぶん、こう Unity の中身を想像してみた 38 mesh.vertexBuffer.Bind(); for(int i = 0;i < mesh.subMeshes.Count;i++) { mesh.materials[i].Bind(); mesh.subMeshes[i].DrawIndexed(); } (*) 疑似コードです サブメッシュごとに描 画 マテリアルをバインド 頂点バッファーをバインド インデックス描画 (ドローコール)
  • 40. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント もっと減らしなよ~ お仕事結果 39 クオリティーを下げない 5人いますから(今は最大13人) あまり減ってない? 25→17 『アセットの作り直し』もない ローンチにも間に合ったよ!
  • 41. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 最適化前 40 (*) UI 等も含みます
  • 42. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 最適化後 41 44 → 36 8 Draw call の減少 (*) UI 等も含みます
  • 43. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 次の 目標 42 マテリアル LOD New! 近距離 遠距離 1ドロー化
  • 44. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント マテリアルLOD の要件 43 サブメッシュ単位のビジブル制御 High LOD Low LOD Show Show Show リフレクション なし あり なし A B A + B
  • 45. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Command Buffer 44 サブメッシュ単位で描画できる CommandBuffer.DrawRenderer()
  • 46. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント SkinnedMeshRenderer の描画を off にするには? 45 Renderer.materials[ ] を空っぽにする スキニングは生きている ついでにフラスタムカリングも enabled を false にする スキニングまで止まっちゃう!
  • 47. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 描画だけ Off SkinnedMeshRenderer の描画を off にするには? 46 var rend = go.GetComponent<SkinnedMeshRenderer>(); org_materials = rend.materials; rend.materials = new Material[0]; 描画のときのために保存しておく 大きさ 0 の Material 配列を セット
  • 48. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Command Buffer 47 Command Buffer を作る CommandBuffer command_buffer = new CommandBuffer(); command_buffer.name = "Nantoh“; Camera.main.AddCommandBuffer(CameraEvent.BeforeForwardOpaque, command_buffer); 名前をつけておくと便利です カメラに関連付ける
  • 49. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Command Buffer 48 毎フレームの描画 command_buffer.Clear(); if(rend.isVisible) { for(int i = 0;i < org_materials.Length;i++) { command_buffer.DrawRenderer(rend, org_materials[i], i); } } 前のフレームの描画コマンドを削除 フラスタムカリングの結果を利用
  • 50. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Materials 空っぽ化前 49
  • 51. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Materials 空っぽ化後 50 ↑ こ の あ た り に 注 目
  • 52. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Command Buffer の良いところ 51 描画順のコントロールが容易 サブメッシュ単位でのビジブル制御 マテリアルの切り替えも簡単
  • 53. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Command Buffer おまけ 52 Scene View のカメラも忘れずに! Camera[] cameras = UnityEditor.SceneView.GetAllSceneCameras(); foreach(var camera in cameras) { if(camera.cameraType == CameraType.SceneView) { camera.AddCommandBuffer(CameraEvent.BeforeForwardOpaque, command_buffer); } } Scene View のカメラにも Command Buffer を関連づける
  • 54. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 応用例 53 サブメッシュ単位のビジブル Wire on shade(デバッグ用)
  • 55. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント サブメッシュ単位のビジブル 54
  • 56. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント Wire on shade(デバッグ用) 55 Mesh 頂点バッファー ワイヤーフレーム用 SubMesh トポロジーは “Lines”
  • 57. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント 最適化の考え方 ~ AKANE 大作戦の場合 ~ 56 Unity は『ブラックボックス』? でも『謎のテクノロジー』ではない Unity の仕様を眺めているだけではダメ ネイティブ実装の知識を生かした高速化 一般的な描画手法をどうやって Unity 上で実現するか
  • 58. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント よくある質問 「どうして『AKANE 大作戦』なの?」 57 高速化を始めたのは 2017 年のお正月
  • 59. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント よくある質問 「どうして『AKANE 大作戦』なの?」 58 高速化を始めたのは 2017 年のお正月 今年の干支は酉(とり)
  • 60. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント よくある質問 「どうして『AKANE 大作戦』なの?」 59 高速化を始めたのは 2017 年のお正月 今年の干支は酉(とり) 西 ← 酉 → 茜
  • 61. ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc. 配信元:株式会社バンダイナムコエンターテインメント よくある質問 「どうして『AKANE 大作戦』なの?」 60 高速化を始めたのは 2017 年のお正月 今年の干支は酉(とり) 西 ← 酉 → 茜 命名『AKANE 大作戦!』