ジャンプの高さをプレイヤーごとに変える

投稿者:

「Creators Guide」は、メタバースプラットフォーム「cluster」で「つくる」ことにチャレンジしてみたい方に向けた導入ガイドです。

Creators Guideで読むことができるすべての情報はこちらにまとめています。


今回はジャンプ力を調節できる「Set Jump Height Rate Player Gimmick」を使って、プレイヤーごとにジャンプ力を変えてみましょう!

事前準備

まず、clusterにワールドをアップロードできる環境を事前に用意してください。

準備はこちらを参考にしてください。

はじめてのワールド作成

上記で紹介する方法以外ではテンプレートプロジェクトを利用するのがおすすめです。下記URLからテンプレートプロジェクトをダウンロードして、Unityで開くことで、clusterへアップロードする環境まで一気に準備することができます。
テンプレートワールドって何?って方はこちらの記事で導入方法を解説しているので、ぜひご覧ください。動画でも解説しています。

サンプルパッケージ

実際にこの記事でつくるジャンプギミックを配布します。
記事を見ながら、アイテムの構成を確認してみてください。

ジャンプ力を変更できるようにしよう

Set Jump Height Rate Player Gimmick」はワールドに配置すると、かんたんにプレイヤーのジャンプ力の調整ができるコンポーネントです!
設定は簡単なので、ぜひ覚えてみてください。

  • Hierarchy を右クリックまたは、上部メニュー欄の「GameObject」から「Create Empty」を選択して、GameObject を作成します
  • 見分けが付きやすいように名前を変更しておくのがおすすめです。今回は「jumpRate」に名前を変更しました
GameObject画像
  • 「jumpRate」を選択して Inspector ウィンドウにある「Add Component」ボタンを押して「Set Jump Height Rate Player Gimmick」を追加しましょう
  • プレイヤーごとに調節するために、Target は「Player」に変更し、Key はデフォルトの「jumpHeight」を変更せずに使用します
Set Jump Height Rate Player Gimmick 画像

ジャンプ力を変化させるためのボタンを配置しよう

これで最初の準備は完了です。
まずは、ボタンを押したらジャンプ力が変化するギミックをつくってみましょう。

  • Hierarchy を右クリックまたは、上部メニュー欄の「GameObject」から「3D Object」「Cube」を選択して、Cube を作成します
Cube作成画像
  • Cube を選択して Inspector ウィンドウにある「Add Component」ボタンを押して「Interact Item Trigger」を追加します。「Interact Item Trigger」は掴めないアイテムに「使う」機能を追加し、使われたことを通知するトリガーです
  • コンポーネントを追加したら「+」を押して設定をしていきます
  • プレイヤーごとに調節するために、Target は「Owner」に変更し、Key は「jumpHeight」にします
  • 次にジャンプ力を決めるために、Value は小数点を扱える「Float」に変更し、ジャンプ力の数値を入力しましょう。今回はデフォルトより3倍高く飛べるように、数値に「3」を入力します
Interact Item Trigger画像

先程と同様に Cube を作成し、違うジャンプ力を設定したボタンを配置してみましょう。

  • 今回はジャンプ力を元の「1」に戻す「jumpHeight Standard」、それぞれのジャンプ力を「1.5」「10」にする「jumpHeight 1.5」「jumpHeight 10」を追加しました
ジャンプ力設定ボタン(分かりやすくテキストをつけてみました)

それでは実際にプレイヤーごとにジャンプ力を変更できているのか見てみましょう。
プレイヤーのジャンプ力は、左から順番に「1.5」「3」「10」となっています。

【応用編】クリックするたびにジャンプ力が変わるギミックをつくってみよう!

プレイヤーごとにジャンプ力が変えられるようになったら、次はゲーム性を持たせてみましょう!
ワールドに配置するアイテムなどにこのギミックを使用すると、アスレチックワールドなどにさらなるアクション性を追加できます。

今回は、わかりやすいオブジェクトとして「JUMP」の文字を使用します。

  • オブジェクトを選択して Inspector ウィンドウにある「Add Component」ボタンを押して「Interact Item Trigger」「Player Logic」を追加します
  • Interact Item Trigger」はプレイヤーごとに調節するために、Target は「Owner」に変更し、Key は「AddJump」にします。Logic にメッセージを送るために Value は「Signal」に変更します
  • 同じオブジェクトに今度は「Player Logic」を追加します。「Player Logic」は、メッセージを読み取り、計算した結果をプレイヤーへメッセージとして通知するオペレーションです。今回のロジックはメッセージを受け取ったときにプレイヤーのジャンプ力に「1.5」加えるようにします
  • Target は「Player」、Key は「AddJump」に変更します
  • 「AddJump」のメッセージを受け取ったとき「jumpHeight」の値に「1.5」の数値を加えるために「=Add」を選択してください
  • 1つ目の変数は「Room State」に変更し、既存の「jumpHeight」を入力します。「=Add」を選択すると2つ目の変数が設定できるようになります
  • 2つ目の変数には定数を扱う「Constant」に、Value は小数点を扱える「Float」に変更し、加えるジャンプ力の値「1.5」を入力しましょう

「JUMP」のInspectorが画像のようになっていればOKです!

最終的な Inspector画像
クリックするたびにだんだん高くジャンプするようになりました

ジャンプ力の加算方法を変更することでまた違ったゲーム体験にすることもできます。いろいろな種類のロジックをためして遊んでみましょう🙌


最後に公式による記事や多くのクリエイターの皆さんによるドキュメントやコミュニティを紹介します。
ぜひ活用して自分だけのワールドを制作してみましょう!

▼ 「Cluster Creator Kit」の全てが分かる公式ドキュメント
Cluster Creator Kit ドキュメントhttps://docs.cluster.mu/creatorkit/

▼ クリエイターによる投稿記事まとめ
ワールド制作部https://note.com/cluster_official/m/m1fd772ab8f45
アバター制作部https://note.com/cluster_official/m/m6b18e343f35c
イベント制作部https://note.com/cluster_official/m/m7155e6f6887f

▼ 分からないことがあればコミュニティを活用してみましょう!
Cluster Creator Community Discord
https://discord.gg/DHQmAfDhkt