🖱️

【clusterスクリプト】クリックすると見た目が切りかわるスクリプト

2024/02/17に公開

クリックすると見た目が切りかわるシンプルなスクリプトです。
ワールドクラフトでも使えます。

サンプルプロジェクト

https://vins-jp.sakura.ne.jp/zip/CraftInteractTest.zip
サンプルプロジェクトはこちらからダウンロードし、解凍してUnity(のclusterで指定されたバージョン)で開いてください。


「クラフトアイテム」フォルダに入っているアイテムはそのままクラフトアイテムとしてアップロード可能です。

初期状態


このように、model_0というアイテムだけ表示されているのがポイントです。
アイテムをクリック(Interact)するたび、表示されるものが切りかわっていきます。Aのほうは見た目とクリックできるところが一致しており、2つの見た目が切りかわりますが、Bのほうは小さい四角のほうだけ反応し、3つの見た目が切りかわります。

注意点

clusterのクラフトアイテムの注意点として、マテリアルは2種類までしか使えません。
マテリアルを3個とか4個とか使わないようにしましょう。

スクリプト

アイテムの子には「model_0」とか「model_1」とかいう見た目がついています。
これをクリック(Interact)するたび、表示・非表示をスクリプトで切りかえていくだけです。

以下はmodel_0とmodel_1の2個の例です。
3個の例の場合は、nodesMaxの後を3にするだけです。

const nodesMax = 2; //2個のノードを作成

var nodes = [];
for(var i = 0;i < nodesMax;i++) {
  var node = $.subNode("model_" + i);
  nodes.push(node);
}

$.onStart(() => {
  $.state.nodeNo = 0;
});

$.onInteract(() => {
  nodes[$.state.nodeNo].setEnabled(false);
  $.state.nodeNo++;
  if($.state.nodeNo >= nodes.length) {
    $.state.nodeNo = 0;
  }
  nodes[$.state.nodeNo].setEnabled(true);
});

Discussion