👌

clusterイージースクリプト・ベータ用部分0.20

2024/07/24に公開

まだ「clusterイージースクリプト」のインストールが済んでいない人は先に済ませてくださいね。
こちらの記事からどうぞ。

ベータ用部分のインストール

https://vins-jp.sakura.ne.jp/pack/020_beta_easyscript.unitypackage
unitypackageをまたUnityのプロジェクトの適当なとこにドラッグアンドドロップし、「インポート」してください。
あくまで 「clusterイージースクリプト」にプラスとして追加するものなので、先にイージースクリプトをインストールしておいてください。

ベータ機能などをONにする


まず「Cluster」-「設定」からベータ機能をONにします。


「ゲームオブジェクト」-「空のオブジェクトを作成」でオブジェクトを作り、名前を適当に変更。


インスペクターから「コンポーネントを追加」で「World」などと入力し、World Runtime Settingsを追加しましょう。


あとは「Use Cluster HUD v2」をONにしてください。

ボールのサンプルを置いてみる


「「ベータボールサンプル」をシーンにドラッグアンドドロップし、Unityの再生ボタンを押してみましょう。


近づくだけで、プレイヤーの向いている方向にボールが蹴れたはずです。
clusterベータでないと使えない、物理で動くボールですね。

他のサンプル

「ベータ持ち物サンプル」は使っている間プレイヤーが上昇します。ただCS Emulatorとclusterでは挙動が違い、cluster上だと安定して上昇し続ける感じです。

「ベータ乗り物サンプル」は乗ると弾が出て、左クリックすると大きな弾発射、[E]キーで強制下車、[R]キーで弾をストップさせます。視線を動かすだけで狙いを変えられるのも特徴です。



いずれも新しいPlayerScript機能を使っています。「_pl基本イージー」といったスクリプトがついていることがわかりますね。
新しいタイプのボタンを出すなどするにはPlayerScriptがないといけないのです。

ボタンでダンスさせるサンプル

ダンスのサンプルはちょっと配置が特殊です。


まずこんな感じで、「生成ワープボタンサンプル」を配置し、「Plane」をもう1つ作ってください。


2つめのPlaneはこんな位置とサイズがいいでしょう。なお、Minimal Sampleに含まれているPlaneは「見た目」と「コライダー」が分かれていることに注意してください。別途Quadを作って似た場所に配置してもいいですね。

では、Unityの再生ボタンを押しましょう。
オレンジのボタンを押すとワープし、そしてボタンが表示されます。


左クリックと右クリックで違うモーションが表示され、[E]キーを押すと元に戻ります。

ここで「生成ワープボタンサンプル」と、「ベータダンスサンプルの」「ベータダンススクリプト.js」は毎回似たような中身を使い回せばいいのであまり説明しません。
やっていることはこちらの記事に近いです。

PlayerScriptの中身

PlayerScript用の「plダンススクリプト.js」だけ見ておきましょう。

ee.pstart = () => {
	showButton(0);
	showButton(1);
	showButton(2);

    setAnim(2);
}

ee.pbutton = (no, isOn) => {
	if(isOn) {
		if(no == 2) {
			setMotion(-1);
		} else {
			setMotion(no);
		}
	}
}

PlayerScriptではstartではなくee.pstartというのを使います。

まずボタンを3つ表示していますね。0番からスタートして、2番まで(3つ)あります。
なお、今のclusterではVRだとボタンが表示されないことに注意してください。VRにも対応したい場合は「VRかどうかの判定」などが必要になってきます。


それからsetAnimでモーションを2つ登録しています。
これはHumanoid Animation Listというコンポーネントで登録したモーションです。
IDは「anim0、anim1……」という感じにしてください。0番から始まることを忘れずに。

そしてee.pbuttonが、ボタンが押された(PCで左クリックしたとかを含む)ときに呼ばれるものですね。
isOnで「押された」ときを判定します(OFFならボタンを離したとき)。

そしてnoが2のときはsetMotion(-1)。これはモーションを、最初の何もしてないものに戻せという意味です。
それ以外は、noの数に応じたモーションにします。

関数一覧

https://zenn.dev/vins/articles/25ba9397b090c7
こちらです。

注意点


ワールドやクラフトアイテムをアップロードするときには、再生ボタンを一度押してからにするか、あるいはCS Combinerにある「全更新」ボタンを押してからアップロードしましょう。

入っているスクリプトや素材は自由に使うことができます。
https://creator.cluster.mu/2024/07/08/playerscript-2/
ただし、ベータ用追加パッケージの「cluster由来」フォルダには↑のclusterベータ用のアイテムサンプルに含まれていたモーションが含まれています。https://creativecommons.org/licenses/by/4.0/に基づいて再配布しております。
「cluster由来」フォルダに入っているモーションを活用したい場合は、アイテムサンプルのほうからダウンロードし直すことをおすすめします。

Discussion