とことこ精霊馬|商品マニュアル

このページでは、狐火工房の「とことこ精霊馬」の導入方法と、各機能の設定方法について解説します。

【VRChat向け】とことこ精霊馬 / Tokotoko Shoryo Uma – 狐火工房 – BOOTH
お盆の精霊馬が、とことこ歩く。 きゅうりの馬となすの牛が、とことこ歩く、VRChatワールド向けのギミック付き3Dモデルです。 精霊馬・精霊牛を直接Interactして歩かせるほか、付属の呼び鈴を使って、鳴らしたプレイヤーのもとへ呼び寄せた…

「とことこ精霊馬」は、VRChatワールド向けのギミック付き3Dモデルです。

きゅうりで作られた精霊馬と、なすで作られた精霊牛が、とことこと歩きます。
精霊馬・精霊牛を直接Interactして歩かせるほか、付属の呼び鈴を使って、

  • プレイヤーのもとへ呼び寄せる
  • 指定した場所へ歩かせる
  • 前方へ歩かせる

といった動作もできます。

これらの移動ギミックはGlobal動作に対応しており、同じインスタンスにいるプレイヤー間で動作が共有されます。

導入方法

動作環境

本商品は、VRChatワールドでの使用を想定しています。

  • Unity 2022.3.22f1
  • VRChat Creator Companionで作成したVRChat Worldプロジェクト
  • VRChat SDK – Worlds
  • UdonSharp

本商品にVRChat SDK本体およびUdonSharp本体は含まれていません。あらかじめ、VRChat Creator CompanionからWorldプロジェクトを作成してください。

UnityPackageをインポートする

ダウンロードしたファイルに含まれている、次のUnityPackageを使用します。

Shoryo_Uma_v1.0.0.unitypackage

Unityで使用するWorldプロジェクトを開き、UnityPackageをインポートしてください。
インポートが完了すると、次のフォルダに商品データが追加されます。

Assets/KitsunebiKobo/Shoryo_Uma/

フォルダ内は、次のように分かれています。

Shoryo_Uma
├─ Animations:アニメーション、Animator Controller
├─ Audio:呼び鈴の効果音
├─ Materials:各種マテリアル
├─ Models:FBXモデル
├─ Prefabs:配置用Prefab
├─ Scripts:UdonSharpスクリプト
└─ Textures:各種テクスチャ

Prefabを配置する

Projectウィンドウで、

Assets/KitsunebiKobo/Shoryo_Uma/Prefabs

を開きます。

このフォルダには、以下のPrefabが入っています。

Prefab説明
Shoryo_Uma.prefabきゅうりで作られた精霊馬です。
Shoryo_Ushi.prefabなすで作られた精霊牛です。
Handbell.prefab精霊馬・精霊牛へ動作を指示するための呼び鈴です。
とことこ精霊馬のPrefab

使用したいPrefabを、HierarchyまたはSceneビューへドラッグ&ドロップしてください。
配置後、位置・回転・スケールを調整し、ClientSimやVRChat上で動作を確認します。

精霊馬・精霊牛を動かす

「とことこ精霊馬」には、精霊馬・精霊牛を動かすためのいくつかの方法があります。

  • もっとも簡単なのは、精霊馬・精霊牛を直接Interactする方法です。
  • 付属の呼び鈴を使えば、離れた場所から呼び寄せたり、あらかじめ指定した場所へ歩かせたりすることもできます。
  • UdonSharpでギミックを制作している場合は、公開メソッドを利用して、スイッチやトリガーなど別のギミックから動かすこともできます。

直接動かす

シーンに配置した精霊馬・精霊牛は、そのままInteractして動かすことができます。

  • 歩かせる:停止している精霊馬・精霊牛をInteractすると、現在向いている方向へ、とことこ歩き始めます。
  • 停止させる:歩いている精霊馬・精霊牛をもう一度Interactすると、その場で停止します。

呼び鈴で動かす

付属の「Handbell.prefab」を使うと、精霊馬・精霊牛へ離れた場所から動作を指示できます。

呼び鈴を使用する場合は、まずInspectorのTargetsに、操作したい精霊馬・精霊牛を登録します。
Targetsには複数の対象を登録できるため、1つの呼び鈴から精霊馬と精霊牛を同時に動かすこともできます。

とことこ精霊馬:呼び鈴のTargets設定

呼び鈴をInteractすると鈴の音が鳴り、「Event Type」に設定されている動作が実行されます。

とことこ精霊馬:呼び鈴のEventType設定
Event Type説明
Come呼び鈴を鳴らしたプレイヤーのもとへ向かいます
GoToDestinationに設定した場所へ向かいます
Move現在向いている方向へ歩き始めます

Come:こちらへ呼び寄せる

呼び鈴を鳴らしたプレイヤーのもとへ、精霊馬・精霊牛を呼び寄せます。
精霊馬・精霊牛はプレイヤーの方向へ旋回しながら近づき、一定距離まで近づくと自動で停止します。

デフォルトではこの設定になっています。

GoTo:指定した場所へ歩かせる

あらかじめ設定した場所へ精霊馬・精霊牛を歩かせることができます。

まず、Hierarchyで空のGameObjectなどを作成し、精霊馬・精霊牛を到着させたい場所へ配置します。

とことこ精霊馬:GoToのDestination

次に、精霊馬・精霊牛のTokotoko Walker (Script)にあるDestinationへ、そのGameObjectのTransformを設定してください。

とことこ精霊馬:GoToのDestination設定

呼び鈴のEvent TypeをGoToに設定してInteractすると、Targetsに登録した精霊馬・精霊牛がDestinationへ向かって歩き、目的地の近くまで到着すると自動的に停止します。

Move:前方へ歩かせる

精霊馬・精霊牛が、現在向いている方向へ歩き出します。

停止させる場合は、精霊馬・精霊牛を直接Interactしてください。

公開メソッドを使って別のギミックと連携する

「とことこ精霊馬」のTokotokoWalkerには、ほかのUdonSharpギミックから呼び出せる公開メソッドが用意されています。

そのため、付属の呼び鈴だけでなく、

  • スイッチを押したら歩き始める
  • Triggerに入ったら特定の場所へ向かう
  • 別の演出が終わったらプレイヤーのもとへやってくる

といった連携も可能です。

利用できる主な公開メソッドは以下のとおりです。

メソッド動作
Move()現在向いている方向へ歩き始めます
Stop()その場で移動を停止します
Come()設定されている対象プレイヤーのもとへ向かいます
GoTo()Destinationに設定した場所へ向かいます

プレイヤーを対象にする動作について

Come()を使用する場合は、先にSetTargetPlayerById(int playerId)で対象プレイヤーを設定します。

たとえば、ローカルプレイヤーを対象にする場合は次のように呼び出します。

Localで実行する場合

VRCPlayerApi localPlayer = Networking.LocalPlayer;

if (localPlayer == null || !localPlayer.IsValid())
{
    return;
}

tokotokoWalker.SetTargetPlayerById(localPlayer.playerId);
tokotokoWalker.Come();

Globalで実行する場合

VRCPlayerApi localPlayer = Networking.LocalPlayer;

if (localPlayer == null || !localPlayer.IsValid())
{
    return;
}

tokotokoWalker.SendCustomNetworkEvent(
    NetworkEventTarget.All,
    nameof(TokotokoWalker.SetTargetPlayerById),
    localPlayer.playerId
);

tokotokoWalker.SendCustomNetworkEvent(
    NetworkEventTarget.All,
    nameof(TokotokoWalker.Come)
);

なお、Move()、Stop()、GoTo()のように対象プレイヤーを必要としないメソッドは、対象設定を行わずそのまま呼び出せます。

Global動作について

「とことこ精霊馬」の移動ギミックは、Network Eventを使用したGlobal動作です。

操作が行われると、現在同じインスタンスにいる各プレイヤーのクライアントで同じ移動処理が実行されます。

精霊馬・精霊牛の位置や回転そのものを同期する方式ではないため、通信状況や実行タイミングによって、プレイヤー間で位置に多少のずれが生じる場合があります。

また、途中参加したプレイヤーには、それ以前の精霊馬・精霊牛の移動状態や位置は反映されません。

お問い合わせ

不具合やご質問がありましたら、BOOTHのメッセージ機能よりご連絡ください。

狐火工房 – Kitsunebi Kobo

コメント

タイトルとURLをコピーしました