Cluster Creator Kit v2.26.0.1(以下、CCK)から、乗ることができるアイテムを制作できるコンポーネント「Ridable Item」での操作をスクリプトから操作できるAPI「$.onSteer コールバック」が追加されました。
これまでもCCKコンポーネント「Steer Item Trigger」で同じような処理を実装することができましたが、「Steer Item Trigger」はCCKワールドのみで利用できるものでした。「$.onSteer コールバック」を使うことで、クラフトアイテムでも同じような処理を実装することができるようになったのが、今回のポイントです(CCKワールドでもこちらのAPIは使用できます)。
現在テスト運用中のスペースでクラフトアイテムを置ける機能が許可されたワールドであれば、ワールドを探索する乗り物をつくって、それで探索できることも……!
今回は基本的な設定方法を解説します。

使用する時の準備
本APIを使用するためには、スクリプトの対象となるGameObjectにRidable Item、Movable Itemがついている必要があります。
- 新しいGameObjectをつくり、乗り物の見た目となるGameObjectを子に配置してください。
- 親となるGameObjectにScriptable Item、Ridable Item、Movable Itemコンポーネントを設定してください。
- Movable Itemを設定した時に自動的に設定されるRigidbodyのisGravityのチェックは外してください。

スクリプトサンプル
以下が、スクリプトのサンプルになります。
プレイヤーが乗り物に乗った時のキー入力に応じて、アイテムが移動します。

$.onStart(() => {
$.state.driver = null;
$.state.steerInput = new Vector2(0, 0);
$.state.steerAdditionalAxisInput = 0;
});
$.onRide((isGetOn, player) =>{
$.state.driver = (isGetOn) ? player : null;
});
$.onSteer((input, player) =>{
$.state.steerInput = input;
});
$.onSteerAdditionalAxis((input, player) => {
$.state.steerAdditionalAxisInput = input;
});
$.onUpdate((deltaTime) => {
if (!$.state.driver) {
return;
}
if (!$.state.driver.exists()) {
$.state.driver = null;
return;
}
// プレイヤーが向いている方向に対しての移動量を求める
const direction = $.state.driver.getRotation().createEulerAngles();
const forwardRadian = direction.y * Math.PI / 180;
const sideRadian = ((direction.y + 90) % 360) * Math.PI / 180;
const vectorForwardInput = new Vector3(
Math.sin(forwardRadian) * $.state.steerInput.y * deltaTime,
0,
Math.cos(forwardRadian) * $.state.steerInput.y * deltaTime
);
const vectorSideInput = new Vector3(
Math.sin(sideRadian) * $.state.steerInput.x * deltaTime,
0,
Math.cos(sideRadian) * $.state.steerInput.x * deltaTime
);
const vectorVerticalInput = new Vector3(
0,
$.state.steerAdditionalAxisInput * deltaTime,
0
);
const newPosition = $.getPosition()
.add(vectorForwardInput)
.add(vectorSideInput)
.add(vectorVerticalInput);
$.setPosition(newPosition);
});
乗り物の見た目はオリジナルでつくったり、本スクリプトサンプルの数字を差し替えたりするだけで、オリジナルの乗り物クラフトアイテムをつくることができます。ぜひ試してみてください!





















