始めに
Zepetoキャラクターを作成する
16分
ステップ 1 シーンにベースを追加する 階層ウィンドウで、3dオブジェクト → プレーンをクリックします。 プレーンの位置をx 0, y 0, z 0に設定し、サイズをx 10, y 1, z 10になるように大きく設定します。 👍 ヒント プレーンはテスト目的のための最も基本的な床です。 コライダーを持つオブジェクトであれば、何を使っても構いません。 ワールド作成に慣れてくると、床を置き換えるクールなマップを作成できます。 プラットフォームがないと、キャラクターは作成されるとすぐに落下し、表示されなくなります。 ステップ 2 zepetoプレイヤーコンポーネントを追加する 階層ウィンドウで、zepeto → zepetoplayersタブを選択します。 zepetoplayersというオブジェクトが自動的に作成されます。 zepetoplayersは、world内のキャラクターコントローラーモジュールを管理するコンポーネントです。 キャラクター制御と関連機能の値は、インスペクタウィンドウで設定できます。 通常、zepetoカメラ設定、キャラクター移動速度、ジャンプ高さなどを設定できます。 この例では、デフォルト値を使用します。 📘 詳細な設定については、zepetoキャラクターコントローラーガイドを参照してください。 zepetoキャラクターコントローラー docid\ gqggz4blgymvvk 41zcwm ステップ 3:キャラクターをロードする キャラクターをロードするには、新しいzepetoscriptファイルを作成する必要があります。 1\) \[プロジェクト]パネルで、左上隅の\[+]メニューを選択するか、assets → create → zepeto → typescriptを選択します。 2\) zepetoscriptファイルが生成される時、名前をcharacterloaderと入力してください。 以下の画面のようにスクリプト ファイルが作成されます。 3\) hierarchy → \[+] メニュー → create empty メニューを実行してください。 4\) empty gameobejctを作成する際、characterloaderと記入してください。 下の画面のようにgameobjectが作成されます。 5\) hierarchyでcharacterloaderゲームオブジェクトを選択し、inspectorでadd componentボタンをクリックしてください。 6\) add component ウィンドウでzepetoscript コンポーネントを追加してください。 7 ) zepeto scriptコンポーネントのattach zepeto scriptボタンをクリックしてください。 8\) attachzepetoscriptウィンドウで先に作成したcharacterloaderzepetoscriptファイルを選択してください。 9\) characterloaderゲームオブジェクトを次のように構成してください。 zepetoscript は、シーン内の gameobject にコンポーネントとして追加されない限り実行されません。 10) 次は、自分のzepetoidを入力してキャラクターをsceneにロードしてみましょう。 characterloader zepetoscriptファイルをオープンし、スクリプトエディタプログラムを実行させます。 次に、以下の例題スクリプトを適用してください。 \[zepeto id] と書かれているところに zepeto id を入力してください。 もしあなたの zepeto id が 'abcd' であれば、次のように入力する必要があります。 zepetoplayers instance createplayerwithzepetoid("", "abcd", new spawninfo(), true) 特定の zepeto id で zepeto キャラクターを読み込むためのスクリプト 特定のzepeto idを持つzepetoキャラクターを読み込むためのスクリプト import { zepetoscriptbehaviour } from 'zepeto script'; import { spawninfo, zepetoplayers, localplayer } from 'zepeto character controller'; export default class characterloader extends zepetoscriptbehaviour { start() { zepetoplayers instance createplayerwithzepetoid("", "\[zepeto id]", new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; }); } } 11\) スクリプトを保存した後、unityエディタに戻ってください。 ステップ 4 の実行に進んでください。 このコードを使用すると、特定のzepeto idのアバターでのみプレイします。 あなたのワールドを起動するときは、コードに入力したzepeto idではなく、あなたのワールドにアクセスしたユーザーのzepeto idに基づいてコードを修正する必要があります。以下のスクリプトを使用してください。 ログインしたidのキャラクターを読み込むためのスクリプト ログインしたidのキャラクターを読み込むためのスクリプト import { zepetoscriptbehaviour } from 'zepeto script'; import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller'; import { worldservice } from 'zepeto world'; export default class characterloader extends zepetoscriptbehaviour { start() { // エディタを通じてzepetoにログインした際に指定されたユーザーidを取得します。 zepetoplayers instance createplayerwithuserid(worldservice userid, new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; }); } } このスクリプトは、ログインしたidに基づいてzepetoキャラクターを作成し、特定のzepeto idを受け付けないため、テストする前にunityエディタにログインしてください。 スクリプトを保存した後、unityエディタに戻ってください。 ステップ 4 の実行に進んでください。 クライアントスクリプトにローカルプレイヤー作成コードが1つだけあることを確認してください。 同じプレイヤーが複数作成される場合、createplayerwithuserid()スクリプトが他の場所で呼び出されている可能性があります。 一般的な間違いは、キャラクター作成コードをこのガイドに残したままマルチプレイヤーの例コードを適用することで、キャラクターが2回作成されることです。片方をコメントアウトして管理してください。 ステップ 4 実行 画面の中央にある\[▶︎(再生)]ボタンを使用して、 characterloader が正常に動作していることを確認してください。 読み込まれたキャラクターはローカルプレイヤーのキャラクターと呼ばれ、これはユーザーが自分のデバイスで直接操作できるzepetoキャラクターを意味します。 characterloader は、デバイス(pc/mobile)に対応する各入力イベントのための共通のキャラクター制御キー割り当てを持っています。したがって、読み込まれたキャラクターはプラットフォームに関係なくシーン内で操作できます。 pcでは、キャラクターとカメラはマウスで操作できます。モバイルデバイスでは、以下のスクリーンショットに示されているように、バーチャルパッドでキャラクターとカメラを操作できます。 👍 次の入力インターフェースがキャラクター操作に対応しています: pc 移動:キーボードの矢印、wasd ジャンプ:スペース ダブルジャンプ:(左)シフト ズーム:マウスホイール 回転:画面ドラッグ モバイル 移動:(画面左下)バーチャルパッド ジャンプ:(画面右下)バーチャルパッドボタン ズーム:(二本の指)画面ドラッグ 回転:(一本の指)画面ドラッグ zepetoキャラクター作成が正常に機能しない場合は、次に進んでください: unityメニュー > プロジェクト設定 > エディタ > プレイモード設定を入力 。 enter play mode optionsをオフに設定します。 ステップ 5 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オブジェクト>キューブを事前に配置しました。 キャラクターのスポーン位置値を次のように変更すると、キューブの上にスポーンします。 characterloader import { zepetoscriptbehaviour } from 'zepeto script'; import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller'; import { worldservice } from 'zepeto world'; import { quaternion, vector3 } from 'unityengine'; export default class characterloader extends zepetoscriptbehaviour { start() { // キャラクターのスポーン位置を設定 const spawninfo = new spawninfo(); spawninfo position = new vector3(0,2,0); // キャラクターのスポーン回転を設定 spawninfo rotation = quaternion euler(0,0,0); // エディタを通じてzepetoにログインした際に指定されたユーザーidを取得 zepetoplayers instance createplayerwithuserid(worldservice userid, spawninfo, true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; }); } } 画面の中央にある再生ボタンを使用して、キャラクターの作成を確認します。 位置と向きの値を変更すると、このように横たわっているキャラクターを作成することもできます。 spawninfo sample // キャラクターのスポーン位置を設定 const spawninfo = new spawninfo(); spawninfo position = new vector3(2,1,2); // キャラクターのスポーン回転を設定 spawninfo rotation = quaternion euler(90,0,0);