Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Addressableアドレス自動付与ツール「Smart Addresser」の概要と使い方
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Haruki Yano
April 17, 2023
Programming
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Addressableアドレス自動付与ツール「Smart Addresser」の概要と使い方
Haruki Yano
April 17, 2023
More Decks by Haruki Yano
See All by Haruki Yano
【Unity】リリース時にデバッグ用リソースをちゃんと消す方法
harumak
1
2.7k
Asset Regulation Manager よく使う設定逆引きリファレンス
harumak
0
260
無限スクロールビューライブラリ 二つの設計思想比較
harumak
0
2.9k
Other Decks in Programming
See All in Programming
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
660
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
250
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
Building an Out-of-Order CPU
latte72
0
610
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
What We Talk About When We Talk About XP
m_seki
2
310
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.6k
ALB ログから Trace を気合で繋げる技術
fohte
7
860
Press start. Python's next generation.
willingc
PRO
3
300
FDEとは、何者なのか?
masapyon1212
0
130
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
ラッコキーワード サービス紹介資料
rakko
1
4.7M
Color Theory Basics | Prateek | Gurzu
gurzu
0
450
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
The Curious Case for Waylosing
cassininazir
1
490
Leo the Paperboy
mayatellez
8
2.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Transcript
Addressableアドレス自動付与ツール 「Smart Addresser」の概要と使い方 SGEコア技術本部 2023.04.13 矢野春樹
SmartAddresser ついさっき100Starsに!
Smart Addresserの概要 Chapter : 01
アドレス付与、どうしてますか?
手動 Drag & Drop
自動化 ※処理は適当です
書いた人以外にわかりづらくなりがち 車輪の再発明しがち
None
Smart Addresserの基本的な使い方 Chapter : 02
Addressable Groupを作る 普通にAddressableのウィンドウから作る SmartAddresserは、Addressable Groupを作ったり、その設定を変更したりはしません ※ このあたりやりすぎると色々とカオスになるため(どこまでやるのか難しくなる)
Layout Rule Dataを作る Smart Addresserのユーザデータを保存するScriptable Object Assets > Create >
Smart Addresser > Layout Rule Data から作る
制御するAddressable Groupを決める 前ページのLayout Rule Dataをダブルクリックして下図のウィンドウを開く Smart Addresserで制御するAddressable Groupにチェック チェック
アドレス付与対象のアセットを設定する Addressable Groupを選択し、右側のAsset Groupsタブから「+」ボタンを押下し このAddresable Groupに含めるアセット群を決めていく 「全アセットから対象のアセットをフィルタリングしていく」という考え方 図は「Rockフォルダ配下の拡張子がprefabのもの」全てをアドレス付与の対象としてる図 Rockフォルダ内 拡張子がprefab
カスタムアセットフィルタ いろんなフィルタがあります 独自のアセットフィルタも作れます マスタデータに定義されているIDを含むアセットだけフィルタリングとか
アドレスプロバイダーを設定する 右側のAddress Providerタブからアドレスの付与方法を設定 アセットパスをアドレスにしたり、アセット名をアドレスにしたり 正規表現を使ってReplaceした結果をアドレスにすることも可能 Assets/Prefabs/Characters/0001.prefab → pfb_ch_0001 みたいな Address
Provider タブ アセットパス/アセット名.. 正規表現設定
カスタムアドレスプロバイダー 独自のアドレスプロバイダーも作れます マスタデータに定義されているアドレスを付与したいとか ※これ以降省略しますが、基本的にこういう拡張性あるべきところに全て入れてます
適用する 右上のメニュー > Apply to Addressables もちろん適用するためのCLIもあります
自動適用 Project Settings > Smart Addresser > Primary Data に設定した
Layout Rule Dataはアセット追加・移動時に自動的に適用される(差分のみ) このルール自体に変更を加えた際には全適用する
ラベルも大体同じ Label Rulesタブから設定できる Asset Group と Label Providerを設定して付与できる パスにPlayer/Enemyを含む全Prefabにcharacterというラベルを付与するとか Label
Rulesタブ
Layout Viewerでチェック 現在の設定に基づいて実際にプロジェクト内のアセットがどうレイアウトされるか見れる エラーや警告があったらその詳細も見れます バリデーションするためのCLIもあります
バージョン管理機能 Chapter : 03
バージョン管理機能とは アセットごとにバージョン(semver)を振れる 指定したバージョンアセットのみをAddressableに適用できる e.g. バージョン1.0.0以上2.0.0以下のアセットのみをAddressableに適用 ※ オプショナルな機能なので使わなくてもOK 1.0.0 1.1.0 1.2.0
2.0.0 2.1.0 2.2.0 3.0.0 3.1.0 3.2.0 バージョン1.0.0以上2.0.0以下のアセットだけを適用
設定方法は大体ラベルと同じ Version Rulesタブで設定
適用前にバージョン範囲を指定 Settingsタブでバージョンの範囲を指定できる 指定方法はUnityのVersionDefinesに準拠するように作っています 例えば1.0.0以上1.2.0未満だったら [1.0.0,1.2.0) みたいな感じ 独自のバージョン範囲解釈クラス(VersionExpressionParser)を使うことも可能 バージョンの範囲を指定 バージョン振ってないアセットを除外するならチェック
依存関係に注意 バージョン管理機能はあくまで対象のアセットをAddressableに登録しないだけです 当然ながら、リリース可能バージョンのアセットから、リリース不可能バージョンのアセッ トへの依存がある場合には、Asset Bundleにリリース不可能バージョンのアセットが暗黙 的に含まれます 実際のユースケースを考えるとそもそもアセットの作り方をミスってない限りそんなことは 起こらないはずですが、一応ご注意を (そういうミスの検知にはAsset Regulation
Managerがおすすめです) 1.0.0 3.0.0 リリース可能 リリース不可能 参照してたら 含まれてしまう
ぜひ使ってみてください github.com/CyberAgentGameEntertainment/SmartAddresser