注目キーワード

【ScriptAPI】playanimationコマンドでカスタムエンティティのアニメーションを再生する方法【マイクラ統合版】

はじめに

playanimationコマンドというコマンドがあります。言わずと知れた、エンティティのアニメーションを再生するコマンドですね。カスタムエンティティを制作していると、このコマンドを用いてオリジナルのアニメーションを再生したくなることがあります。本記事では、その方法を解説し、playanimationコマンドでカスタムアニメーションを再生できるようにしていきます。前提として、アドオンの制作環境そのものが必要になる旨、予めご了承ください。こちらが詳しいです:

Step 1 アニメーションの登録

まず、アニメーションの本体そのものを作成します。ここでは例として、腕を振るattackというアニメーションを定義しましょう。リソースパック内にanimations/your_entity.animation.json(your_entityはカスタムエンティティの名前)を作成し、以下を貼り付けます:

{
  "format_version": "1.8.0",
  "animations": {
    "animation.your_entity.attack": {
      "loop": false,
      "animation_length": 0.5,
      "bones": {
        "right_arm": {
          "rotation": {
            "0.0": [0, 0, 0],
            "0.25": [-90, 0, 0],
            "0.5": [0, 0, 0]
          }
        }
      }
    }
  }
}
Copied!

animation.your_entity.attackが、このアニメーションの正式名称です。一応、これで定義は完了しましたが、playanimationで呼び出すことはできません。

Step 2 クライアント用エンティティファイルを編集

続いて、先ほどのアニメーションをエンティティに登録し、コマンドで呼び出すためのショートネームを付けます。リソースパック内にentity/your_entity.client.json(your_entityはカスタムエンティティの名前)を作成し、以下を同様に貼り付けましょう:

{
  "format_version": "1.10.0",
  "minecraft:client_entity": {
    "description": {
      "identifier": "your_addon:your_entity",
      "materials": { "default": "entity_alphatest" },
      "textures": {
        "default": "textures/entity/your_entity"
      },
      "geometry": {
        "default": "geometry.your_entity"
      },
      "animations": {
        "attack": "animation.your_entity.attack" // (1) ショートネームをここで定義
      },
      "scripts": {
        "animate": [
          "attack" // (2) ショートネームをここで登録
        ]
      },
      "render_controllers": ["controller.render.default"]
    }
  }
}
Copied!

これによって、attackというショートネームで、先ほど作ったアニメーションを呼び出せるようになります。

playanimationコマンドを実行

ここまで来たら、あとはコマンドを実行するだけです。以下のplayanimationコマンドをゲーム内で実行し、挙動を確認してみましょう:

/playanimation @e[type=your_addon:your_entity,c=1] attack
Copied!

コマンドの最後に指定しているattackが、ステップ2で定義したショートネームです。このコマンドが実行されると、指定されたエンティティが腕を振るアニメーションを1回再生されます。

最新情報をチェックしよう!