Help us understand the problem. What is going on with this article?

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

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 を外しておき
下に描画されたボタンのタッチを阻害する事故を防ぐようなこともできるでしょう。

unity-game-dev-guild
趣味・仕事問わずUnityでゲームを作っている開発者のみで構成されるオンラインコミュニティです。Unityでゲームを開発・運用するにあたって必要なあらゆる知見を共有することを目的とします。
https://unity-game-dev-guild.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした