LoginSignup
36
14

More than 3 years have passed since last update.

[Unity] Unity2018の新機能Presetを使ってみた

Last updated at Posted at 2018-01-31

Unity2018で追加された機能「Preset」を触ってみます。

実行環境

  • Unity2018.1.0b4
  • 追記: Unity2019.2.0f1

Presetで出来ること

コンポーネント/アセットの値のファイル書き出し

Unity2018からは下記のようなアイコンがコンポーネント上に表示されるようになります。

preset.png

これはフォントや画像、音声といったアセットにおいても同等です。

preset2.png

この動線から Save current to... を選択することでPresetファイルを書き出すことができます。
Presetファイルにはそのコンポーネントやアセットにおける設定値が保持されます。

preset.gif

Presetをコンポーネントに適応する

上記で出力されたPeset(設定値)を特定のコンポーネント/アセットに適応することができます。
コンポーネント/アセットからPresetアイコンを選択し、適応したいPresetを選択します。

preset2.gif

また適応したいコンポーネント/アセット名にPresetアセットをドラッグしても適応できます。

preset3.gif

特定のPresetをデフォルト値とする

Presetアセットの Set As ~~~ Default の導線を選択することでデフォルト値を設定できます。
設定された値は、AddComponentもしくはアセットインポート時に適応されます。
当然ながら、同一のコンポーネント/アセットにおいて複数設定することはできません。

preset4.gif

Presetにおける注意事項

Hierarchy/Menu経由でCreateした場合にデフォルト値が適応されない

追記(20190731)

Hierarchy/Menu経由でCreateした場合にデフォルト値が適応されない

Unity2019.2にてuGUIのケースにて解消されました!

======

Unity2018.1.0b4までのバージョンにおいて
Hierarchy/Menu経由でCreateした場合にはデフォルト値が適応されないことを確認しました。
(Unity初期値が設定されたPrefabをInstantiateしているような挙動)

preset5.gif

ちなみにResetをすることでデフォルト値が反映されます。

preset6.gif

Prefabと異なり、Preset自体の変更は伝搬できない

Prefabは変更をApplyすることで、Scene上に配置したコンポーネントに変更を伝搬することが可能ですが
Presetアセットを変更しても、既にScene上に配置したComponentやアセットには適応されません。
この場合、再度Presetを指定して変更を反映する必要があります。

preset7.gif

Presetの良いと感じた部分

Prefabと違って対象のComponent以外を管理対象にしなくてよい

Prefabの場合、管理したいコンポーネント以外の情報も保有します。
Presetを使用することで、最小限の運用を行うことができます。

デフォルト値が設定できる

画像や音声など一括で同一の設定を持っておきたいアセットの設定に重宝するでしょう。
(アセットの設定を持てることがそもそもPresetの大きなアドバンテージとなります)
また UI.TextUI.Image において RaycastTarget を外しておき
下に描画されたボタンのタッチを阻害する事故を防ぐようなこともできるでしょう。

36
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
14