Pacemakerで簡単・手軽に クラスタリングしてみよ ード SBYノード ACTノード SBYノード Pacemaker リソース Pacemaker リソース Pacemaker リソース
【Unity道場】AssetGraph入門...
-
Upload
unitytechnologiesjapan -
Category
Technology
-
view
5.530 -
download
0
Transcript of 【Unity道場】AssetGraph入門...
1
Mad
e w
ith U
nity
: A
DA
M
AssetGraph入門山村 達彦
2
3
予定● 前半
○ Asset Graphの紹介
○ AssetGraphの機能
● 後半
○ デモ(AssetBundleを作る)
○ デモ(設定の変更を作る)
○ デモ(Prefabのセットアップ)
4
AssetGraphってなんぞや?
5
6
アセットのフローを改善するもの
● アセットの操作に特化したシステム
● 手作業のオペレーションを削減する
● 汎用的なノードの組み合わせで複雑な設定を表現
● C#で容易に拡張が可能
● 大量のファイル操作に強い
7
アセットの一括生成。アセットの一括更新。アセットの一括バンドル化。
グラフィカルに。
8
なんでそんなモンが必要に?
9
10
11
12
13
A社 B社
C社
14
「TextureからPrefab作る拡張、作れる?」
「お任せあれ」
「この前のアレなんだけど、 ちょっと設定を変えれる?」
「反応無いけど大丈夫? 出来たら連絡ヨロ」
「おーい?」
15
拡張作るはプログラマ? 動作の修正にはプログラマが必要、もしくはどんな設定にも対応できるような汎用的な実装が必要(大変)
16
17
● アセット操作をコーディング無しに作成できる。ノードを作って接続していくだけで、必要なアセットを作成できる
● ビルドするときに、何が起こるのかがわかるグラフィカルに確認できる
● ルールベースでパイプラインを構築できる名前やパスといったルールで動作を定義できる
18
ちなみに・・・
19
2年前・・・
20
AssetBundle Browser AssetBundle Graph Tool
AssetBundle Manager
21
22
AssetBundle Browser
アセットの登録や依存関係を視覚的に制御・確認できる
暗黙的なアセット参照の問題
AssetBundle Graph Tool
AssetBundleの生成をルールベースで一括処理する
複雑なアセット管理の面倒さ
23
「このツールでPrefabとか作りたいんだけど、どうやるん?」
24
!
25
「ABGTでPrefabとかも作れたら便利だな」
「もういっそアセット制御全般に使おうぜ」
「それ、最早 ”AssetBundle” Graph Toolじゃなくね?」
「おk、名前を変えよう」
「Asset Flow Special Graph Toolとかどうよ?」
「ダサい」
「臭い」
「長い」
26
Mad
e w
ith U
nity
: A
DA
M
Asset Graph Tool
27
Asset Graph Toolの立ち位置
● オープンソースで展開(Github、Bitbacket)
28
Asset Graph Toolの立ち位置
● オープンソースで展開(Github、Bitbacket)
● 標準ツールとしてPackman経由で配信予定
NavmeshPostProcessingStackUGUISRP
Unity Package Manager
29
Asset Graph Toolの立ち位置
● オープンソースで展開(Github、Bitbacket)
● 標準ツールとしてPackman経由で配信予定
● 作ってるのは日本人
今なら要望には割と答えられるかもしれない
We need feedback
30
Asset Graph Toolの立ち位置
● オープンソースで展開(Github、Bitbacket)
● 標準ツールとしてPackman経由で配信予定
● 作ってるのは日本人
今なら要望には割と答えられるかもしれない
● 別口の手動ワークフローとして Preset も出る
31
AssetGraphには、どんな機能があるの?どうやって使うの?
32
● ノードを繋いで処理を行う
● 処理の内容を確認できる
● アセットを監視し、変化したら処理を行う
● 複数のグラフを複数プラットフォーム向けにバッチ処理できる
機能概要
33
ノードを繋いで処理を行う
34
35
見つける
操作対象を決める
抽出する
まとめる
アセットを作る
設定を書き換える
ビルドする
絞り込む 何かする
36
見つける
スプライトフォルダから Textureを
抽出する
名前を元にまとめる
アニメーションを作る
絞り込む 何かする
37
uWalk (01~14)
uRun (01~18)
uBrake (01~18)
Walk
Run
Brake
38
uWalk (01~14)
uRun (01~18)
uBrake (01~18)
Walk
Run
Brake
Breake
RunBrake
u*
見つける 絞り込む 何かする
39
uWalk (01~14)
uRun (01~18)
uBrake (01~18)
Walk
Run Brake
Breake
RunBrake
u*
Idle (01~6)Attack (01~6)
IdleAttack
IdleAttack
見つける 絞り込む 何かする
40
41
アセットを作る
設定を書き換える
ビルドする
何かする見つける
操作対象を決める
抽出する
まとめる
絞り込む
42
アセットを作る
設定を書き換える
ビルドする
43
アセットを作る
設定を書き換える
ビルドする
44
アセットを作る
設定を書き換える
ビルドする
45
DEMO
46
アセットを変更したらPrefabにも反映
47
操作対象を決めるノード
48
Textureをインポートして
スプライト作って
Prefabを作る
49
処理の内容を確認する
50
基本な流れ(処理を確認する)
スプライトフォルダから Textureを
抽出する
名前を元にまとめる
アニメーションを作る
ちゃんと抽出できる?
設定は正しい?
ちゃんとグループ化できた?
51
52
処理したアセット一覧表示
53
何か設定がおかしいアセットがある…
ログで確認 操作したノードをハイライト
54
55
各プラットフォーム向けにバッチ処理
56
バッチ処理
Prefab設定のグラフ
Sprite構築のグラフ
AssetBundleビルドのグラフ
57
グラフを登録して、 処理を実行する
58
ドラッグ&ドロップ
59
ビルドしたいプラットフォームを
指定
60
$> sh -e buildassetbundle.sh -target WebGL MyGraphNameToRun
61
● ノードを繋いで処理を行う
● 処理の内容を確認できる
● アセットを監視し、変化したら処理を行う
● 複数のグラフを複数プラットフォーム向けにバッチ処理できる
機能概要
62
63
Asset Graphの拡張
64
● IModifier● IPostprocess● IFilter● IAssetGenerator● IPrefabBuilder● IAssetImporterConfigurator
65
66
67
68
69
70
71
72
Mad
e w
ith U
nity
: A
DA
M
後半に続く
73
実際に使ってみる(AssetBundleを作る)
74
実際に使ってみる(設定の変更)
75
実際に使ってみる(Prefabのセットアップ)
76
Mad
e w
ith U
nity
: G
ener
ativ
e A
rt
まとめ
77
● AssetGraphはノードベースで一括操作するときに便利な機能
● なんか一括処理とかするやつはコレ使って楽しよう(提案
● ノードは割と簡単に拡張できる
● 将来的には標準化する予定
● 求む現場のフィードバック
まとめ
78
79
Mad
e w
ith U
nity
: M
onum
ent V
alle
y 2
by u
stw
o G
ames
Thank you