はじめに
Unity 2020 からは Preset や Preset Manager が便利になりました
- アセットの Preset の場合は、どのフォルダのアセットに
どの Preset を反映するか設定できるようになった - Preset の一部のパラメータのみを反映できるようになった
この記事では Preset の基本的な使い方と
上記の新しい機能の使い方を紹介していきます
目次
- はじめに
- 目次
- 検証環境
- コンポーネントの初期設定を Preset で設定する
- アセットの初期設定を Preset で設定する
- Preset で反映するパラメータを選択する
- 右クリックしてもメニューが表示されない場合
検証環境
- Unity 2020.3.13f1
コンポーネントの初期設定を Preset で設定する
例えば新規で作成した Image オブジェクトの
「Raycast Target」をデフォルトでオフにしたい場合、
Image の Raycast Target をオフにした状態でアイコンを押して
「Save current to...」を押して
Image 用の Preset を保存します
保存した Preset の「Add to Image default」を押すと
次から Image オブジェクトを作成した時に
この Image Preset の設定が反映されて Raycast Target がデフォルトでオフになります
デフォルト設定から解除したい場合は「Remove from Image default」を選択します
今、デフォルトで設定されている Preset がどれか確認したい場合は
Project Settings の Preset Manager の欄で確認できます
アセットの初期設定を Preset で設定する
例えば Unity プロジェクトに
「Background」と「Tilemap」のテクスチャを管理するフォルダがあり
Background フォルダに追加されたテクスチャには Background 用の Preset を、
Tilemap フォルダに追加されたテクスチャには Tilemap 用の Preset を反映させたい場合、
Project Settings の Preset Manager の「Add Default Preset」を押して
「TextureImporter」を押して
上記のようにリストの要素を2つ作成して
それぞれに Background 用の Preset と Tilemap 用の Preset を設定し、
そして、Background 用の Preset の Filter の欄には
glob:"Assets/Textures/Background/*.png"
上記の文字列を入力、Tilemap 用の Preset の Filter の欄には
glob:"Assets/Textures/Tilemap/*.png"
上記の文字列を入力します
このように Filter の欄を活用することで
同じ種類のアセットでもフォルダごとに違う Preset を適用できるようになります
Preset で反映するパラメータを選択する
デフォルトでは Preset を反映する時は
その Preset が持つすべてのパラメータが反映されます
例えばテクスチャの Preset を反映する時に
「Alpha Is Transparency」は反映されないようにしたい、といった場合は
反映したくないパラメータを右クリックして「Exclude Property」を押すと
Preset 反映時にそのパラメータは無視されるようになります
Inspector のヘッダの部分を右クリックして
「Exclude all properties」を押すと、すべてのパラメータを無視するようになり、
「Include all properties」を押すと、すべてのパラメータを反映するようになります
無視したいパラメータが多くて1つ1つ右クリックして
「Exclude Property」を押すのが大変な場合は、「Exclude all properties」してから
反映したいパラメータを右クリックして「Include Property」を押す、
といった使い方が可能です
右クリックしてもメニューが表示されない場合
エディタ拡張の影響か、パラメータの中には
右クリックしても「Exclude Property」や「Include Property」を実行するメニューが
表示されない場合があります
そのため、例えばテクスチャのプラットフォームごとの設定は Preset で反映したいが、
それ以外のパラメータは無視したい、という設定がデフォルトだとできない状態です
対策としては、
まず、「Exclude all properties」を押して
すべてのパラメータを無視するように設定してから
Inspector を Debug 表示にします
すると、「Excluded Properties」の一覧で
テクスチャのパラメータをすべて無視するようになっていることが確認できるので
その中からプラットフォームごとの設定を管理するパラメータの名前を探し出し、
右クリックして「Delete Array Element」を押します
こうすることで、
テクスチャのプラットフォームごとの設定のみを反映できる Preset が完成します
このように、右クリックしてメニューが表示されないパラメータが存在し、
無視設定がうまくできない場合は、Inspector のデバッグ表示を活用すると対応できます