Thelist strictly covers channels dedicated (almost) solely to 3D Minecraft animated features. Gaming channels are not counted on the list, even if they have made a significant amount of animations, same with translation Channels and Channels uploading Animations from other Animators. (eg. some animations from TheAtlanticCraft actually are from FrediSaal)
All help would be very appreciated.
I would like to know how the animation system works in minecraft. I get a feeling that all the mobs are hardcoded into the game. Did notch really sit there and create the matrices for all the animation bones by hand?
The package was created to help mod creators to decompile, change and recompile the Minecraft classes. Instructions are included in the readme files which come with the package. The package contains scripts to decompile, recompile, and reobfuscate the game and the server.
Models in Minecraft are hard-coded. There is no notion of block hierarchy (only a list of blocks). This means animations are either done procedurally (in a very basic way) or hard-coded values with interpolation.
There are a few editors for Minecraft models like Techne or FMCModeler which allow importing / exporting Minecraft model code for mods, but they don't support animations since it is probably handled differently for each model.
I plan on adding animation support by storing a map with animation names as key and a list of keyframes as value. Each keyframe will be associated with a block and a value to animate. Between keyframes, values should be interpolated (either linearly for position or spherically for angles, search for lerp and slerp).
Minecraft block models are actually not hardcoded into the game as of 1.8 and can be edited using resource packs. The JSON modeling system is fairly easy to understand and models exist at /models/block. You can then look at the code to see how it interprets the JSON models.
Animation controllers (AC) are state-machines that can be used in both the resource pack, and the behavior pack. In the resource pack, animation controllers (RPAC) are used to play animations, and in the behavior pack (BPAC), they are used to play commands, and command "animations".
A state machine can only be in one state at a time. When a state machine "runs", you can think of it as moving from state to state, executing the logic inside, and then following transitions to other states.
Flowcharts are a nice way to visualize multi-state finite-state-machines, is it allows you to follow the logical flow of the animation. Let us look at a more detailed example, which adds a third explode state:
As you can see, states can go to more than one state at once. States can also be dead-ends (since the helicopter is dead, and doesn't need further animation). The branching flow of animation-controllers is a large part of what makes them powerful.
Animation Controllers are Minecraft state machines that allow us to play animations and run commands. Animation controllers always go under the animation_controllers folder, in either the RP, or the BP.
The ground state contains a list of transitions, which is how we get to other states. In this example, the default state is saying: Move to the flying state when q.is_on_ground is NOT true. In other words - start the flying animation when we fly into the air!
The flying state also contains a list of transitions. In this case it contains the opposite transition: Move to the ground state when q.is_on_ground is true. In other words - move back to the default state when we land on the ground!
Alongside the transition list, there is also a list of animations to play while inside of this state. In this case, playing the flying animation. This animation will need to be defined in the entity definition file for this entity.
Behavior Pack animation controllers use the same general format as RP Animation Controllers, except instead of triggering animations, they allow you to trigger commands. In general, they introduce two new fields:
When an entity loads into the world, it will enter the default animation controller state, in each of its attached animation controllers. If no initial_state is defined, the state named default is used. If this is missing, the AC will generate a content log.
Animation Controllers "reset" when an entity reloads (player join/leave, chunk reload, etc). This means that it will "jump" back to the default state. You should always have logic in your default state that can handle restarting any critical animations.
Only few blocks can exhibit true animations. While many blocks have states that can be changed via interactions or otherwise, these are usually instantaneous flips with no continuous transformation between them. Examples of blocks capable of animation include:
Almost all entities have animations of some sort, ranging from an idle animation which always plays to attacking animations and even dancing. Mobs also have walking or other fitting animations when moving.
Animation controllers decide which animations to play and when. Each controller contains a list of states that play one or more animations, each of which can be blended by a Molang expression if so desired. Controller files are stored as JSON in the animation_controllers folder.
A state defines a group of animations to process (each of which can have its blend value). Each state has an optional variables section, listing any number of variables that referenced animations can use. Each state also has one or more animations, using the name given in the entity's definition JSON.
If you would like there to be a cross-fade between states when transitioning, simply set blend_transition to the time you would like the system to take in blending between the two states. This is done as a simple lerp between the two states over the time specified.
A state can specify any number of transition scripts, listed in order. Each transition has a target state to switch to, and a script for whether it should switch or not. For each transition in order, evaluate the script, and if it returns non-zero, switch to the specified state immediately.
Variables are either set by the game or by a user-defined script that can be found in the entity definition JSON found in definitions/entity/.json. Variables have their value set by a Molang Expression. They can also have their value remapped via a linearly-interpolated curve.
This defines a controller with a single state. It will create a variable variable.ground_speed_curve that lives on the entity only while processing the animation controller for that frame. It will take the value of query.ground_speed, then remap it to between 0.2 and 0.7 based on the value of query.ground_speed going from 0.0 to 1.0It will play one animation walk that will blend from 0.0 to 1.0 as the ground speed increases from stopped to 2.3 m/s. The remap curve can have any number of entries. The animation controller will then play the entity-referenced wiggle_nose animations, followed by the walk animation, scaling the latter by the value of variable.ground_speed_curve.
pre_animation tells the script to figure out the values of those variables once a frame before animation occurs so that the animation can use those values in its formulas. If a variable didn't exist, it will create a new variable and its default value will be 0.0.
Because foo is equal to a sin wave, its values will range from -1 to 1. This means that you will have a period from 0 to -1 to 0 where only base_pose will play and then an equal amount of time where walk will play on top of base_pose as foo goes from 0 to 1 back to 0. base_pose will have a blend value of 1.0.
The engine tracks the animation of rotation, position, and scale separately. Within a channel, one or more keyframes are specified at arbitrary times, in seconds, from the start of the animation. If no keyframes are specified, a single keyframe is created at t=0.0 and all channel data is stored within that keyframe.
A talented creator has imagined what a Minecraft and LEGO video game could look like by making a stunning crossover animation. LEGO and Minecraft have crossed paths in the past with an official line of LEGO Minecraft toys, but the clever animation shows just how far the partnership could go with a dedicated video game or movie.
Minecraft and LEGO's similarities are hard to miss, with both the game and the toy offering block-building and creative fun with no limits. The Mojang game made the perfect fit for a LEGO collaboration, and over 50 official Minecraft LEGO sets and collectibles have been released since 2012. The LEGO Minecraft range includes microsets, minifigs, and BigFigs, with notable sets including The Nether, The End, and The Ender Dragon. While fans have the physical toys to enjoy, Minecraft and LEGO haven't released a video game.
Reddit user and artist CarAleatorio has shared their vision of what a LEGO and Minecraft game or movie could look like. The creator's one-minute video shows a LEGO minifig Steve exploring a LEGO and Minecraft world, complete with green and blue base plates for grassy areas and the sky. Steve is shown gathering resources in LEGO form, chopping down trees, storing items in his chest, and showing off his home. The video ends on a cliffhanger, with Steve facing down a group of Creepers. While the short might look like stop-animation using actual LEGO bricks, CarAleatorio has revealed they used 3D creation suite Blender, making the finished product even more impressive as each asset has been created by the user. The creator has more LEGO shorts made with Blender on their YouTube channel, Cara Aleatrio Studio.
The video might be the closest fans will get to an official LEGO and Minecraft digital project, with no news of a video game or movie in the works. TT Games, the developer of many of the LEGO games, is currently working on LEGO Star Wars: The Skywalker Saga, though its next project remains a mystery. It's hoped that Mojang and Warner Bros. Interactive, publisher of the LEGO games, will launch an official game or even DLC for the core Minecraft experience together in the future. Many of LEGO's other collaborations have seen the launch of both a video game and LEGO sets, like LEGO The Lord of the Rings, and LEGO Star Wars.
3a8082e126