Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
SO
Uploaded by
Shoji Oshima
PPTX, PDF
1,450 views
HoloLens参考書読書会 vol9
「第9回 HoloLens参考書読書会@アカツキ」の発表資料です。
Engineering
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Downloaded 12 times
1
/ 61
2
/ 61
3
/ 61
4
/ 61
5
/ 61
6
/ 61
7
/ 61
8
/ 61
9
/ 61
10
/ 61
11
/ 61
12
/ 61
13
/ 61
14
/ 61
15
/ 61
16
/ 61
17
/ 61
18
/ 61
19
/ 61
20
/ 61
21
/ 61
22
/ 61
23
/ 61
24
/ 61
25
/ 61
26
/ 61
27
/ 61
28
/ 61
29
/ 61
30
/ 61
31
/ 61
32
/ 61
33
/ 61
34
/ 61
35
/ 61
36
/ 61
37
/ 61
38
/ 61
39
/ 61
40
/ 61
41
/ 61
42
/ 61
43
/ 61
44
/ 61
45
/ 61
46
/ 61
47
/ 61
48
/ 61
49
/ 61
50
/ 61
51
/ 61
52
/ 61
53
/ 61
54
/ 61
55
/ 61
56
/ 61
57
/ 61
58
/ 61
59
/ 61
60
/ 61
61
/ 61
More Related Content
PPTX
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
by
DeNA
PPTX
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
by
弘幸 赤崎
PDF
リクルートにおける画像解析事例紹介
by
Recruit Technologies
PPTX
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
by
Kamonohashi
PDF
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
by
Recruit Technologies
PPTX
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
by
Kamonohashi
PPTX
不足するAI人材に対する「パソナテックの人材育成ソリューション」
by
Natsutani Minoru
PPTX
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
by
Kamonohashi
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
by
DeNA
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
by
弘幸 赤崎
リクルートにおける画像解析事例紹介
by
Recruit Technologies
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
by
Kamonohashi
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
by
Recruit Technologies
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
by
Kamonohashi
不足するAI人材に対する「パソナテックの人材育成ソリューション」
by
Natsutani Minoru
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
by
Kamonohashi
What's hot
PPTX
Pycon reject banditアルゴリズムを用いた自動abテスト
by
Shoichi Taguchi
PPTX
【CGWORLDゼミ】ジェットスタジオ キャラメイクセミナー
by
弘幸 赤崎
PPTX
Interpretable ml
by
Natsutani Minoru
PDF
リクルート式AIの活用法
by
Recruit Technologies
PDF
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
by
佑 甲野
PPTX
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
by
Shoichi Taguchi
PPTX
5年後のデータサイエンティスト
by
Drecom Co., Ltd.
PDF
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
by
Recruit Technologies
PDF
CEDEC2018『逆転オセロニア』におけるAI活用
by
Jun Okumura
PPTX
ゲーム体験を支える強化学習の実応用について
by
Jun Okumura
PDF
リクルートのWebサービスを支える「RAFTEL」
by
Recruit Technologies
PDF
ユーザー企業内製CSIRTにおける対応のポイント
by
Recruit Technologies
PDF
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
by
Recruit Technologies
PPTX
ソフトウェアジャパン2018 ITフォーラムセッション(3)
by
aitc_jp
PDF
FINAL FANTASY Record Keeper アニメーション制作の濃ゆい話
by
Toshiharu Shirai
PDF
OSSコンソーシアム記念講演(2017-07-10)
by
博宣 今村
PDF
AWSでのセキュリティ運用 ~IAM,VPCその他
by
Recruit Technologies
PDF
大規模SNSにおけるソーシャルアプリの運用とマネタイズ
by
youthk kamiya
PPTX
ML meetup20190327
by
Natsutani Minoru
PDF
Spring “BigData”
by
Recruit Technologies
Pycon reject banditアルゴリズムを用いた自動abテスト
by
Shoichi Taguchi
【CGWORLDゼミ】ジェットスタジオ キャラメイクセミナー
by
弘幸 赤崎
Interpretable ml
by
Natsutani Minoru
リクルート式AIの活用法
by
Recruit Technologies
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
by
佑 甲野
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
by
Shoichi Taguchi
5年後のデータサイエンティスト
by
Drecom Co., Ltd.
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
by
Recruit Technologies
CEDEC2018『逆転オセロニア』におけるAI活用
by
Jun Okumura
ゲーム体験を支える強化学習の実応用について
by
Jun Okumura
リクルートのWebサービスを支える「RAFTEL」
by
Recruit Technologies
ユーザー企業内製CSIRTにおける対応のポイント
by
Recruit Technologies
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
by
Recruit Technologies
ソフトウェアジャパン2018 ITフォーラムセッション(3)
by
aitc_jp
FINAL FANTASY Record Keeper アニメーション制作の濃ゆい話
by
Toshiharu Shirai
OSSコンソーシアム記念講演(2017-07-10)
by
博宣 今村
AWSでのセキュリティ運用 ~IAM,VPCその他
by
Recruit Technologies
大規模SNSにおけるソーシャルアプリの運用とマネタイズ
by
youthk kamiya
ML meetup20190327
by
Natsutani Minoru
Spring “BigData”
by
Recruit Technologies
Similar to HoloLens参考書読書会 vol9
PDF
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 4の2019年上半期アップデート情報まとめ / GTMF 2019
by
Game Tools & Middleware Forum
PDF
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
by
UnityTechnologiesJapan002
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[GTMF2019]Unreal Engine 4の2019年上半期 アップデート情報まとめ
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
by
UnityTechnologiesJapan002
PDF
UE4.17で入る新機能を一気に紹介・解説!
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Making of ユニティちゃんステージデモ in ComicMarket 86
by
小林 信行
PDF
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
HoloLensハンズオン:ハンドトラッキング&音声入力編
by
Takashi Yoshinaga
PPTX
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Shadow gunのサンプルから学べるモバイル最適化
by
Katsutoshi Makino
PPTX
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unityとスマートフォンアプリの最適化
by
COLOPL, Inc.
PDF
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
by
Unity Technologies Japan K.K.
PDF
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
by
UnityTechnologiesJapan002
PDF
週末プログラミングで作るカジュアルゲーム~シューティング編~
by
Nohina Hidenari
PPT
週末プログラミングで作るカジュアルゲーム~レーシング編~
by
Nohina Hidenari
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4の2019年上半期アップデート情報まとめ / GTMF 2019
by
Game Tools & Middleware Forum
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
by
UnityTechnologiesJapan002
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
[GTMF2019]Unreal Engine 4の2019年上半期 アップデート情報まとめ
by
エピック・ゲームズ・ジャパン Epic Games Japan
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
by
UnityTechnologiesJapan002
UE4.17で入る新機能を一気に紹介・解説!
by
エピック・ゲームズ・ジャパン Epic Games Japan
Making of ユニティちゃんステージデモ in ComicMarket 86
by
小林 信行
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
HoloLensハンズオン:ハンドトラッキング&音声入力編
by
Takashi Yoshinaga
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
Shadow gunのサンプルから学べるモバイル最適化
by
Katsutoshi Makino
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityとスマートフォンアプリの最適化
by
COLOPL, Inc.
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
by
Unity Technologies Japan K.K.
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
by
UnityTechnologiesJapan002
週末プログラミングで作るカジュアルゲーム~シューティング編~
by
Nohina Hidenari
週末プログラミングで作るカジュアルゲーム~レーシング編~
by
Nohina Hidenari
Recently uploaded
PDF
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
PDF
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
PDF
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
PPTX
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
PDF
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
PDF
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
HoloLens参考書読書会 vol9
1.
Copyright © 2018
TIS Inc. All rights reserved. 戦略技術センター 大島昇時 第9回 HoloLens参考書読書会@アカツキ ch.10 デバッグとパフォーマンス
2.
Copyright © 2018
TIS Inc. All rights reserved. 自己紹介 名前 : 大島昇時 ハンドル : さんすうP @Sansuusetto 所属 : TIS株式会社 戦略技術センター 1
3.
Copyright © 2018
TIS Inc. All rights reserved. ・三菱のグループ会社で、組み込み系エンジニア約4年 ・映像系の中小で、マネージャ、映像制作、VRゲーム制作約3年 ・TISに2018/02入社。xRの研究開発を行う 組み込み系エンジニア・エンタメ系エンジニア・映像制作・ 企画・ディレクションと、結構色々やってきたので、その辺 りの経験を交えつつ、お話していきたいと思います。 2 経歴
4.
Copyright © 2018
TIS Inc. All rights reserved. 今日覚えて帰ること • Debug – Unity + Holo + 一般的な開発でのDebugの基本 • PerformanceTuning – Profilerの見方 – Tuningの基本 3
5.
Copyright © 2018
TIS Inc. All rights reserved. Debug編 4
6.
Copyright © 2018
TIS Inc. All rights reserved. Debug 5 No Debug方法 重要度(5段階) 1 IDE(VisualStudio)でDebugする ★★★★★ 2 HoloをRemoteでDebugする ★★★★★ 3 Logを出力する ★★★★★ 全部大事。この辺りを使いこなせないと確実に開発で躓きます。
7.
Copyright © 2018
TIS Inc. All rights reserved. IDE(VisualStudio)でDebug VisualStudioでUnityEditorにアタッチしてステップ実行する 事ができる。 超使う。これが無いと始まらない。 上記赤枠を押下し、UnityEditorでPlayするだけ。 7
8.
Copyright © 2018
TIS Inc. All rights reserved. IDE(VisualStudio)でDebug 実行を中断したい行でF9を押下すると、ブレークポイントを 設定することができる。 実行中にブレークポイントの箇所が実行される直前に処理を 一時停止し、その時点の変数の値を確認することができる。 F10で次の行まで実行(ステップオーバー) F11で当該行の中で実行される関数の中へ移動(ステップイン) 8
9.
Copyright © 2018
TIS Inc. All rights reserved. HoloをRemoteでDebugす る 9 実機で動かしてDebugしたい場合は「Holographic Remoting Player」を使います。 まずは、HoloLens本体に上記アプリをインストールしま しょう。
10.
Copyright © 2018
TIS Inc. All rights reserved. HoloをRemoteでDebugす る Holo上でHolographicRemotingPlayerを立ち上げた状態で、 以下の通り実行すると、HoloとRemoteで繋がるので通常通 りDebugできます。ビルドしなくていいので楽。 10 IPアドレスを入力した後、 Enterを押下しないとつなが りません 1 2 3 4
11.
Copyright © 2018
TIS Inc. All rights reserved. Logを出力する 問題の発生原因を特定するため、Logは重要です。 しかし、Logを入れなくても機能自体には影響しないため、 意外と軽視されがち。 11
12.
Copyright © 2018
TIS Inc. All rights reserved. Log出力関数の種類 12 ↓いっぱいあるけどどれを使えば?
13.
Copyright © 2018
TIS Inc. All rights reserved. Log出力関数の種類 13 それぞれこんな感じで 出力されます。 GameObjectを指定すると、 Consoleのログをクリックしたとき に、対象のオブジェクトが Hieralky上でハイライトされる
14.
Copyright © 2018
TIS Inc. All rights reserved. 14 Log出力関数の種類 この辺りの設定はDebug.Logで 出力した際にも有効となる
15.
Copyright © 2018
TIS Inc. All rights reserved. 以上のように、Log出力関数自体はどれも大差ないので好き な物を使えば良いと思います。 ただ、私は標準の機能では色々と不便なので、Log出力の Helperクラスを作って使っています。 15 Log出力関数の種類
16.
Copyright © 2018
TIS Inc. All rights reserved. こんな感じ 16 以下の情報が自動的に付加される ・Tick ・ファイル名 ・関数名 ・行数
17.
Copyright © 2018
TIS Inc. All rights reserved. • C#5.0で追加されたCallerInfoを使うことにより メソッドの呼び出し元の情報を取得し、 ログとして出力する 17 仕組み .NETのバージョンが古いと 動かないので、ご注意
18.
Copyright © 2018
TIS Inc. All rights reserved. なんとなくLogを追加しても問題個所の特定にはあまり役に 立たないので、イイ感じにLogを出力したい。 どこで、どんな情報を出力すべきか。 18 Logで問題個所を特定するために
19.
Copyright © 2018
TIS Inc. All rights reserved. 下記表の様に、出力すべきLogの種別を予めプロジェクト内 部で決めておきましょう。 それぞれがなんとなくLogを入れると、それが問題特定の妨 げになることが往々にして起こります。 19 LogLevelを設計する No Level 出力内容 ビルド時 1 Trace Debug時に処理を追いかけるための詳細情報 × 2 Info 正常系の重要な情報・処理結果 〇 3 Warning エラーっぽいけどほんとに大丈夫?という確認 〇 4 Assert 実行時に満たすべき条件の判定結果 × 5 Error 異常系の重要な情報・処理結果 〇 6 Exception IOの失敗等、クリティカルなエラーのException情報 〇 ※上記表は例であり、正解はありません
20.
Copyright © 2018
TIS Inc. All rights reserved. ・パフォーマンス - Update()で毎フレーム出力されるログを出力しない ・セキュリティ(作る物によるが、一般的に) - パスワード等の重要な情報は出力しない - 平文でLogを保持しない ・追跡のしやすさ - 異常系だけではなく、正常系のログも残す 20 Loggingで考慮すべきこと
21.
Copyright © 2018
TIS Inc. All rights reserved. Performance Tuning編 21
22.
Copyright © 2018
TIS Inc. All rights reserved. Tuningの分類 22 大きく分けて下記の2種類がある ・Script ・Graphics ↑ 今回はGraphicsをメインに解説する
23.
Copyright © 2018
TIS Inc. All rights reserved. ここから難しい話をします 23
24.
Copyright © 2018
TIS Inc. All rights reserved. Unityの RenderingPipelineの話 24
25.
Copyright © 2018
TIS Inc. All rights reserved. レンダリングするフレーム毎に、 CPUは次の作業を行う。 1. レンダリング対象の選定 ( 視錐台カリング ( Frustum culling ) ) 2. 描画するオブジェクトの情報を収集し、描画コマンド(DrawCall) 順にソートする。このとき特定条件下でDrawCallをまとめる処理 を行う(Batching) 3. 各DrawCall呼び出し毎にBatchと呼ばれるデータのパケットを生 成する DrawCall:グラフィックスAPI を使用して、 画面に描画を行う際に呼び出す命令の事 25 CPUとGPUの役割
26.
Copyright © 2018
TIS Inc. All rights reserved. Batch毎にCPUは次の作業を行う。 1. GPUに対して次のメッシュのレンダリングに使用する設定をGPU に指示する(SetPassCall)この呼び出しは、次のメッシュが前の メッシュからのレンダリング状態(RenderState)の変更を必要と する場合にのみ送信される 2. DrawCallをGPUに送信する。DrawCallは、最新のSetPassCallで 定義された設定を使用して、指定されたメッシュをレンダリング するようにGPUに指示する 3. Batchに複数のPassがある場合は、レンダリング状態への変更を 必要とするため、CPUは新しいSetPassCallを送信しなければな らず、次にDrawCallを再度送信する必要がある 26 CPUとGPUの役割
27.
Copyright © 2018
TIS Inc. All rights reserved. GPUは次の作業を行う。 • GPUは、送信された順にCPUからのタスクを処理する • 現在のタスクがSetPassCallである場合、GPUはレンダリング状態を 更新する • 現在のタスクがDrawCallの場合、GPUはメッシュをレンダリングす る • 上記プロセスは、CPUから送信されたすべてのタスクがGPUによって 処理されるまで繰り返される 27 CPUとGPUの役割
28.
Copyright © 2018
TIS Inc. All rights reserved. CPU • 描画対象の決定 • GPU用のコマンドの準備 • GPUにコマンドを送信する GPU • CPUから要求された通りレンダリング状態を更新し、 メッシュを描画する まずは、CPUとGPUのどちらがボトルネックとなっ ているのか調べることから始めましょう 28 まとめると
29.
Copyright © 2018
TIS Inc. All rights reserved. Profilerの見方 29 Ctrl+7 or Window->Profilerで出せる
30.
Copyright © 2018
TIS Inc. All rights reserved. 30 Profilerの見方 DefaultではGPUのProfiler が非表示なので出してお くとよい
31.
Copyright © 2018
TIS Inc. All rights reserved. CPU/GPUのどちらに時間がかかっているかで、 ボトルネックが分かる 31 Profilerの見方
32.
Copyright © 2018
TIS Inc. All rights reserved. 32 Profilerの見方 該当の関数、および その関数によって呼 び出される全ての関 数が消費する時間 の合計 該当の関数自体 が消費する時間 どの処理で時間がかかっ ているかグラフィカルに 確認できる
33.
Copyright © 2018
TIS Inc. All rights reserved. 33 Profilerの見方 どのスレッドでどんな 処理をしているのか 確認できる ※重要※ どのスレッドがボトルネックになっているか確認すること
34.
Copyright © 2018
TIS Inc. All rights reserved. VSyncは描画の同期待ちなので、厳密にはCPUの処理ではありま せん。なので気にしなくてよいです。 34 VSyncについて
35.
Copyright © 2018
TIS Inc. All rights reserved. 35 HoloとProfilerを繋ぐ ここにチェックを入れて いつも通りビルドして、 Holoにデプロイする
36.
Copyright © 2018
TIS Inc. All rights reserved. 36 HoloとProfilerを繋ぐ Holoでアプリが動作した後、 HoloのIPアドレスを入力して、 Connectを押下すると実機の パフォーマンスを見ることができる
37.
Copyright © 2018
TIS Inc. All rights reserved. お待たせしました ここからTuningの話です 37
38.
Copyright © 2018
TIS Inc. All rights reserved. Tuningの基本 38 チューニング項目 デザイナー エンジニア 効果 DrawCallを減らす 〇 × ★★★★★ Meshを減らす 〇 × ★★★★★ Texture解像度を下げる 〇 × ★★★★ GameObject(Update)を減らす 〇 〇 ★★ Scriptを調整する × 〇 ★★ Shaderを調整する × 〇 ★★★★★★★★ ★★★★★★★★ ※これは個人の感想です あと作るものによって大きく変わる
39.
Copyright © 2018
TIS Inc. All rights reserved. 前述の表の補足 HoloLensでの開発における、ありがちなチューニング項目 を書いています。 当然、個々のアプリケーションでボトルネックは異なります。 なので表に無い項目がボトルネックとなっている可能性は十 分にあります。まずは、Profilerでボトルネックを見つける ことが重要です。 あと、影響の大きいShadowとかLighting周りとか省いてい ます。 この辺り書くと話が広がりすぎるし、Holoでそんなリッチ な表現やらないですよね? 39
40.
Copyright © 2018
TIS Inc. All rights reserved. ・可能な限りMaterialを減らす →複数のTextureがある場合は、結合して一つのTextureにする ・SkinedMeshRenderを減らす →理想は1キャラにつき1つ ・材質の違いはMapping用のTextureで表現する →MetallicSmoothnessなんかはよく使う ex.革と鉄の材質を1つのマテリアルで表現する等 ・静的なオブジェクトはStaticにする →StaticBatchingが行われることにより、DrawCallが減る 40 DrawCallを減らす
41.
Copyright © 2018
TIS Inc. All rights reserved. • 1キャラにつき、できれば5kポリゴン以内に収める →作るものとデバイスによるので、何とも言いにくいが、 多くとも10k以内にしたい。 41 Meshを減らす
42.
Copyright © 2018
TIS Inc. All rights reserved. • 基本はメッシュの面積に比例してTexture解像度を 増減させ、妥協点を探る →キャラクターの場合、人間は顔に注目しやすいため、 頭の解像度を高くして、それ以外を落とすというのも よく使われている 42 Texture解像度を下げる
43.
Copyright © 2018
TIS Inc. All rights reserved. • 可能であれば、Modelに対して「OptimizeGameObject」 をかけてあげると良い • Scriptは、可能な限りMonoBehaviourを継承しない →Inspectorを使いたいがために、MonoBehaviourを継承するのは非常に無 駄 ちょっと、この辺話すと長くなるので割愛します 43 GameObject(Update)を減らす
44.
Copyright © 2018
TIS Inc. All rights reserved. 44 その他 このチェックは外しておきましょう。 (DefaultはON) これを有効にすると、メモリ消費量が 2倍になります。 有効にする必要があるのは以下の場合 -負のスケーリング((-1、1、 1)など) - シアターランズフォーン(例えば、回転さ せたメッシュにスケルトンした親トラック フォームがある場合)
45.
Copyright © 2018
TIS Inc. All rights reserved. Script・Shaderの 調整は割愛します。 難易度高くなるし、 時間もたりないので。 45
46.
Copyright © 2018
TIS Inc. All rights reserved. こんな事は色々な場所で散々言わ れてるから知ってるけど 具体的にどうやるんじゃ! という人のために。 46
47.
Copyright © 2018
TIS Inc. All rights reserved. <題材> Holoで UnityChanを7体出してみる 47
48.
Copyright © 2018
TIS Inc. All rights reserved. 調整前 48 ※PC上でキャプチャした映像です Batches : 265 SetPassCall: 22 Tris : 220k
49.
Copyright © 2018
TIS Inc. All rights reserved. 49 調整前 ※Holo実機のProfilerです
50.
Copyright © 2018
TIS Inc. All rights reserved. 結果 60FPSを下回る事が多々あり、 頭を動かすと結構カクつく 50
51.
Copyright © 2018
TIS Inc. All rights reserved. 調整後 51 ※PC上でキャプチャした映像です Batches : 71 SetPassCall: 14 Tris : 67k
52.
Copyright © 2018
TIS Inc. All rights reserved. 調整後 52 ※Holo実機のProfilerです
53.
Copyright © 2018
TIS Inc. All rights reserved. 結果 60FPS以上を保ちつつ、 見た目はほぼ変わらない (目立つ破綻を直したのでむしろきれいになった) 53
54.
Copyright © 2018
TIS Inc. All rights reserved. 何をしたか 54
55.
Copyright © 2018
TIS Inc. All rights reserved. ↓前述の表とおなじもの 55 チューニング項目 デザイナー エンジニア 効果 DrawCallを減らす 〇 × ★★★★★ Meshを減らす 〇 × ★★★★★ Texture解像度を下げる 〇 × ★★★★ GameObject(Update)を減らす 〇 〇 ★★ Scriptを調整する × 〇 ★★ Shaderを調整する × 〇 ★★★★★★★★ ★★★★★★★★ ※これは個人の感想です あと作るものによって大きく変わる とりあえず上記3つはどんなプロ ジェクトでもやっておく。 それでも解決しない場合は、色々 大変な思いをすることになる
56.
Copyright © 2018
TIS Inc. All rights reserved. 最適化した結果 56 Batches : 40 SetPassCall: 13 Tris : 31.5k Batches : 12 SetPassCall: 9 Tris : 9.6k Before After 理想は Batch/SetPass それぞれ1です
57.
Copyright © 2018
TIS Inc. All rights reserved. 具体的なやり方 57
58.
Copyright © 2018
TIS Inc. All rights reserved. お土産動画 58 お土産を用意したので 見たい方は下記からご覧ください 又は、YouTubeで「HoloLens参考書読書会」で検索
59.
Copyright © 2018
TIS Inc. All rights reserved. 最後に 59
60.
Copyright © 2018
TIS Inc. All rights reserved. 生兵法は大怪我の基です。 それぞれの責務範囲で 出来る事をやりましょう。 あと、仕様を見直すことも大事です。 無理なものは無理。 60
61.
THANK YOU
Download