MRが楽しい

MRやVRについて学習したことを書き残す

UnityでAssetsのファイルを複製する

本日は Unity の技術調査枠です。
UnityでAssets内のファイルをコピーする方法について確認します。

例えば以下の Cube.prefab を複製して少しだけ設定を変更したファイルを作成したいケースがあるとします。
f:id:bluebirdofoz:20180209063312j:plain

Unity 上で Cube.prefab を Ctrl+C -> Ctrl+V してもコピーペーストはできません。
Assets のファイルを複製する場合、Edit -> duplicate で複製する必要があります。
f:id:bluebirdofoz:20180209063337j:plain
ショートカットキーは Ctrl+D キーです。

以下の通り、ファイルが複製されました。
f:id:bluebirdofoz:20180209063356j:plain

複製(Ctrl+D)はそのオブジェクト自身のみが複製され、参照しているオブジェクトは複製されないことに注意します。
例えば、以下のような Sqhere と Cube を持ったオブジェクトファイルを複製します。
f:id:bluebirdofoz:20180209063416j:plain

このとき、複製した側の Sqhere オブジェクトのマテリアルを黄色に変更してみます。
f:id:bluebirdofoz:20180209063449j:plain

すると複製元の Sqhere オブジェクトの色も変わってしまいます。
f:id:bluebirdofoz:20180209063503j:plain
これは複製元も複製後のオブジェクトも、同じ Sqhere オブジェクトを参照しているためです。

マテリアルも自動では複製されないので、複製元と複製後で色を変えたい場合はマテリアルも同じように複製し、その参照先を分ける必要があります。
f:id:bluebirdofoz:20180209063601j:plain