玩家动画库 更多旋转

玩家动画库 更多旋转

一个扩展了Player Animation Library和bendable-cuboids的库,改进了玩家动画旋转、弯曲变形和播放同步支持。

基础库

PlayerAnimationLibraryMoreRotation

English

PlayerAnimationLibraryMoreRotation 是一个面向玩家动画作者和模组开发者的附属库,用于扩展 Player Animation Library 和 bendable-cuboids,主要改进弯曲变形和手持物品动画,支持更好的多轴旋转,使自定义玩家动作更加完整和灵活。

主要功能

  • 扩展玩家身体弯曲变形,支持更丰富的轴向,而非局限于单一方向。
  • 允许弯曲骨骼通过 bend.position 和 bend.scale 通道使用位置和缩放。
  • 改进手持物品动画,使武器、工具和动作姿势能更准确地应用 Y/Z 轴旋转。
  • 改进部分玩家动画骨骼的旋转行为。
  • 保持旧的 Player Animation Library 动画兼容。
  • 为其他模组提供可复用的玩家动画播放、停止和服务器同步支持。

动画兼容性

现有的 Player Animation Library 动画应继续可用。旧弯曲格式仍受支持,同时可使用新型数组式弯曲值实现更丰富的动作。

示例:

"bend": 35
"bend": [35, 0, 0]
"bend": {
  "0.0": { "post": [0, 0, 0] },
  "0.5": { "post": [35, 20, -15] },
  "1.0": { "post": [0, 0, 0] }
}

弯曲骨骼也可使用位置和缩放:

"left_arm": {
  "bend": {
    "rotation": {
      "0.0": { "post": [0, 0, 0] },
      "0.5": { "post": [35, 20, -15] },
      "1.0": { "post": [0, 0, 0] }
    },
    "position": {
      "0.0": { "post": [0, 0, 0] },
      "0.5": { "post": [2, 1, 0] },
      "1.0": { "post": [0, 0, 0] }
    },
    "scale": {
      "0.0": { "post": [1, 1, 1] },
      "0.5": { "post": [1.25, 0.8, 1] },
      "1.0": { "post": [1, 1, 1] }
    }
  }
}

scale 使用倍率,1 表示原始大小。

Blockbench 插件

制作动画时,推荐使用 PAL Bend Player Tools Blockbench 插件。

推荐工作流程:

  1. 使用 PAL Bend Player Animation 创建新项目。
  2. 如需导入现有动画,插件可导入 PAL 原始动画 JSON、PAL 表情 JSON、DragonCore 玩家模型动画 JSON 和 PlayerAnimationLibraryMoreRotation 动画 JSON。
  3. 在 Blockbench 中对可见玩家骨骼进行动画制作。*_bend 辅助骨骼仅为编辑辅助,导出时会转换回真实的 PAL bend 数据。
  4. 使用 PAL:导出玩家动画 导出。
  5. 将导出的 JSON 放入资源包或模组的 assets/<namespace>/player_animations/ 目录下。

导出规则:

  • 如果动画没有弯曲数据,或仅有旧版 X 轴弯曲,插件会导出普通 Player Animation Library 动画。当动画兼容表情时,也可导出 PAL 表情格式。
  • 如果任何弯曲使用了 Y/Z 轴旋转、弯曲局部位置或弯曲局部缩放,插件会使用 bend.rotation、bend.position 和/或 bend.scale 导出 PlayerAnimationLibraryMoreRotation 格式。
  • 可通过创建 PAL Bend Player Animation - DragonCore 玩家模型 项目,导入旧动画并再次导出,以转换 DragonCore 玩家模型动画。

导出的文件不应包含运行时的自定义辅助骨骼。本库从真实的 PAL 玩家骨骼(如 torso、right_arm、left_arm、right_leg 和 left_leg)读取扩展的弯曲数据。


中文

PlayerAnimationLibraryMoreRotation 是一个面向玩家动画作者和模组开发者的附属库,用于扩展 Player Animation Library 和 bendable-cuboids,主要改进弯曲变形和手持物品动画,支持更好的多轴旋转,使自定义玩家动作更加完整和灵活。

主要功能

  • 扩展玩家身体弯曲变形,支持更丰富的轴向,而非局限于单一方向。
  • 允许弯曲骨骼通过 bend.position 和 bend.scale 通道使用位置和缩放。
  • 改进手持物品动画,使武器、工具和动作姿势能更准确地应用 Y/Z 轴旋转。
  • 改进部分玩家动画骨骼的旋转行为。
  • 保持旧的 Player Animation Library 动画兼容。
  • 为其他模组提供可复用的玩家动画播放、停止和服务器同步支持。

动画兼容性

现有的 Player Animation Library 动画应继续可用。旧弯曲格式仍受支持,同时可使用新型数组式弯曲值实现更丰富的动作。

示例:

"bend": 35
"bend": [35, 0, 0]
"bend": {
  "0.0": { "post": [0, 0, 0] },
  "0.5": { "post": [35, 20, -15] },
  "1.0": { "post": [0, 0, 0] }
}

弯曲骨骼也可使用位置和缩放:

"left_arm": {
  "bend": {
    "rotation": {
      "0.0": { "post": [0, 0, 0] },
      "0.5": { "post": [35, 20, -15] },
      "1.0": { "post": [0, 0, 0] }
    },
    "position": {
      "0.0": { "post": [0, 0, 0] },
      "0.5": { "post": [2, 1, 0] },
      "1.0": { "post": [0, 0, 0] }
    },
    "scale": {
      "0.0": { "post": [1, 1, 1] },
      "0.5": { "post": [1.25, 0.8, 1] },
      "1.0": { "post": [1, 1, 1] }
    }
  }
}

scale 使用倍率,1 表示原始大小。

Blockbench 插件

制作动画时,推荐使用 PAL Bend Player Tools Blockbench 插件。

推荐工作流程:

  1. 使用 PAL Bend Player Animation 创建新项目。
  2. 如需导入现有动画,插件可导入 PAL 原始动画 JSON、PAL 表情 JSON、DragonCore 玩家模型动画 JSON 和 PlayerAnimationLibraryMoreRotation 动画 JSON。
  3. 在 Blockbench 中对可见玩家骨骼进行动画制作。*_bend 辅助骨骼仅为编辑辅助,导出时会转换回真实的 PAL bend 数据。
  4. 使用 PAL:导出玩家动画 导出。
  5. 将导出的 JSON 放入资源包或模组的 assets/<namespace>/player_animations/ 目录下。

导出规则:

  • 如果动画没有弯曲数据,或仅有旧版 X 轴弯曲,插件会导出普通 Player Animation Library 动画。当动画兼容表情时,也可导出 PAL 表情格式。
  • 如果任何弯曲使用了 Y/Z 轴旋转、弯曲局部位置或弯曲局部缩放,插件会使用 bend.rotation、bend.position 和/或 bend.scale 导出 PlayerAnimationLibraryMoreRotation 格式。
  • 可通过创建 PAL Bend Player Animation - DragonCore 玩家模型 项目,导入旧动画并再次导出,以转换 DragonCore 玩家模型动画。

导出的文件不应包含运行时的自定义辅助骨骼。本库从真实的 PAL 玩家骨骼(如 torso、right_arm、left_arm、right_leg 和 left_leg)读取扩展的弯曲数据。