概要
下図のように色違いのオブジェクトを作りたいとしましょう。

もちろん、オブジェクトを複製してマテリアルも複製すればできます。
しかし、カスタムプロパティを使ってリンク複製すれば以下のメリットがあります。
- データがコンパクトになる
- 修正を1ヶ所でできる
- 個別設定可能なものがわかりやすくなる
- オブジェクトを使い回ししやすくなる
ここでは、カスタムプロパティを使って、色違いのオブジェクトを作成する方法を説明します。
オブジェクトとメッシュとマテリアル
まず、オブジェクトとメッシュとマテリアルの関係を説明します。
メッシュで作成したオブジェクトは、メッシュを持っています。
そしてメッシュは、マテリアルを持っています。
オブジェクトを複製するとメッシュも複製されます。
また、オブジェクトの複製で複製されたメッシュは元のマテリアルと同じマテリアルを参照しています。
ここでは、オブジェクトの複製ではなく、オブジェクトのリンク複製を行います。
オブジェクトのリンク複製を行った場合、オブジェクト自体は新しく作られますが、メッシュは同じものを参照します。マテリアルはメッシュが持っているので、マテリアルも同じになります。
色はマテリアルで設定されているので、通常、リンク複製で色を変えることはできません。
しかし、カスタムプロパティを使うと、リンク複製したオブジェクトで色を変えることができます。
カスタムプロパティとは
カスタムプロパティは、オブジェクトで自由に設定できるプロパティです。
メッシュではなくオブジェクトが持っているのでリンク複製したオブジェクトでも別々の値を設定できます。
また、マテリアルのノードから参照することもできます。
カスタムプロパティの作成
カスタムプロパティは、オブジェクトを選択して表示されるオブジェクトプロパティの一番下にあるカスタムプロパティから作成できます。

ここでは、色として使えるカスタムプロパティを作成します。
新規ボタンを押してください。作成されたカスタムプロパティにある歯車のボタンを押して下記のように編集してOKを押してください。

※ デフォルトではサブタイプが非表示ですが、タイプにFloat配列
を選ぶと表示されます。
作成したカスタムプロパティは、オブジェクトプロパティで設定可能ですが、下図のようにサイドバーのアイテムタブでも可能です。サイドバーの方が使いやすいでしょう。

※ サイドバーの項目は、ドラッグで位置を変更できます。デフォルトでは項目プロパティはパネル下部に表示されています。
マテリアルでカスタムプロパティを使う
マテリアルでカスタムプロパティを使うには、ノードを使う必要があります。
オブジェクトを選択し、shadingワークスペースを開きます。
まだマテリアルを作成していなければ「新規」で作成します。
-
Shift + A
(追加)→入力→属性で属性ノードを追加します。 - タイプをオブジェクトにします。
- カスタムプロパティを表示し、色のところで右クリックし「データパスをコピー」を選びます。
- 属性ノードの名前の欄でペーストします。うまくペーストできなければ、下図のように直接
["color"]
と入力してください。 - 属性ノードのカラーとプリンシプルBSDFのベースカラーをつなぎます。

これで、カスタムプロパティで設定した色が反映されます。
あとは、Alt + D
(リンク複製)※で作成したオブジェクトのカスタムプロパティを変更して色違いにできます。
※ macOSではOption + D
以上