ユキミ大福のマイクラBE生活

Minecraft統合版で遊んだりゲーム作ったりするブログ

コマンド構文解説-あのモブのあのモーションを!?/playanimation-

  投稿日:2021/12/04

最終更新日:2021/12/04

 

どうも、ユキミ大福です。

今回はMinecraft統合版のコマンドの内の1つである『 /playanimation 』について解説をしていきます。

ここで解説するコマンド等は、解説する注意事項等をよく読み、個人でより詳しく調べた上で、個人の責任において使用して下さい。コマンド等の使用によって如何なる損害が発生しても、筆者であり当ブログの管理者でもあるわたくしユキミ大福は一切の責任を負いかねますので、ご了承下さい。

 

今回のコマンドは?

今回ご紹介するコマンドは『 /playanimation (プレイアニメーション)』です。このコマンドは、エンティティに特定の動作(アニメーション)をさせられるというものです。まずは構文を見てみましょう。

 

/playanimation のコマンド構文

 

/playanimation <セレクター> <アニメーション名> <次のアニメーション名> <アニメーション移行秒数(int/float)> <アニメーション停止トリガー> <アニメーションコントローラー>

 

  • <セレクター>:必須
    ターゲットセレクター。ゲーマータグを直接入力可。
  • <アニメーション名>:必須
    動かしたいアニメーション名を指定する。使用できるアニメーション名については ↓ の記事で解説します。
    (解説ページができ次第リンク貼ります)

  • <次のアニメーション名>:省略可。<アニメーション移行秒数(int/float)>を指定する場合は必須。
    最終状態のアニメーションのアニメーション名を指定する。省略した場合は"none"として扱われる。アニメーション名を指定すると、<アニメーション名>のアニメーションから<アニメーション移行秒数(int/float)>の秒数をかけて<次のアニメーション名>のアニメーションへ移行する…らしいのだが、詳細は不明(情報求む!)。使用できるアニメーション名については ↓ の記事で解説します。
    (解説ページができ次第リンク貼ります)

  • <アニメーション移行秒数(int/float)>:省略可。<アニメーション停止トリガー>を指定する場合は必須
    最初のアニメーション終了時から次のアニメーションへの移行秒数をint型またはfloat形の数値で指定する。省略した場合は”0”として扱われる。

  • <アニメーション停止トリガー>:省略可。<アニメーションコントローラー>を指定する場合は必須
    アニメーションの停止条件となるクエリ関数を「 " (ダブルクォーテーション)」で囲んで指定する。条件を反転させたい場合は、そのクエリ関数の直前に「 ! (エクスクラメーションマーク)」を記述する。省略した場合はそのアニメーションのデフォルトの停止条件が適用される(多くは時間経過で停止)。使用できるクエリ関数については ↓ の記事で解説します。
    (解説ページができ次第リンク貼ります)

  • <アニメーションコントローラー>:省略可
    アニメーションコントローラーを指定する…のだが、詳細は不明。情報求む!

 

/playanimation の失敗条件

  • 構文が適切でない(スペルミス等)。

 

/playanimation の成功条件

  • コマンドとしては(おそらく)必ず成功する…?情報求む!
  • <アニメーション名>等のスペルミスがあったり、<アニメーション移行秒数(int/float)>を指定しなければならないアニメーションで秒数を指定していない、などの要因でアニメーションされない場合でも成功扱いとなるので注意。

 

/playanimation の実行例

例1)

コマンド:/playanimation @p animation.player.sleeping none 0 "query.is_sneaking"

実行結果:

  • 対象        :基準座標から1番近いプレイヤー
  • 最初のアニメーション:animation.player.sleeping (ベッドで寝る)
  • 次のアニメーション :none (通常状態に戻る)
  • 移行秒数      :0秒 (一瞬で変化)
  • 終了条件      :query.is_sneaking (スニークしたら)

 

例2)

コマンド:/playanimation @e[type=zombie] animation.idle_arm_1 none 2

実行結果:

  • 対象        :全てのゾンビ
  • 最初のアニメーション:animation.idle_arm_1 (両手の物を見比べる)
  • 次のアニメーション :none (通常状態に戻る)
  • 移行秒数      :2秒
  • 終了条件      :デフォルト (一定時間経過)

 

/playanimation の詳細解説

/playanimation の概要

/playanimation は指定したエンティティに指定した動作(アニメーション)をさせるコマンドで、<アニメーション停止トリガー>を指定すれば、その条件が満たされるまでアニメーションさせ続けることもできます。

プレイヤーに防具立てのポーズを取らせたり地面で寝たりなど、通常プレイでは到底不可能な動作をさせることも可能です。ただし変わっているのは見た目だけで、当たり判定は通常状態と全く変わりません。

 

/playanimation の実行結果等々

コマンドがエラーとなった場合…を書きたかったのですが、ほぼ確実に成功するので構文エラー以外は返ってこないと思います。

コマンドブロックが保持・出力する結果は「コマンドの実行に成功したか(True or False)」「コマンドが何人に対して成功したか(int)」の2点です。コマンドが成功した人数については、RSコンパレーターを用いてRS動力の形で取り出せます。

 

/playanimation の強み・使い道

ゲーム制作においては、プレイヤーやmobに何かしらの動作をさせたい時に使います。当たり判定等は変わりませんが、よりダイナミックな演出ができるかもしれません。

 

/playanimation の弱み・弱点

このコマンドは動作に失敗しても非常にエラーが出にくく、アニメーションされない時に何が原因なのかがわかりにくいです。また、ver.1.18.0のバグなのか、構文が正しくともアニメーションが構文通り正しく動作しない場合があります。その場合は、ワールドに入り直す(サーバーを立て直す)と上手くいく場合がありますのでお試し下さい。 

 

今回のまとめ

  • 『 /playanimation 』はエンティティに特定のアニメーションをさせるコマンド!

 

関連記事

  • コマンド構文解説-霧を操る…?/fog-
  • コマンド構文解説-エンティティにライド・オン!/ride-

  • コマンド構文解説-モブがアクションを起こす!?/event, /mobevent-

  • コマンド構文解説-何が起こるんだ!?PART2!/list, /locate, /schedule-
  • コマンド構文解説-コマンドに革命を起こす…!?/function, /reload-

 

当記事及び当ブログへのご意見・ご質問はいつでも受け付けております。

お気軽にコメント欄までどうぞ!

↓良ければポチッとお願いします。