本記事はCluster Creator Kitの「ベータ機能」を利用した解説になります。
ベータ機能では正式リリース前の機能を使うことができます。
正式リリース前のため、不安定な挙動をしたり将来的に挙動が変わる可能性があります。また、記事公開時点ではベータ機能として紹介していますが、その後正式リリースされている場合もありますので、本記事を参考にする場合はまずScript Referenceを参照することをおすすめします。
利用にはCluster Creator Kitでベータ機能を設定した状態でアップロードを行う必要があります。設定方法はこちらをご覧ください。
Cluster Creator Kit v2.24.0.1(以下、CCK)から、ベータ機能として「カメラ姿勢直接指定API」が使えるようになりました。
PlayerScriptの CameraHandle を使用することで、VR以外のプラットフォームで、カメラを制御し、様々な視点の演出等ができるようになります。
今回は基本的な設定方法を解説します。
使用する時の準備──PlayerScriptの設定
本機能を使用するにはPlayerScriptの設定が必要になります。
今回は、インタラクトするとインタラクトした人をPlayerScriptに登録し、「カメラ姿勢直接指定API」が適用されるようにします。
- 作成したワールドはベータ機能を有効にしてアップロードする必要があります。
- 「カメラ姿勢直接指定API」を設定したいGameObjectに「Scriptable Item」コンポーネントを追加して、以下のスクリプトを設定してください。
- 次はPlayerScriptを設定していきます。
- 「Scriptable Item」コンポーネントを追加したGameObjectに「PlayerScript」コンポーネントを追加し、後述の章で紹介する、どちらかのスクリプトを設定してください。
- 今回は2種類のサンプルを紹介します。
- 「Scriptable Item」コンポーネントを追加したGameObjectに「PlayerScript」コンポーネントを追加し、後述の章で紹介する、どちらかのスクリプトを設定してください。

スクリプトサンプル
プレイヤーの位置に応じてカメラが移動するスクロール表現
下記は、プレイヤーを横から映すようにカメラの向きを固定し、プレイヤーに追従するようなスクリプトです。

_.onFrame(dt => {
const pos = _.getPosition().add(new Vector3(0, 1.5, -5));
const rot = new Quaternion().setFromEulerAngles(new Vector3(0, 0, 0));
_.cameraHandle.setPosition(pos);
_.cameraHandle.setRotation(rot);
});プレイヤーの位置に応じてカメラが移動する俯瞰表現
下記は、上述のスクリプトのカメラの向きと位置を変え、プレイヤーを真上から映すようにしたスクリプトです。

_.onFrame(dt => {
const pos = _.getPosition().add(new Vector3(0, 10, 0));
const rot = new Quaternion().setFromEulerAngles(new Vector3(90, 0, 0));
_.cameraHandle.setPosition(pos);
_.cameraHandle.setRotation(rot);
});一度「カメラ姿勢直接指定API」を適用すると、解除しない限りスペースを退出するまで、適用され続けます。
「カメラ姿勢直接指定API」を設定したPlayerScriptの登録を解除するなど、リセットする方法を用意するのがおすすめです。





















