Slide 1

Slide 1 text

Asset Regulation Manager よく使う設定逆引きリファレンス コアテク 矢野 2022.07.09

Slide 2

Slide 2 text

Chapter : 01 はじめに

Slide 3

Slide 3 text

本LTの概要 ● このLTでは Asset Regulation Manager でよく使う設定を逆引き的に紹介します ● ARM のバージョンは 1.1.0 を想定(これを話す時までにはリリース予定) ● シンプルな設定から入り、後半ほど応用的な設定を紹介します ● 全ての機能を網羅してるわけではありません ● 基本的な使い方は省略、使ってて困った時の逆引きリファレンス資料という位置付け

Slide 4

Slide 4 text

Asset Regulation Managerとは? アセットレギュレーション(テクスチャサイズなど)の自動テストツール MITのOSS、GitHubで公開中 https://github.com/CyberAgentGameEntertainment/AssetRegulationManager

Slide 5

Slide 5 text

テクスチャのサイズが正しいか Chapter : 02

Slide 6

Slide 6 text

テクスチャサイズが正しいか Texture > Max Texture Size 制約を使う 縦横の最大ピクセル数を指定する(合計テクセル数でも指定可能) Texture2D 型に対応 CubeMapとかTexture3Dとかも対応した方がいいなと今思った(後でやります)

Slide 7

Slide 7 text

テクスチャフォーマットが正しいか Chapter : 03

Slide 8

Slide 8 text

テクスチャフォーマットが正しいか Texture > Texture Format 制約を使う プラットフォームとフォーマットを指定する 以下はiOSにおいてフォーマットを ASTC に制約している図

Slide 9

Slide 9 text

モデルの頂点数が正しいか Chapter : 04

Slide 10

Slide 10 text

モデルの頂点数が正しいか Vertex > Max Vertex Count コンストレイントを使う Mesh か GameObject(Prefab / FBX)に対して有効 GameObject の場合、 依存するメッシュの頂点数の和をチェック対象とする GameObject の場合、Max Count 以外のパラメータも有効になる

Slide 11

Slide 11 text

フォルダ内のテクスチャの総テクセル数 Chapter : 05

Slide 12

Slide 12 text

フォルダ内のテクスチャの総テクセル数 「このフォルダ内の共通テクスチャ全部で何テクセル以内」みたいなケースを想定 まず Targets タブにおいて、以下のいずれかの方法でフォルダを指定する必要がある 1. Object Filter で Folder Targeting Mode を Self にしてフォルダ指定 2. Asset Path Filter で Match With Folder にチェックを入れつつ、Type Filter に DefaultAsset を指定する

Slide 13

Slide 13 text

フォルダ内のテクスチャの総テクセル数 次に Texture > Max Texel Count in Folder 制約を使う 対象フォルダ内の全てのテクスチャのテクセル数の和が Max Count 内に収まっているかを テストできる

Slide 14

Slide 14 text

ファイルの命名規則があってるか Chapter : 06

Slide 15

Slide 15 text

ファイルの命名規則があっているか File > Asset Path 制約を使う Path Type を Asset Name か Asset Name Without Extensions に設定 正規表現で命名規則を入力 下図はファイル名の命名規則が tex_character_[数字3文字] なことをチェックする例

Slide 16

Slide 16 text

ファイルが配置されているフォルダが合ってるか Chapter : 07

Slide 17

Slide 17 text

ファイルが配置されているフォルダが合っているか File > Folder 制約を使う 当該フォルダに含まれること or 含まれないことをチェックできる Top Folder Only にチェックを入れると、フォルダ直下にある場合のみテストが通る

Slide 18

Slide 18 text

ファイルが配置されているフォルダが合っているか File > Asset Path 制約を使うこともできる Path Type を Parent Folder Name か Parent Folder Path に設定する 正規表現でフォルダ名 or フォルダパスの命名規則を入力する

Slide 19

Slide 19 text

フォルダに不正な型のファイルが紛れていないか Chapter : 08

Slide 20

Slide 20 text

フォルダに不正な型のファイルが紛れていないか フォルダごとアセットバンドルにしてたりすると余計なものが入っていないことをチェック する必要がある File > Asset Type 制約を使う Match With Derived Types にチェックを入れると派生型でもテストを通過する

Slide 21

Slide 21 text

Prefabが正しいテクスチャを参照してるか Chapter : 09

Slide 22

Slide 22 text

Prefab が正しいテクスチャを参照しているか まず、あるアセットが依存するアセットをテスト対象にするには Dependent Object Filter を使う Only Direct Dependencies にチェックを入れると直接参照してるもののみが対象となる さらに Type Filter を使うと、特定の Prefab が依存するテクスチャ全てをテスト対象にで きる 正規表現のアセットパスなどで指定できた方がいい気が今した(後で考えます)

Slide 23

Slide 23 text

Prefab が正しいテクスチャを参照しているか 前述の File > Folder 制約や File > Asset Path 制約を使って、依存しているテクスチャの パスが正しいかなどを確認する テスト対象のアセットパスを Regex.Replace できた方がいい気がしてきた(後で)

Slide 24

Slide 24 text

使ってはいけないシェーダキーワードを使ってないか Chapter : 10

Slide 25

Slide 25 text

使ってはいけないシェーダキーワードを使っていないか キーワードを制限してシェーダバリアントを絞り込んでいる場合に使う Material > Shader Keyword 制約を使う マテリアルに対して、シェーダキーワードが有効 or 無効になっていることをチェックでき る