ジャイロセンサーの活用
ZEPETO Worldを作成する際、デバイスの傾きに応じてさまざまなワールドプレイのアイデアを実装するためにジャイロセンサーを使用できます。このガイドでは、ZEPETOScript内でInput.gyroを活用する方法を示します。
1) 階層に追加 > [+] > 3Dオブジェクト > 球体オブジェクトをシーンに追加します。
2) オブジェクトの名前をBallに変更し、Rigidbodyコンポーネントを追加します。
1) TypeScriptを追加し、スクリプトの名前をRollingBallに変更します。 以下のようにサンプルスクリプトを書いてください。
スクリプトの説明
- ボールオブジェクトに付属しているRigidbodyコンポーネントを取得します。
- 次の値を丸めます:Input.gyro.gravity.x と Input.gyro.gravity.z の値を取得して、gyroValueX、gyroValueZの値を得ます。
- ボールオブジェクトに速度を与えるために、gyroValueXとgyroValueZの値をvelocityMultiplierで掛け算して、velocityに代入します。
- その Input.gyro.gravity の値は、Text UIを通じて画面に表示されます。
📘 ジャイロスコープ.gravity https://docs.unity3d.com/ScriptReference/Gyroscope-gravity.html
2) あなたが書いたRollingBall ZEPETOScriptをボールオブジェクトに追加します。 ヒエラルキーウィンドウで、ZEPETOScriptインスペクタウィンドウに表示されるプロパティにText UIをドラッグアンドドロップして接続します。
1) QRモバイルテストで例の世界を実行します。
2) ボールオブジェクトはデバイスの傾きに応じて動きます。
❗️ 注意 ご注意ください、Input.gyro はモバイル環境でのみ動作します。
Input.gyroを適用することで、ZEPETOワールド内でZEPETOキャラクターを移動させることができます。
1) TypeScriptを追加し、スクリプトの名前をGyroMovementに変更します。 以下のようにサンプルスクリプトを書いてください。
スクリプトの説明
- ローカルプレイヤーがシーンに追加されると、ZEPETOキャラクターのインスタンスを受け取ります。
- 値を丸めて、gyroValueの値を取得します。
- ZEPETOキャラクターをZ軸方向に移動させるには、directionをパラメータとしてMove()関数に渡します。
2) シーンにGameObjectを追加し、GyroGravityと名前を変更します。作成したGyroMovement ZEPETOScriptを追加します。
3) QRモバイルテストとして例のワールドを実行すると、ZEPETOキャラクターはデバイスの傾きに応じて移動します。
👍 ヒント
- この例で使用されているInput.gyro.gravityに加えて、さまざまなInput.gyro関数を使用できます。
- さまざまなアイデアに適用できます。ZEPETOで楽しいワールドをリリースしてみてください!