始めに

Zepetoキャラクターを作成する

16min

ステップ 0 : シーンにベースを追加する

  • 階層ウィンドウで、3Dオブジェクト → プレーンをクリックします。
Document image

  • プレーンの位置をX: 0, Y: 0, Z: 0に設定し、サイズをX: 10, Y: 1, Z: 10になるように大きく設定します。
Document image


👍 ヒント

  • プレーンはテスト目的のための最も基本的な床です。
  • コライダーを持つオブジェクトであれば、何を使っても構いません。
  • ワールド作成に慣れてくると、床を置き換えるクールなマップを作成できます。
  • プラットフォームがないと、キャラクターは作成されるとすぐに落下し、表示されなくなります。



ステップ 1 : ZEPETOプレイヤーコンポーネントを追加する

階層ウィンドウで、ZEPETO → ZepetoPlayersタブを選択します。

Document image


ZepetoPlayersというオブジェクトが自動的に作成されます。 ZepetoPlayersは、World内のキャラクターコントローラーモジュールを管理するコンポーネントです。

Document image




キャラクター制御と関連機能の値は、インスペクタウィンドウで設定できます。

  • 通常、ZEPETOカメラ設定、キャラクター移動速度、ジャンプ高さなどを設定できます。
  • この例では、デフォルト値を使用します。

📘 詳細な設定については、ZEPETOキャラクターコントローラーガイドを参照してください。ZEPETOキャラクターコントローラー



ステップ2:キャラクターをロードする

キャラクターをロードするには、新しいZEPETOScriptファイルを作成する必要があります。

1) [プロジェクト]パネルで、左上隅の[+]メニューを選択するか、Assets → Create → ZEPETO → TypeScriptを選択します。

Document image




2) ZEPETOScriptファイルを作成するときは、名前をCharacterControllerと入力してください。以下のようにスクリプトファイルが作成されます。

Document image




3) ヒエラルキー → [+] メニュー → Create Emptyメニューを実行します。

Document image




4) 空のGameObjectを作成するときは、CharacterControllerと記入してください。以下のようにGameObjectが作成されます。

Document image




5) 以前に作成した CharacterController ZEPETOScript ファイルを GameObject にコンポーネントとしてドラッグします。

Document image

  • ZEPETOScript は、シーン内の GameObject にコンポーネントとして追加されない限り実行されません。



6) まず、キャラクターをシーンに読み込むために ZEPETO ID を入力します。 CharacterController ZEPETOScript ファイルを開き、スクリプトエディタプログラムを実行します。 次に、以下の例のスクリプトを適用します。

  • [ZEPETO_ID] と書かれているところに ZEPETO ID を入力してください。
  • もしあなたの ZEPETO ID が 'abcd' であれば、次のように入力する必要があります。ZepetoPlayers.instance.CreatePlayerWithZepetoId("", "abcd", new SpawnInfo(), true)



特定の ZEPETO ID で ZEPETO キャラクターを読み込むためのスクリプト

特定のZEPETO IDを持つZEPETOキャラクターを読み込むためのスクリプト


7) スクリプトを保存した後、Unityエディタに戻ってください。

  • STEP 3の実行に進んでください。
  • このコードを使用すると、特定のZEPETO IDのアバターでのみプレイします。
  • あなたのワールドを起動するときは、コードに入力したZEPETO IDではなく、あなたのワールドにアクセスしたユーザーのZEPETO IDに基づいてコードを修正する必要があります。以下のスクリプトを使用してください。



ログインしたIDのキャラクターを読み込むためのスクリプト

ログインしたIDのキャラクターを読み込むためのスクリプト

  • このスクリプトは、ログインしたIDに基づいてZEPETOキャラクターを作成し、特定のZEPETO IDを受け付けないため、テストする前にUnityエディタにログインしてください。
  • スクリプトを保存した後、Unityエディタに戻ってください。
  • STEP 3の実行に進んでください。
  • クライアントスクリプトにローカルプレイヤー作成コードが1つだけあることを確認してください。
  • 同じプレイヤーが複数作成される場合、CreatePlayerWithUserId()スクリプトが他の場所で呼び出されている可能性があります。
  • 一般的な間違いは、キャラクター作成コードをこのガイドに残したままマルチプレイヤーの例コードを適用することで、キャラクターが2回作成されることです。片方をコメントアウトして管理してください。



ステップ 3 : 実行

画面の中央にある[▶︎(再生)]ボタンを使用して、CharacterControllerが正常に動作していることを確認してください。

読み込まれたキャラクターはローカルプレイヤーのキャラクターと呼ばれ、これはユーザーが自分のデバイスで直接操作できるZEPETOキャラクターを意味します。

CharacterControllerは、デバイス(PC/Mobile)に対応する各入力イベントのための共通のキャラクター制御キー割り当てを持っています。したがって、読み込まれたキャラクターはプラットフォームに関係なくシーン内で操作できます。

PCでは、キャラクターとカメラはマウスで操作できます。モバイルデバイスでは、以下のスクリーンショットに示されているように、バーチャルパッドでキャラクターとカメラを操作できます。

Document image


👍 次の入力インターフェースがキャラクター操作に対応しています: PC

  • 移動:キーボードの矢印、WASD
  • ジャンプ:スペース
  • ダブルジャンプ:(左)シフト
  • ズーム:マウスホイール
  • 回転:画面ドラッグ

モバイル

  • 移動:(画面左下)バーチャルパッド
  • ジャンプ:(画面右下)バーチャルパッドボタン
  • ズーム:(二本の指)画面ドラッグ
  • 回転:(一本の指)画面ドラッグ



ZEPETOキャラクター作成が正常に機能しない場合は、次に進んでください:Unityメニュー > プロジェクト設定 > エディタ > プレイモード設定を入力

  • Enter Play Mode Optionsをオフに設定します。
Document image




ステップ4: ZEPETOキャラクターの開始位置を変更する

ZEPETOキャラクターの開始位置は、特に設定されていない限り、UnityEngine.Vector3(0,0,0)で作成されます。

回転値もUnityEngine.Quaternion.Euler(0,0,0)の角度で生成されます。

キャラクターのスポーン位置と回転値は、ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true); 関数の引数SpawnInfo()を使用して設定されます。

したがって、キャラクター作成関数を呼び出す前にSpawnInfo()の希望の値を設定することができます。特定の位置にスポーンすることを確認するためです。

マップ上の位置(0,0,0)に3Dオブジェクト>キューブを事前に配置しました。

キャラクターのスポーン位置値を次のように変更すると、キューブの上にスポーンします。

CharacterController




画面の中央にある再生ボタンを使用して、キャラクターの作成を確認します。

Document image




位置と向きの値を変更すると、このように横たわっているキャラクターを作成することもできます。

SpawnInfo Sample

Document image