「マテリアルプロパティ操作 API」を使うと、マテリアルのプロパティを操作することができます。例えば、マテリアルの色を変えたり、シェーダーと組み合わせると頂点を動かして波のような表現をつくることもできます
マテリアルプロパティ操作 APIは、クラフトアイテムでは baseColor と emission、Cluster Creator Kit 製のワールドではそれ以外のシェーダーで公開されているプロパティの値が設定できます。
今回は基本的な例として「クリックする度にランダムにマテリアルの色が変わるクラフトアイテムをつくる」のつくり方とサンプルコードを紹介します。
- マテリアルプロパティ操作 API
基本的な使い方
マテリアルを操作したいオブジェクトにItemMaterialSetList コンポーネントを設定する
マテリアルプロパティ操作 APIを使用するためには、 ItemMaterialSetList コンポーネントを設定する必要があります。
Scriptable Itemがついたオブジェクトにつけるかその子のオブジェクトにつけてSubNodeで指定してください。ItemMaterialSetList に設定する際に ID として指定した文字列が、スクリプトでマテリアルを取得するための文字列となります。

「クリックする度にランダムにマテリアルの色が変わるクラフトアイテムをつくる」のサンプルコード
ClusterScript に新たに追加された material という API を実行することによって、操作対象のマテリアルの MaterialHandleを取得できます。
今回は基本的な使い方として「クリックする度にランダムにマテリアルの色が変わるクラフトアイテムをつくる」の例とサンプルコードを掲載します。

$.onInteract(() => {
const mat = $.material("base");
mat.setBaseColor(Math.random(), Math.random(), Math.random(), 1);
});クラフトアイテムでは、setEmissionColor を使ってEmission(光の強さ)を変えることもできます。Cluster Creator Kitであれば他のプロパティも操作できるので、ぜひ MaterialHandle のスクリプトリファレンスを見てみてください。

今回は紹介しませんが、シェーダーと組み合わせることで波のような表現がつくれたり、アイデア次第で色々な表現をつくることができます。興味ある方はぜひ触ってみてください。





















