新建2024-08-19

Small Update and Feature Preview

小更新和功能预览

This update mostly for developers.

该更新主要针对开发者。

Animation Variables

动画变量

Animation side:

动画方面:

Animation supports keyframes for variables, but since the corresponding animation tool or BlockBench plugin has not yet been developed, the current method of adding animation variables is as follows:

动画现在支持变量关键帧,但由于对应的动画工具和BlockBench插件还没开发出来,故现在添加动画变量的方法如下:

1. Add an empty group in BlockBench

1. 在BlockBench中添加一个空组

2. Name it with format: var_name1_name2_name3 (underlines are separators, maximum of 3 variables per group)

2. 将其命名为:var_name1_name2_name3 的格式(下划线是分隔符,每个组最多三个变量)

3. Goto “Animate” and add keyframes for them.

3. 到“动画”页面并给它们添加关键帧。

The variable uses the first value of Position, Rotation, Scale.

变量会依次使用 位置,旋转,缩放 的第一个值。

Program side

程序方面

Variables only store in client, you can get a variable by using: ClientAnimator.getVariable(name)

边疆只储存在客户端,你可以使用函数 ClientAnimator.getVariable(name) 获取一个变量

If the running animation does not contain this variable, this function returns an unchangeable VariableHolder with a value of 0.

如果运行中的动画不包含这个变量,函数会返回一个不可更改且值为0的VariableHolder。

Quasi Inverse Kinematics

类方向运动学

This is an experimental feature, and only in client side.

这是一个实验性功能,且仅在客户端有效。

This feature provides three built-in variables: ikLeftArm, ikRightArm, ikHead, you can add it in animations to control IK weights.

该功能提供了三个内置变量:ikLeftArm、ikRightArm、ikHead,你可以将其加到动画中控制IK权重。

The IK target can only be set by programs, using: ClientAnimator.setIkTarget(bone, pos).

IK目标点只能由程序设置,使用函数ClientAnimator.setIkTarget(bone, pos)。

2024-08-18

Bug Fix

bug修复

Animations made with ModifiedRig result in incorrect translation/rotation of the Layers render.

使用ModifiedRig制作的动画导致层(Layers)渲染在错误的位置/旋转角度

Wrong pivoting point for model part "body" in Modified-Starting-Kits.

在Modified-Starting-Kit中模型部件body的枢轴点错误

2024-08-14

Update!

更新辣!

Something new?

加了什么新的东西?

Animation Format

动画格式

unlock Option

unlock(解除锁定)选项:

There's some little changes on animation files.

动画文件有了一些小改动。

Option "override" is replaced with "unlock", for animations, all model part will use override mode as the defualt, use "unlock" option can change specific model part to add mode.

选项“override”被“unlock”替换了,所有的模型部件(骨骼)将会默认使用覆盖模式,使用“unlock”选项将特定模型部件改为加法模式。

Example: { "unlock": ["HEAD", "LEFT_ARM", "RIGHT_ARM" ] } 

例子:{ "unlock": ["HEAD", "LEFT_ARM", "RIGHT_ARM" ] } 

For this option, the optional values are HEAD, BODY, LEFT_ARM, RIGH_ARM, LEFT_LEG, RIGHT_LEG.

对于该选项,可选的值有:HEAD, BODY, LEFT_ARM, RIGH_ARM, LEFT_LEG, RIGHT_LEG.

useVanillaRig Option

useVanillaRig(使用原版骨骼控制)选项:

Animations now support the use of a more intuitive RigMode, you can find the example BlockBench projects in attachments.

动画现在支持使用一种更直观的骨骼控制模式,你可以在附件中找到BlockBench项目样例。

For temporary compatibility with older versions of animation files, the useVanillaRig option defaults to true.

为了暂时兼容旧版本的动画文件,useVanillaRig选项默认值为true。

However, this will soon be changed to false in a future release, requiring users/developers to enable it themselves.

然而这会在不久后的更新中改为false,用户/开发者如果需要的话需要手动开启。

However, in the current version, if you need to enable the new RidMode, please add "useVanillaRig" : false to the animation file.

不过在当前版本,如果你想启用新的骨骼控制模式,请把 "useVanillaRig" : false 加到动画文件中。

Security Checks

安全检测:

When inviting others to interact or finding their way in front of the person who sent the invitation, the area in front of them is subject to the simplest security checks, avoid initiating interactions at a point where you can't stand.

当邀请其他人互动或寻路至发出邀请的人面前时,会对前面的区域做最简单的安全检查,避免在你无法站立的地方开始互动或掉坑里。

Event System

事件系统:

This feature is for developers:

这是个给开发者们的特性:

The new version adds an event system for when you need to execute some code on specific interactions/animations at specific moments.

新版本添加了一个事件系统,你可以在特定互动/动画的特定时刻调用一些代码。

This system almost same as Forge/Fabric API's event system, use SimpleAnimator.EVENT_BUS.addListener(event, listener) to add a listener.

这个跟Forge/Fabric的事件系统差不多,通过 SimpleAnimator.EVENT_BUS.addListener(event, listener) 添加监听器。

API docs may not be released that soon, but it won't be delayed for long.

API文档可能不会那么快发布,但不会鸽太久

2024-08-08

Support Minecraft 1.21 with Fabric and NeoForge.

在Fabric和NeoForge上支持Minecraft 1.21
Won't support Forge until I know why the environment doesn't support it : (

在我搞明白为什么环境不支持Forge前不会支持Forge : (

你已经到达了世界的尽头..
新建2024-08-06

An Exciting Update!

一个令人激动的更新!

Something new here?

有什么新的东西?

Fabric Version:

Fabric版:

SimpleAnimator is now available on Fabirc!

SimpleAnimator现在可以在Fabric上使用了!

Interactions:

交互:

Since this version, SimpleAnimator will include a set of network packages and mechanisms on Interaction.

自该版本起,SimpleAnimator将会包括一套关于交互的网络包和机制。

Interaction is a set of animations that interact between two players, it is also imported using the bedrock format animation file, but it may be slightly different from normal animations.

交互是在两个玩家交互间的一组动画,它可以通过基岩版格式动画文件导入,但是可能会与普通的动画略有区别。

Commands:

指令:

In this version, commands for interactions have been added:

在这个版本,关于交互的指令被添加了:

/interact invite <player> <interaction>

/interact accept <player>

Fixed Bugs

Bug修复

  • Client cannot run due to key frame interpolation resulting in NaN

  • 由于关键帧插值导致的客户端无法运行

  • Strange synchronization problem

  • 奇怪的同步问题

Starting Kits

动画开始包

Also, if you have no idea what an animation or Interaction project looks like, there are two BlockBench project files attached for reference :)

如果你对一个动画或互动项目该长什么样子没什么头绪,这里有两个BlockBench的项目用于参考。

These samples contain only the project and animation structure, not the specific animation.

这些样例仅包含一个项目的结构,不包含具体动画

2024-08-01

Quick Fix!

快速修复!

Fix bug:camera cannot animate during holding item in first-person

修复了在第一人称模式下镜头无法正常动画的问题。

2024-08-01

Quick Fix!

快速修复!

There was a bug in 1.0-SNAPSHOT that prevented the forge server from starting.

在先前的1.0快照中出现了一个会导致服务端无法启动的Bug。

2024-07-31
1.0-SNAPSHOT

What is SimpleAnimator?

什么是SimpleAnimator?

A Minecraft Forge mod for 1.20, provided api to add and play animations.

一个提供了API去添加和播放动画的1.20 MinecraftForgeMod 。

Users can use BedrockEdition animation and put them in [game]/animations or datapack under path [package]/animations.

用户可以使用基岩版动画并将它们放到 [game]/animations 目录下或数据包的 [package]/animations 中。

This mod should on client and server both sides, and animations can by sync from server.

该模组在客户端和服务端都需要添加,并且动画可以从服务端同步至客户端。

Something new?

有什么新东西?

Commands:

指令:

Just like the name of the command, you can play or stop the animation of the player executing the command:

如同指令名称一样,你可以播放或暂停执行命令者的动画:

/animate play [your_animation]

/animate stop

Animation

动画

You can use BlockBench to create your animation. If you have no idea with how to get a player model, you can download the BlockBench project right here.

你可以使用BlockBench来创造你的动画,如果你不知道从哪搞来一个玩家模型,你可以考虑从在这里下载一个BlockBench项目。

Else

其他

This mod support ReplayMod, which means all animation can be record by ReplayMod!

这个模组支持录像回放模组,这意味着所有的动画都可以被录像回放模组记录下来!

The mod is still in development and there may be various bugs :(

由于该模组仍处于开发中,所以可能会有一堆bug :(

你已经到达了世界的尽头..