SlideShare a Scribd company logo
1 of 50
アセットパイプラインを構築する上で重要なこと 
映像業界⇔ゲーム業界双方の視点 
から見た本質的なパイプライン 
長舩龍太郎 
Ben Carter 
※ハッシュタグ#CEDEC_PFG
講演者紹介 
• 長舩龍太郎 
– 司会進行 
• バンダイナムコスタジオ(旧ナムコ)のTEC 
• Facebook海外TA勉強会管理人 
• Ben Carter 
– メインスピーカー 
• Heavy Spectrum Entertainment Labsプログラマ 
• 元EA Games UKでリードプログラマー等豊富なキャリア 
– ハリーポッター、ニードフォースピード等 
• アセットパイプライン関連書籍の執筆多数 
– Production Pipeline Fundamentals、The Game Asset Pipeline等 
2
本セッションの背景 
• 昨今のゲーム開発事情 
– ますますパイプライン大規模化、複雑化 
• 堅牢で柔軟なパイプライン構築の重要性 
– リアルタイムCG技術の向上 
• 映像業界↔ゲーム業界のクロスオーバー 
– 双方の距離がさらに接近 
– 共通点と相違点、互いの長所を短所で埋める動き 
• 映像業界 
• ゲーム業界 
3
本セッションの背景 
• Production Pipeline Fundamentals for Film and Game(PFG本)の発売 
– 映像業界⇔ゲーム業界の双方の視点から 
本質的なパイプラインを体系的にまとめた良著(2014年2月) 
– 欧米の様々な教育機関の教科書として採用予定 
• カーネギーメロン大学、サンフランシスコ州立大学等… 
– 日本語版もボーンデジタル様から2014年9月下旬発売予定 
4
本セッションの概要 
• 目的 
– ゲーム業界⇔映像業界双方の視点からの 
アセットパイプラインのガイドラインの紹介 
– 各アセットパイプラインの再構築、リファインのきっかけ 
• 対象 
– アセットパイプラインにかかわってる人、興味持ってる人なら誰 
でも 
• パイプラインエンジニア 
• プログラマ、テクニカルアーティスト 
• インハウスゲーム環境の開発者、ユーザー 
• 市販ゲームエンジンのユーザー等… 
5
概要- アセットパイプライン 
• パイプラインが必要となる背景 
• パイプラインの理論 
• パイプラインの実用 
6
7 
パイプラインが必要となる背景
本講演のモチベーション 
黒歴史からの例: 
• サーバー上で6か月バックアップできなかった。理由はなぜか名前が3000文字のフォルダが作成さ 
れていて、そのファイルがバックアップソフトをクラッシュさせていたから。そして不幸にも誰 
もそのファイルの消し方がわからなかったから。 
• 全てのファイル名はとっても適切に命名されている。たとえば、”test01”あるいは”hogehoge"... 
• 新しいファイルが古いファイルを上書きしてしまう、あるいは古いファイルを"old_"をつけて 
リネームしたり、新しいファイルに"new", "new final", "really final3"…とか命名している。 
• 作ったモデルをゲーム内で見るためは、アーティストがプログラマーにデーターをメールして、 
そのプログラマーが暇な時にデータを変換することを待つしかなかった 
• いつでも、誰かが間違った手順を取るとビルドが一日中停止。次第に誰もが被害妄想を持って、 
更新するのが億劫に… 
• ゲームディスクのビルドには24時間かかり、3人のプログラマーと大規模の魔術儀式が必要です。 
8
アセットとは何か? 
このような物: 
• テクスチャ、モデル、アニメーション、マテリ 
アル、 
オーディオエフェクト、マップレイアウト、 
• コリジョン・物理情報、ローカリゼーションデー 
タ、 
スクリプト(頻繁)、シェーダー(時々) 
9
アセットとは何か? 
こんな方々によって作られています: 
• アーティスト、ライター、プログラマー、 
オーディオデザイナー、スクリプター、プロデ 
ューサー 
• 自動処理 
• (基本的に全員!) 
10
アセットとは何か? 
こんな方法で制作されている: 
• DCCツール(Photoshop/Maya等) 
• キャプチャー処理 
(写真/モーキャプ/LIDAR/Photogrammetry) 
• インハウス編集ツール(レベルエディター等) 
• 自動変換ツール 
11
アセットパイプラインとは何か 
?ワークフロー例1 
12 
テクスチャアーティストPhotoshop TGAファイル 
テクスチャの変更 
ゲーム
アセットパイプラインとは何か 
?ワークフロー例2 
メッシュの変更 
13 
モデラーMaya MBファイル 
ゲーム 
テクスチャアーティストPhotoshop TGAファイル 
テクスチャの変更
ワークフロー 
• ワークフローは時と共に変動する 
– 一見関係のない変更の結果としてよく変わってしまう! 
• 技術の変動が新しい要件やツールを引き起こす 
– たとえば、PBR(物理ベースレンダリング)とか 
• その場しのぎの変更が影響を及ぼさないか注意しよう 
– 例:ツールのバージョン更新によって新たな機能が追加(あるいは削除)されるかもしれない 
• ユーザーはパイプラインが「壊れている」のすら気付かないかもしれない 
– 見逃したディペンデンシー(依存関係)、本来より時間がかかる処理が容易に見落とされる 
可能性 
14
コンテンツの処理 
15 
TGAファイルテクスチャ圧縮DDSファイル 
メモリ内でのバイナリ変換ゲーム特有ファイルパッケージング 
インストーラーパッケージ
コンテンツの処理 
16 
メッシュファイルライトマップUV生成頂点最適化 
AOベイキングコリジョンジオメトリ抽出中間メッシュ 
コリジョンジオメトリ依存テクスチャの抽出 
メモリ内でのバイナリ変換 
ゲーム特有ファイル 
AOテクスチャTGA 
テクスチャ圧縮 
DDSファイル 
インストーラーパッケージパッケージング 
テクスチャTGA 
テクスチャ圧縮 
DDSファイル
コンテンツの格納 
• ソースデータ:バージョン管理システム 
(Perforce/SVN/Shotgun等)内に格納するデータ 
• 中間データ:ローカルストレージに格納するデ 
ータ、 
高速キャッシュデータ 
• ゲームデータ:ローカルストレージに格納する 
データ、 
ビルドディスク、アーカイブ 
17
バージョン管理とは何か? 
• すべての編集可能なファイルの履歴を保持 
• 複数ユーザーが同時にファイル編集が可能、 
(制限付きの)マージ機能のサポート 
• (必要ならば)複数ユーザーが1ファイルの同時編集を禁止すること 
も可能 
• ブランチ: 
他の誰にも影響を及ぼさずに、分離して機能実装あるいは実験が可 
能 
• アトミックトランザクション: 
複数ユーザーが矛盾する結果を導くことなく同時に処理が可能 
18
分散型バージョン管理 
• 非集中型サーバー 
• ユーザー同士が「push」と「pull」命令でデータ交換できる 
• 全ユーザーがプロジェクト履歴のフルコピーを持つ事が可能 
• 主にソースコード管理に有益で、アセットデータの全体サイ 
ズは 
全ユーザーにコピーを持たすことを困難にする 
• 解決方法はあるが、実現するには集中型サーバーを 
使用する必要がある 
19
ストレージの信頼性 
• 信頼性は非常に重要 
• データは決して消失してはならない 
• たとえユーザーが何か削除したいと言ったとしても… 
• 沈黙のデータ破損は実に問題 
• RAMは宇宙線(Cosmic Rays)の影響で一月毎に256MB毎約1ビットがフリップされる(IBM調べ 
) 
• ECC RAMはこのリスクを著しく軽減 
• HDDは"ビットロット"に苦しむ 
• 様々な沈黙のデータ破損を、時間と共に引き起こすという問題を示す表現 
• ZFSやBTRFSといったファイルシステム、幾つかのバージョン管理システムはエラーの感知・ 
自動修復するために定期的にスキャンする 
20
ストレージの信頼性 
• ダウン時間は最小にするべき 
• 5分(コーヒー飲みに行って帰ってくる時間)以内が望ましい 
• 最悪の場合でも何らかの形でユーザの作業が続けられるようにしましょ 
う 
• 冗長性とバックアップは重要です 
21
データ転送 
• 帯域幅は通常パフォーマンスの大きなリミッタ 
• より多くのユーザー用トラフィックを扱わなければいけない 
要素は注意深く考慮する必要あり 
• 予期しない場所でのボトルネックに警戒しよう 
(例:配置あるいは設定が不適切なスイッチ) 
• 帯域幅は特にアウトソーシングする際はよりパフォーマンスに制限がかかる 
• ネットワーク上の他のアプリケーションも警戒しよう 
• まず共通のユーザーケースを最適化しよう 
22
メタデータ 
• 「データについてのデータ」 
• 基本的なファイルデータ 
– (修正日時、ユーザー名等) 
• アセット特有の統計データ 
– (タグ、サムネイル、テクスチャサイズ、ポリゴン 
数等) 
• マネジメントデータ 
– (承認ステータス、詳細スケジュール等) 
23
ゲーム業界と映像業界の違い 
• データ量 
• 「ショット」ベースのワークフロー 
• 非インタラクティブ、リニアメディア 
• プレビュー手法 
• 最適化 
24
25 
パイプラインの理論
ワークフローの確認 
• 含まれるアクターの確認 
〜それらは人間あるいは自動化処理か 
• データがどこに置かれるべきか 
• イテレーション(作ったデータの変更)は要注 
意です 
• 特に他の作業の結果も変更しないといけない場所 
26
イテレーション高速化の持続 
27 
作業処理レビュー
イテレーション高速化の持続 
28 
作業処理さらに作業 
処理レビュー 
非常に効率が悪い!
イテレーション高速化の持続 
29 
作業処理レビュー 
さらに作業処理レビュー
データレイアウト 
• 可逆フォーマットをできる限り使い、 
ソースデータが編集可能かを確認しよう 
• ソースデータと中間データと最終データを分けよう 
• 実用的な命名規則を使おう 
• ストレージを適切に分離しよう 
• 誰が何を必要かを意識しよう 
30
ディペンデンシー(依存関係) 
ディペンデンシーとは何か? 
メッシュ変換ツールテクスチャ圧縮ツール 
31 
TGAテクスチャ 
TGAテクスチャ 
メッシュ 
TGAテクスチャ 
メッシュ変換テクスチャ圧縮 
中間メッシュデータ 
DDSテクスチャ
ディペンデンシー(依存関係) 
①ワークフローディペンデンシー 
Xは処理を完了するためにYを必要とする 
(例:リギングはアニメーションつける前に必要) 
• 時系列と再加工の必要性を表す 
• 暗黙のディペンデンシーに注意しよう 
32
ディペンデンシーとは何か? 
②ユースディペンデンシー 
Xを使用するためにはYが必要 
(例:このメッシュを表示するにはこのテクスチャーが必要) 
• 何らかの処理(あるいはゲーム自体)を実行す 
るために依存するアセットの必要性を表す 
33
ディペンデンシーとは何か? 
③ツールディペンデンシー 
XはYを使ってビルドする 
(例:全コリジョンデータはこのEXEを使用してビルドされる) 
• ワークフローディペンデンシーの特別なケース 
• もしツールが変更されたら、再実行する必要がある依存を表 
す 
• (これはよくかなり骨の折れる作業) 
34
ディペンデンシーの図(一部) 
メッシュ変換ツールテクスチャ圧縮ツール 
TGAテクスチャ 
TGAテクスチャ 
35 
メッシュ 
TGAテクスチャ 
ワークフローディペンデンシー 
メッシュ変換テクスチャ圧縮 
中間メッシュデータ 
ツールディペンデンシー 
ワークフロー 
ディペンデンシー 
ワークフロー 
ディペンデンシー 
ツールディペンデンシー 
ワークフロー 
ディペンデンシー 
DDSテクスチャ 
ユース 
ディペンデンシー
ディペンデンシーの使用 
• make、JAMやMSBuildといったツールは「与えられたアウトプットをビルドするために 
必要なものは何か」を決めるためにこのツリーを走査している 
• ビルド「ルール」は望んだアウトプットを得るために連鎖させることが可能 
1)TGAから実機用テクスチャフォーマットにコンパイルするルール 
2)PSDファイルをTGAに変換するルール 
3)TGAからフォントデータをコンパイルするルール 
• これら3つのルールは、TGAを実機用テクスチャにコンパイルするだけでなく、 
自動的にPSDをテクスチャファイル(ルール1とルール2)あるいは 
フォント(ルール2とルール3)にコンパイルすることを可能にする 
36
ディペンデンシー情報の抽出 
• ルールその物に書いてある情報 
– 例:コリジョンデータのコンパイルは 
コリジョンデータコンパイラEXEに依存する 
• データ自体から抽出する 
– 例:このモデルは3つのテクスチャを使用している 
• 手作業で作成 
– 例:あるレベルのオーディオバンクのリスト 
37
38 
パイプラインの実用性
ビルドツール 
• すべてを自動化する 
• 共通タスクをバッチ処理するためのスクリプトを作成する 
(例:バージョン管理からの更新、全アセットのリビルド、コード 
のビルド等) 
• もしビルドサーバーあるいはビルドファームがあれば、 
ウェブベースのUIは多人数のユーザーに機能を伝える良い 
手段 
• 自動アップデートツール 
39
堅牢性 
• たとえ不正なデータが与えられたとしてもツールはクラッシュすべ 
きではない 
• 継続する手段が全く存在しない場合以外は、エラーは非致命的であ 
るべき 
• ビルドツールはクラッシュをキャッチすべきで、中断するのでなく 
クラッシュをデータエラーとして扱うべき 
• OSのクラッシュレポートダイアログ機能をOFFにするのを忘れずに。 
• さもないとクラッシュする度にダイアログが表示されて、手動で閉 
じない限りビルドが継続しない状況に! 
40
エラーレポート 
• エラーレポートの機能をユーザーにわかりやすく提供す 
る 
• ログファイルは取り続ける 
• 計量データとクラッシュレポートは自動的に送る 
〜ユーザーは単に彼らの仕事を進めたい 
• パイプラインのできるだけ早い段階でエラーレポートし 
よう 
41
キャッシング 
• 冗長な処理を回避する 
• キャッシングは以前のビルドアセットを 
再利用でき処理の遅延を避ける事が可能 
• キャッシングは帯域幅の要求も 
また減らすことが可能 
42
効果的にデータをキャッシュする方法 
• 入力セットと共に、決定した処理として各ビルドステップを取り扱う 
• 入力データのハッシュを生成する 
• 例:SHA-1アルゴリズムは160ビットのハッシュを生成する 
• SHA-1はセキュリティが必要な機能にはおすすめできないが、 
SHA-1のコリジョン(違うデータが同じハッシュになるケース)はいまだ見つかってい 
ない 
• 複数のハッシュ結果を元に、更にハッシュを生成することも可能 
• (そのアイデアを考えるだけでどん引きしている数学者には申し訳ないです!) 
• ハッシュを使ってインデックス化した結果を格納しよう 
(シンプルな共有フォルダは多くの目的に十分適合するでしょう) 
• ヘッダの"ビルド時間"あるいは"ユーザー名"といった不要なデータ、 
あるいは初期化されていない値によってハッシュが変わることに注意しよう 
43
UIデザイン 
• オーディエンス(ユーザー)のためのユーザーインターフェース 
を調整する 
• ツールの内部構造ではなくユーザーのワークフローを意識しよう 
• 多様なUIモードはいくつかのタイプのツールに有益かも 
• 分離したオプションより「目的」を選択できるプリセットがよい 
• できる限りUIは一貫性を保とう 
44
テストとリリース 
• リリースする前にテストをしよう(!) 
• 「ベータ版」と「安定版」ブランチにリリースを分割しよう 
• データフォーマット変更に伴うリリース更新前に、ビルドサーバ 
ーやテスト環境を使って、新しい形式のデータを出来るだけキャ 
ッシュに入れよう 
• バグデータベースを設置しよう 
(可能ならユーザーが気軽にバグレポートできる仕組みを提供し 
よう) 
45
処理のスケーリング 
ビルドサーバー 
• コードあるいはデータをビルドするための専用マシン 
• 一般的に1つのマシンが最初から最後まで全体の処理を実行する 
• パイプラインとして無人ビルド処理を可能にする 
• GUIあるいはダイアログボックスを引き起こすすべての要素に注意す 
る 
(特にエラーメッセージ!) 
• 「継続的インテグレーション」とは変更されたら自動的にビルドが走る 
ことを表す 
46
処理のスケーリング 
ビルドファーム 
• 多数のマシン("ノード"とも呼ばれる) 
• 1マシンがビルドプロセスの全体を制御し、各タスクは他の全マシンに分配され 
る 
• ビルドプロセス自体ではないが、時間節約のためOSやソフトウェアの設定/ 
更新は自動化しておくべき 
• XenのようなHypervisorベースの仮想マシンのセットアップは 
システムイメージの開発やリソース管理を容易にする 
• 各ユーザーのマシンですらもノードして動作可能(夜中等マシンを使っていない 
時) 
47
クラウドコンピューティング 
• サードパーティによって運営されているレンタル可能なバーチャルマシ 
ンサーバー 
• 一般的にウェブインターフェースを通して管理する 
(管理の自動化のためのSDKと共に) 
• 仮想的に無限のコンピューティング能力を柔軟に提供可能 
• しかしながら、ローカルインターネットの帯域幅が大きな制限になりう 
る 
• セキュリティと法律上の問題をケアする必要あり 
48
まとめ 
• 様々な経験から搾り出された貴重な 
アセットパイプラインのガイドラインの共有 
• 本質的なパイプラインは10年経っても変わらない 
• 新しい動きや技術には柔軟に対応する必要あり 
• 更なる詳細 
– Production Pipeline Fundamentals for Film and Games 
– (仮)ゲーム・映像製作パイプライン構築マニュアル 
– Facebookグループ~海外TA勉強会 
49
QA 
• 質問はございますか? 
50

More Related Content

What's hot

【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~UnityTechnologiesJapan002
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化DeNA
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!エピック・ゲームズ・ジャパン Epic Games Japan
 
ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話Tomioka Yusei
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングSatoshi Kodaira
 
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例UnityTechnologiesJapan002
 
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~com044
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-com044
 

What's hot (20)

UE4におけるエフェクトの基本戦略事例 前半
UE4におけるエフェクトの基本戦略事例  前半UE4におけるエフェクトの基本戦略事例  前半
UE4におけるエフェクトの基本戦略事例 前半
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編) UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編)
 
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の作り方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の作り方UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の作り方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の作り方
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 
ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話
 
実行速度の最適化のあれこれ プラス おまけ
実行速度の最適化のあれこれ プラス おまけ  実行速度の最適化のあれこれ プラス おまけ
実行速度の最適化のあれこれ プラス おまけ
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
 
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
 
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
 
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
 
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 

Viewers also liked

中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版kinneko
 
アセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるアセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるRYUTARO OSAFUNE
 
テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~
テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~
テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~Manabu Murakami
 
Tabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってfumoto kazuhiro
 
「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて
「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて
「パブリッシングってなんぞ?」 - PlayismにおけるパブリッシングについてPlayism
 
海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみるfumoto kazuhiro
 
GTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカ
GTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカGTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカ
GTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカGame Tools & Middleware Forum
 
SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~
SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~
SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~IGDA Japan SIG-Audio
 
SIG-Audio#13 アンケート集計結果
SIG-Audio#13 アンケート集計結果SIG-Audio#13 アンケート集計結果
SIG-Audio#13 アンケート集計結果IGDA Japan SIG-Audio
 
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」IGDA Japan SIG-Audio
 
SIG-Audio#12 アンケート集計結果
SIG-Audio#12 アンケート集計結果 SIG-Audio#12 アンケート集計結果
SIG-Audio#12 アンケート集計結果 IGDA Japan SIG-Audio
 
SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」
SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」
SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」Takafumi Inamori
 
SIG-Audio#12 シューティングゲームサウンドの作り方
SIG-Audio#12 シューティングゲームサウンドの作り方SIG-Audio#12 シューティングゲームサウンドの作り方
SIG-Audio#12 シューティングゲームサウンドの作り方IGDA Japan SIG-Audio
 
SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」
SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」 SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」
SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」 IGDA Japan SIG-Audio
 
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)Game Tools & Middleware Forum
 
SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」
SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」
SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」IGDA Japan SIG-Audio
 
はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 

Viewers also liked (20)

中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版
 
アセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるアセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみる
 
テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~
テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~
テクニカルアーティストの仕事とスキル ~パイプライン系TAの事例~
 
Tabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたって
 
「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて
「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて
「パブリッシングってなんぞ?」 - Playismにおけるパブリッシングについて
 
海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる
 
GTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカ
GTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカGTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカ
GTMF 2015: Unityと連携するアセット管理ツールPERFORCE | 株式会社東陽テクニカ
 
SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~
SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~
SIG-Audio#8 効果音制作におけるアイデア~意外な所にヒントがある!?~
 
SIG-Audio#13 アンケート集計結果
SIG-Audio#13 アンケート集計結果SIG-Audio#13 アンケート集計結果
SIG-Audio#13 アンケート集計結果
 
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
 
SIG-Audio#12 アンケート集計結果
SIG-Audio#12 アンケート集計結果 SIG-Audio#12 アンケート集計結果
SIG-Audio#12 アンケート集計結果
 
SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」
SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」
SIG-Audio#13 GDC2016オーディオ報告会「サウンド向上のため最新技術を使わずとも今すぐできること」
 
SIG-Audio#12 シューティングゲームサウンドの作り方
SIG-Audio#12 シューティングゲームサウンドの作り方SIG-Audio#12 シューティングゲームサウンドの作り方
SIG-Audio#12 シューティングゲームサウンドの作り方
 
SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」
SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」 SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」
SIG-Audio#13 GDC2016オーディオ報告会「出展ブースからみるGDC」
 
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
 
Ruby everywhere
Ruby everywhereRuby everywhere
Ruby everywhere
 
SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」
SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」
SIG-Audio#13 GDC2016オーディオ報告会「日本語翻訳されないサウンドデザイン技術を求めて」
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 

Similar to 【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン

Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編Fixstars Corporation
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Web Services Japan
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全Daiyu Hatakeyama
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.JapanKohei KaiGai
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
Open dronemapハンズオン
Open dronemapハンズオンOpen dronemapハンズオン
Open dronemapハンズオンMizutani Takayuki
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudyTakahiro Iwase
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_finalTakano Masaru
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen直久 住川
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムShinya Takamaeda-Y
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~NVIDIA Japan
 

Similar to 【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン (20)

Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.Japan
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
glTF overview JP Translation
glTF overview JP TranslationglTF overview JP Translation
glTF overview JP Translation
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
Open dronemapハンズオン
Open dronemapハンズオンOpen dronemapハンズオン
Open dronemapハンズオン
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_final
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
Snapdragon-SCORER
Snapdragon-SCORERSnapdragon-SCORER
Snapdragon-SCORER
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
 

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (9)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン

  • 2. 講演者紹介 • 長舩龍太郎 – 司会進行 • バンダイナムコスタジオ(旧ナムコ)のTEC • Facebook海外TA勉強会管理人 • Ben Carter – メインスピーカー • Heavy Spectrum Entertainment Labsプログラマ • 元EA Games UKでリードプログラマー等豊富なキャリア – ハリーポッター、ニードフォースピード等 • アセットパイプライン関連書籍の執筆多数 – Production Pipeline Fundamentals、The Game Asset Pipeline等 2
  • 3. 本セッションの背景 • 昨今のゲーム開発事情 – ますますパイプライン大規模化、複雑化 • 堅牢で柔軟なパイプライン構築の重要性 – リアルタイムCG技術の向上 • 映像業界↔ゲーム業界のクロスオーバー – 双方の距離がさらに接近 – 共通点と相違点、互いの長所を短所で埋める動き • 映像業界 • ゲーム業界 3
  • 4. 本セッションの背景 • Production Pipeline Fundamentals for Film and Game(PFG本)の発売 – 映像業界⇔ゲーム業界の双方の視点から 本質的なパイプラインを体系的にまとめた良著(2014年2月) – 欧米の様々な教育機関の教科書として採用予定 • カーネギーメロン大学、サンフランシスコ州立大学等… – 日本語版もボーンデジタル様から2014年9月下旬発売予定 4
  • 5. 本セッションの概要 • 目的 – ゲーム業界⇔映像業界双方の視点からの アセットパイプラインのガイドラインの紹介 – 各アセットパイプラインの再構築、リファインのきっかけ • 対象 – アセットパイプラインにかかわってる人、興味持ってる人なら誰 でも • パイプラインエンジニア • プログラマ、テクニカルアーティスト • インハウスゲーム環境の開発者、ユーザー • 市販ゲームエンジンのユーザー等… 5
  • 6. 概要- アセットパイプライン • パイプラインが必要となる背景 • パイプラインの理論 • パイプラインの実用 6
  • 8. 本講演のモチベーション 黒歴史からの例: • サーバー上で6か月バックアップできなかった。理由はなぜか名前が3000文字のフォルダが作成さ れていて、そのファイルがバックアップソフトをクラッシュさせていたから。そして不幸にも誰 もそのファイルの消し方がわからなかったから。 • 全てのファイル名はとっても適切に命名されている。たとえば、”test01”あるいは”hogehoge"... • 新しいファイルが古いファイルを上書きしてしまう、あるいは古いファイルを"old_"をつけて リネームしたり、新しいファイルに"new", "new final", "really final3"…とか命名している。 • 作ったモデルをゲーム内で見るためは、アーティストがプログラマーにデーターをメールして、 そのプログラマーが暇な時にデータを変換することを待つしかなかった • いつでも、誰かが間違った手順を取るとビルドが一日中停止。次第に誰もが被害妄想を持って、 更新するのが億劫に… • ゲームディスクのビルドには24時間かかり、3人のプログラマーと大規模の魔術儀式が必要です。 8
  • 9. アセットとは何か? このような物: • テクスチャ、モデル、アニメーション、マテリ アル、 オーディオエフェクト、マップレイアウト、 • コリジョン・物理情報、ローカリゼーションデー タ、 スクリプト(頻繁)、シェーダー(時々) 9
  • 10. アセットとは何か? こんな方々によって作られています: • アーティスト、ライター、プログラマー、 オーディオデザイナー、スクリプター、プロデ ューサー • 自動処理 • (基本的に全員!) 10
  • 11. アセットとは何か? こんな方法で制作されている: • DCCツール(Photoshop/Maya等) • キャプチャー処理 (写真/モーキャプ/LIDAR/Photogrammetry) • インハウス編集ツール(レベルエディター等) • 自動変換ツール 11
  • 12. アセットパイプラインとは何か ?ワークフロー例1 12 テクスチャアーティストPhotoshop TGAファイル テクスチャの変更 ゲーム
  • 13. アセットパイプラインとは何か ?ワークフロー例2 メッシュの変更 13 モデラーMaya MBファイル ゲーム テクスチャアーティストPhotoshop TGAファイル テクスチャの変更
  • 14. ワークフロー • ワークフローは時と共に変動する – 一見関係のない変更の結果としてよく変わってしまう! • 技術の変動が新しい要件やツールを引き起こす – たとえば、PBR(物理ベースレンダリング)とか • その場しのぎの変更が影響を及ぼさないか注意しよう – 例:ツールのバージョン更新によって新たな機能が追加(あるいは削除)されるかもしれない • ユーザーはパイプラインが「壊れている」のすら気付かないかもしれない – 見逃したディペンデンシー(依存関係)、本来より時間がかかる処理が容易に見落とされる 可能性 14
  • 15. コンテンツの処理 15 TGAファイルテクスチャ圧縮DDSファイル メモリ内でのバイナリ変換ゲーム特有ファイルパッケージング インストーラーパッケージ
  • 16. コンテンツの処理 16 メッシュファイルライトマップUV生成頂点最適化 AOベイキングコリジョンジオメトリ抽出中間メッシュ コリジョンジオメトリ依存テクスチャの抽出 メモリ内でのバイナリ変換 ゲーム特有ファイル AOテクスチャTGA テクスチャ圧縮 DDSファイル インストーラーパッケージパッケージング テクスチャTGA テクスチャ圧縮 DDSファイル
  • 17. コンテンツの格納 • ソースデータ:バージョン管理システム (Perforce/SVN/Shotgun等)内に格納するデータ • 中間データ:ローカルストレージに格納するデ ータ、 高速キャッシュデータ • ゲームデータ:ローカルストレージに格納する データ、 ビルドディスク、アーカイブ 17
  • 18. バージョン管理とは何か? • すべての編集可能なファイルの履歴を保持 • 複数ユーザーが同時にファイル編集が可能、 (制限付きの)マージ機能のサポート • (必要ならば)複数ユーザーが1ファイルの同時編集を禁止すること も可能 • ブランチ: 他の誰にも影響を及ぼさずに、分離して機能実装あるいは実験が可 能 • アトミックトランザクション: 複数ユーザーが矛盾する結果を導くことなく同時に処理が可能 18
  • 19. 分散型バージョン管理 • 非集中型サーバー • ユーザー同士が「push」と「pull」命令でデータ交換できる • 全ユーザーがプロジェクト履歴のフルコピーを持つ事が可能 • 主にソースコード管理に有益で、アセットデータの全体サイ ズは 全ユーザーにコピーを持たすことを困難にする • 解決方法はあるが、実現するには集中型サーバーを 使用する必要がある 19
  • 20. ストレージの信頼性 • 信頼性は非常に重要 • データは決して消失してはならない • たとえユーザーが何か削除したいと言ったとしても… • 沈黙のデータ破損は実に問題 • RAMは宇宙線(Cosmic Rays)の影響で一月毎に256MB毎約1ビットがフリップされる(IBM調べ ) • ECC RAMはこのリスクを著しく軽減 • HDDは"ビットロット"に苦しむ • 様々な沈黙のデータ破損を、時間と共に引き起こすという問題を示す表現 • ZFSやBTRFSといったファイルシステム、幾つかのバージョン管理システムはエラーの感知・ 自動修復するために定期的にスキャンする 20
  • 21. ストレージの信頼性 • ダウン時間は最小にするべき • 5分(コーヒー飲みに行って帰ってくる時間)以内が望ましい • 最悪の場合でも何らかの形でユーザの作業が続けられるようにしましょ う • 冗長性とバックアップは重要です 21
  • 22. データ転送 • 帯域幅は通常パフォーマンスの大きなリミッタ • より多くのユーザー用トラフィックを扱わなければいけない 要素は注意深く考慮する必要あり • 予期しない場所でのボトルネックに警戒しよう (例:配置あるいは設定が不適切なスイッチ) • 帯域幅は特にアウトソーシングする際はよりパフォーマンスに制限がかかる • ネットワーク上の他のアプリケーションも警戒しよう • まず共通のユーザーケースを最適化しよう 22
  • 23. メタデータ • 「データについてのデータ」 • 基本的なファイルデータ – (修正日時、ユーザー名等) • アセット特有の統計データ – (タグ、サムネイル、テクスチャサイズ、ポリゴン 数等) • マネジメントデータ – (承認ステータス、詳細スケジュール等) 23
  • 24. ゲーム業界と映像業界の違い • データ量 • 「ショット」ベースのワークフロー • 非インタラクティブ、リニアメディア • プレビュー手法 • 最適化 24
  • 26. ワークフローの確認 • 含まれるアクターの確認 〜それらは人間あるいは自動化処理か • データがどこに置かれるべきか • イテレーション(作ったデータの変更)は要注 意です • 特に他の作業の結果も変更しないといけない場所 26
  • 28. イテレーション高速化の持続 28 作業処理さらに作業 処理レビュー 非常に効率が悪い!
  • 30. データレイアウト • 可逆フォーマットをできる限り使い、 ソースデータが編集可能かを確認しよう • ソースデータと中間データと最終データを分けよう • 実用的な命名規則を使おう • ストレージを適切に分離しよう • 誰が何を必要かを意識しよう 30
  • 31. ディペンデンシー(依存関係) ディペンデンシーとは何か? メッシュ変換ツールテクスチャ圧縮ツール 31 TGAテクスチャ TGAテクスチャ メッシュ TGAテクスチャ メッシュ変換テクスチャ圧縮 中間メッシュデータ DDSテクスチャ
  • 32. ディペンデンシー(依存関係) ①ワークフローディペンデンシー Xは処理を完了するためにYを必要とする (例:リギングはアニメーションつける前に必要) • 時系列と再加工の必要性を表す • 暗黙のディペンデンシーに注意しよう 32
  • 33. ディペンデンシーとは何か? ②ユースディペンデンシー Xを使用するためにはYが必要 (例:このメッシュを表示するにはこのテクスチャーが必要) • 何らかの処理(あるいはゲーム自体)を実行す るために依存するアセットの必要性を表す 33
  • 34. ディペンデンシーとは何か? ③ツールディペンデンシー XはYを使ってビルドする (例:全コリジョンデータはこのEXEを使用してビルドされる) • ワークフローディペンデンシーの特別なケース • もしツールが変更されたら、再実行する必要がある依存を表 す • (これはよくかなり骨の折れる作業) 34
  • 35. ディペンデンシーの図(一部) メッシュ変換ツールテクスチャ圧縮ツール TGAテクスチャ TGAテクスチャ 35 メッシュ TGAテクスチャ ワークフローディペンデンシー メッシュ変換テクスチャ圧縮 中間メッシュデータ ツールディペンデンシー ワークフロー ディペンデンシー ワークフロー ディペンデンシー ツールディペンデンシー ワークフロー ディペンデンシー DDSテクスチャ ユース ディペンデンシー
  • 36. ディペンデンシーの使用 • make、JAMやMSBuildといったツールは「与えられたアウトプットをビルドするために 必要なものは何か」を決めるためにこのツリーを走査している • ビルド「ルール」は望んだアウトプットを得るために連鎖させることが可能 1)TGAから実機用テクスチャフォーマットにコンパイルするルール 2)PSDファイルをTGAに変換するルール 3)TGAからフォントデータをコンパイルするルール • これら3つのルールは、TGAを実機用テクスチャにコンパイルするだけでなく、 自動的にPSDをテクスチャファイル(ルール1とルール2)あるいは フォント(ルール2とルール3)にコンパイルすることを可能にする 36
  • 37. ディペンデンシー情報の抽出 • ルールその物に書いてある情報 – 例:コリジョンデータのコンパイルは コリジョンデータコンパイラEXEに依存する • データ自体から抽出する – 例:このモデルは3つのテクスチャを使用している • 手作業で作成 – 例:あるレベルのオーディオバンクのリスト 37
  • 39. ビルドツール • すべてを自動化する • 共通タスクをバッチ処理するためのスクリプトを作成する (例:バージョン管理からの更新、全アセットのリビルド、コード のビルド等) • もしビルドサーバーあるいはビルドファームがあれば、 ウェブベースのUIは多人数のユーザーに機能を伝える良い 手段 • 自動アップデートツール 39
  • 40. 堅牢性 • たとえ不正なデータが与えられたとしてもツールはクラッシュすべ きではない • 継続する手段が全く存在しない場合以外は、エラーは非致命的であ るべき • ビルドツールはクラッシュをキャッチすべきで、中断するのでなく クラッシュをデータエラーとして扱うべき • OSのクラッシュレポートダイアログ機能をOFFにするのを忘れずに。 • さもないとクラッシュする度にダイアログが表示されて、手動で閉 じない限りビルドが継続しない状況に! 40
  • 41. エラーレポート • エラーレポートの機能をユーザーにわかりやすく提供す る • ログファイルは取り続ける • 計量データとクラッシュレポートは自動的に送る 〜ユーザーは単に彼らの仕事を進めたい • パイプラインのできるだけ早い段階でエラーレポートし よう 41
  • 42. キャッシング • 冗長な処理を回避する • キャッシングは以前のビルドアセットを 再利用でき処理の遅延を避ける事が可能 • キャッシングは帯域幅の要求も また減らすことが可能 42
  • 43. 効果的にデータをキャッシュする方法 • 入力セットと共に、決定した処理として各ビルドステップを取り扱う • 入力データのハッシュを生成する • 例:SHA-1アルゴリズムは160ビットのハッシュを生成する • SHA-1はセキュリティが必要な機能にはおすすめできないが、 SHA-1のコリジョン(違うデータが同じハッシュになるケース)はいまだ見つかってい ない • 複数のハッシュ結果を元に、更にハッシュを生成することも可能 • (そのアイデアを考えるだけでどん引きしている数学者には申し訳ないです!) • ハッシュを使ってインデックス化した結果を格納しよう (シンプルな共有フォルダは多くの目的に十分適合するでしょう) • ヘッダの"ビルド時間"あるいは"ユーザー名"といった不要なデータ、 あるいは初期化されていない値によってハッシュが変わることに注意しよう 43
  • 44. UIデザイン • オーディエンス(ユーザー)のためのユーザーインターフェース を調整する • ツールの内部構造ではなくユーザーのワークフローを意識しよう • 多様なUIモードはいくつかのタイプのツールに有益かも • 分離したオプションより「目的」を選択できるプリセットがよい • できる限りUIは一貫性を保とう 44
  • 45. テストとリリース • リリースする前にテストをしよう(!) • 「ベータ版」と「安定版」ブランチにリリースを分割しよう • データフォーマット変更に伴うリリース更新前に、ビルドサーバ ーやテスト環境を使って、新しい形式のデータを出来るだけキャ ッシュに入れよう • バグデータベースを設置しよう (可能ならユーザーが気軽にバグレポートできる仕組みを提供し よう) 45
  • 46. 処理のスケーリング ビルドサーバー • コードあるいはデータをビルドするための専用マシン • 一般的に1つのマシンが最初から最後まで全体の処理を実行する • パイプラインとして無人ビルド処理を可能にする • GUIあるいはダイアログボックスを引き起こすすべての要素に注意す る (特にエラーメッセージ!) • 「継続的インテグレーション」とは変更されたら自動的にビルドが走る ことを表す 46
  • 47. 処理のスケーリング ビルドファーム • 多数のマシン("ノード"とも呼ばれる) • 1マシンがビルドプロセスの全体を制御し、各タスクは他の全マシンに分配され る • ビルドプロセス自体ではないが、時間節約のためOSやソフトウェアの設定/ 更新は自動化しておくべき • XenのようなHypervisorベースの仮想マシンのセットアップは システムイメージの開発やリソース管理を容易にする • 各ユーザーのマシンですらもノードして動作可能(夜中等マシンを使っていない 時) 47
  • 48. クラウドコンピューティング • サードパーティによって運営されているレンタル可能なバーチャルマシ ンサーバー • 一般的にウェブインターフェースを通して管理する (管理の自動化のためのSDKと共に) • 仮想的に無限のコンピューティング能力を柔軟に提供可能 • しかしながら、ローカルインターネットの帯域幅が大きな制限になりう る • セキュリティと法律上の問題をケアする必要あり 48
  • 49. まとめ • 様々な経験から搾り出された貴重な アセットパイプラインのガイドラインの共有 • 本質的なパイプラインは10年経っても変わらない • 新しい動きや技術には柔軟に対応する必要あり • 更なる詳細 – Production Pipeline Fundamentals for Film and Games – (仮)ゲーム・映像製作パイプライン構築マニュアル – Facebookグループ~海外TA勉強会 49

Editor's Notes

  1. これは簡単なメッシュのディペンデンシーの図です。 たいていのビルドツールは内部でこのような「ディペンデンシーツリー」を使っています。 変更したファイルからツリーをたどれば、その変更によって必要な処理(しょり)が全部順番にリストアップ出来る。
  2. 自作でも第三者のでも、ツールにはいくつかの「あればすごく便利」のような機能があります。 まずは、出来るだけすべてを自動化した方が効率がいいです。ベストなのは、Maya上でファイルを保存するだけで自動的にゲーム内のメッシュでも見えることです。後ワンクリックが必要なのはそんなに悪くはないです。ツークリックはべつにいいかも。でも手順を増やせば増やすほど時間がかかって、ミスの可能性が高くなる。 同じように理想としては「ワンリックでゲームディスクが出きる」全体ビルドです。前働いていた会社ではそのためにDVDを焼けるロボットまで買いました!ウェブページでバージョンを選択してクリックすれば、数分後「ディスクが出来た」というメールが来て、後はロボットのところにいけば自分の名前が印刷してあるディスクが待っている。ファイナル期間中に無駄な時間とストレスがかなり減りました(へりました)! ツールの自動アップデートもすごく便利な機能です。ユーザにとって手間が減る(へる)し、ツールを作っている側も「古いバージョンからのバグ報告」などもなくなります。 一般ユーザ向けなアプリなら作るのは割と面倒くさいですが、社内のシステムなら自動アップデートは特に複雑じゃなくてもいいです。一つの簡単な方法は単純にツールをバーション管理システムにいれて、batch fileでツールの実行の前にバーション管理のフォルダーアップデートを実行する事です。バーション管理システムを使えば、いざとなると簡単に前のバージョンに戻す事もできる。