3. Animators
You can move animators to a new tick by clicking move to a keyframe and clicking on the tick specified.
You can duplicate an animator containing all its information to a new tick by clicking on one.
You can play at a certain timespot by clicking play from here this is useful if you don't want to play the entire cutscene from the beginning when making changes.
You can scroll up and down the animator list if one tick contains more than 3 animators. This essentially allows an unlimited number of animators per tick.
You can remove an animator by clicking on the remove button below. Some animators like the model animators allow you to remove a sub-frame model (this is explained here https://github.com/FutureMaximus/Denizen-Cutscenes/wiki/3.-Animators#model-and-entity-animator) from a tick or the entire model animator.
To create an animator open the keyframes list, select a keyframe, and click add animator you'll then be given several animators to choose from.
The camera animator forces the player to be in the perspective of the cutscene camera and if the settings option bound to camera is on true normal activity is prohibited as well. Using the camera animator is not required you may use the tool for timed events as well.
After clicking on modify camera in the animator options go to the location you want the camera to be at this includes where you are looking at as well then chat "confirm".
Click on a present camera animator in a tick to view the camera options available and click change camera location then choose your designated location afterward chat "confirm" to set the new location.
You can set where the camera will look by right-clicking on a block, chatting a valid LocationTag, or chatting "confirm" for your location.
Determine if the camera will move to the next keyframe point if there is one. Note that look interpolation or camera look location will still work if those are being used.
The rotate multiplier determines how fast the camera will turn and rotate to the next keyframe point if look interpolation is being used. The input is a number.
Determine if the camera will smoothly rotate to the next keyframe point otherwise it will remain at the yaw and pitch of the previous keyframe point.
Determine if the camera has an upside-down perspective or not.
Determine if the movement path to the next keyframe point is linear or curved.
Linear
Smooth
You can record your movement for the duration specified if there isn't a keyframe in the way and if there is one it cannot exceed the keyframe so it will suggest a time or you can specify a duration less than the keyframe. The recording feature allows you to record complex movements for the camera this is generally useful for close-up shots that require precision. Note that this records every tick of your movement so storage usage may get high at extreme durations.
After clicking you can see the path the camera will move in the cutscene.
You can teleport to the camera location at the timespot.
The model animator has a few differences compared to the other animators to start there are root models and sub-frame models the root model is essentially the starting point and spawn point of where the model will appear in the cutscene and the subframe models are connected to the root model. A good way to view this type of data is like a chain where the points are connected with the starting point as the root model. So this means if we were to create a new model animator that exceeds the root model in time it will then open a GUI allowing you to chain the root model with the new model animator which in turn allows you to create a path for the model to move.
Here's a demonstration:
The location tool allows you to move a spawned model animator and set a specific location for you where you want the model to go.
If there is a previous model animator you'll be able to see the path from and to the new location.
The ray trace method allows you to move the model to your cursor and will go collide with blocks should they be detected. You can increase or decrease the range of the ray, determine if the ray will track passable blocks, track fluids, and you can also reverse the positioning of the model. This allows you to easily set locations for the model animator.
After clicking show model chat the ID of the model then use the command /dcutscene model my_model_name to specify what model to use for the model animator.
After clicking show model if there is a root model before the timespot it will bring a list of root models you may choose to chain the model with a new sub-frame model or you can create a brand new one by clicking add new model.
You can change the ID of the model this will also change the ID of all sub-frame models.
You can change the item displayed in the GUI for the model animator by chatting a valid ItemTag or hand for the item in your hand. This is useful if you have several model animators to determine which is which.
You can change the location of the model at the timespot this will use the location tool as well. After choosing a location chat "confirm".
The ray trace options allow you to determine if the model will be floating in the air, walking on the floor, or walking on the ceiling during movement. You can also determine if the ray trace will track liquids or passable blocks.
After clicking use the command /dcutscene model my_model_name.
Determine if the model will move to the next keyframe point.
After clicking run the command /dcutscene animate my_animation and the animation will play at the timespot. It will automatically tab complete animations if they exist for the model. To prevent an animation from playing do /dcutscene animate false and to stop one from playing do /dcutscene animate stop.
The path interpolation method the model will move you can see how this appears in the camera animator above.
You can see the model movement path in the cutscene.
Determine if the model will smoothly rotate to the next keyframe point or not.
You can set how fast the model will smoothly rotate to the next keyframe point by chatting a number. The default is 1.
You can teleport to the model location at the timespot.
After clicking show player model chat the ID of the player model which is used as an identifier for the model animator in the cutscene then after choosing your location chat "confirm".
After clicking you can change the ID of the player model this will also update all sub-frame models as well.
After clicking use the location tool to set your location and chat "confirm".
The ray trace options allow you to determine if the model will be floating in the air, walking on the floor, or walking on the ceiling during movement. You can also determine if the ray trace will track liquids or passable blocks.
Determine if the player model will move to the next keyframe point.
After clicking you can play an animation at the timespot using the command /dcutscene animate my_animation. To prevent an animation from playing do /dcutscene animate false and to stop an animation from playing do /dcutscene animate stop.
After clicking you can chat a valid PlayerTag or NPCTag and the player model's skin will change at the timespot.
The path interpolation method the model will move to the next keyframe point. You can see how this appears in the camera animator above.
This allows you to see the player model movement path in the cutscene.
Determine if the player model will smoothly rotate to the next keyframe point or not.
After clicking chat a number to set how fast the model will rotate to the next keyframe point if rotate interpolation is on true. Default number is 1.
You can teleport to the player model location at the timespot.
The run task animator allows you to run a Denizen task script at a specific timespot a use case scenario for this is playing a cutscene of an animated crate opening and giving the player rewards.
Task script: https://meta.denizenscript.com/Docs/Search/task
Run a task script: https://meta.denizenscript.com/Docs/Search/run
To start click on run task in the animator options and chat the name of the run task script in this case my_example_script.
You can chat a new task to run after clicking.
You can pass definitions to parse through the task script by chatting tags such as <player.name> or <list[<player.name>|<player.flag[hello]>]> for multiple definitions.
Determine if the run task is waitable or not this is useful for resource-intensive tasks.
You can chat a delay until the task is run.
The fake block animator allows you to display fake blocks that only the player in the cutscene can see for a duration.
After clicking fake block in the animator options you can specify the material with /dcutscene material my_material_name then you can right click on the location you'd like the fake block to be at or chat a valid LocationTag.
After clicking you can change the fake block location by right-clicking on a block or chatting a valid LocationTag.
After clicking you can change the fake block material with /dcutscene material my_material_name.
You can chat how long the fake block animator will appear for the player. An example is 1m or 20s.
For information on this https://github.com/FutureMaximus/Denizen-Cutscenes/wiki/4.-API-Usage#location-procedures
For information on this https://github.com/FutureMaximus/Denizen-Cutscenes/wiki/4.-API-Usage#location-procedures
You can teleport to the fake block animator location.
The fake schematic animator allows you to paste a schematic that only the player in the cutscene can see for a duration. These schematics can be found in "Denizen/schematics".
After clicking on the fake schematic in the animator options chat the name of the schematic note that it must be loaded which you can do with /ex schematic load name:my_schematic_name then you can right click a block or chat a valid LocationTag.
After clicking you can change the schematic to paste by chatting the new schematic name.
After clicking you can change the location where the schematic will paste by right-clicking a block or chatting a valid LocationTag.
After clicking you can chat how long the schematic will appear for the player. An example is 1m or 20s.
Determine if the schematic will paste with air or not.
You can paste the schematic in 4 different directions which are forward, backward, right, or left.
You can teleport to the fake schematic paste location.
After clicking cinematic screeneffect in the animator options chat the fade in, stay, and fade out in the format 1s,5s,2s.
You can change the fade in, stay, and fade out by chatting it with the format 1s,5s,3s.
You can change the screeneffect color by chatting a valid color. Example is blue or 150,19,255 for RGB.
The particle animator allows you to display particles that only the player in the cutscene can see.
After clicking particle in the animator options to specify what particle to use use the command /dcutscene particle particle_name then right-click on a block or chat a valid LocationTag.
After clicking you can change the particle by running /dcutscene particle particle_name.
After clicking you can change the particle animator location by right-clicking on a block chatting a valid LocationTag.
After clicking chat the number of particles that will play at the particle location.
You can specify how far the particle can be seen.
You can chat how many times the particle animator will play at the location.
This is the repeat rate or how often the particle animator plays a particle depending on the repeat count. You must chat a valid duration such as 1m or 20s.
This creates a random offset from the original particle location the input is a vector such as 2,5,2.
For information on this https://github.com/FutureMaximus/Denizen-Cutscenes/wiki/4.-API-Usage#location-procedures
For information on this https://github.com/FutureMaximus/Denizen-Cutscenes/wiki/4.-API-Usage#location-procedures
Some particles will require input to the "special_data" argument. The data input is unique per particle.
- For REDSTONE particles, the input is of format: |, for example: "1.2|red". Color input is any valid ColorTag object.
- For DUST_COLOR_TRANSITION particles, the input is of format |<from_color>|<to_color>, for example "1.2|red|blue". Color input is any valid ColorTag object.
- For BLOCK_MARKER, FALLING_DUST, BLOCK_CRACK, or BLOCK_DUST particles, the input is any valid MaterialTag, eg "stone".
- For VIBRATION, the input is || where origin is a LocationTag and destination is either LocationTag or EntityTag, for example "5s|<context.location>|"
- For ITEM_CRACK particles, the input is any valid ItemTag, eg "stick".
You can chat the velocity vector for particles to move. An example is 0,3,0 which would make the particle go up and 0,6,0 would make the particle go up even faster.
You can teleport to the particle animator location.
After clicking you may adjust the title with the options.
You can change the title in chat you may also use & for color codes.
You can change the subtitle in chat you can also use & for color codes.
You can chat the fade in, stay, and fade out in the format 1s,3s,1s.
You can chat the new command to run.
Determine if the command will be ran as the player or server.
Determine if the command is silent meaning there is no output in the console this may or may not work for some commands.
The message animator allows you to send a message to the player during the cutscene.
After clicking send message in the animator options you can chat the message you may also use & for color codes.
You can change the message and use & for color codes.
The sound animator lets you play a sound to the player or at a location.
After clicking add sound to specify what sound to play use the command /dcutscene sound my_sound_name.
After clicking use the command /dcutscene sound my_sound_name to change the sound.
You can chat the volume of the sound.
You can chat the pitch of the sound.
You can set where the sound will play by right-clicking on a block or chatting a valid LocationTag.
If the sound is custom make sure this is on true.
Determine what sound or if all sounds will stop at the tick.
The time animator allows you to set the time for the player in the cutscene this does not update the server time.
After clicking chat the time with a valid duration like 10000t.
You can chat how long the time will appear for the player.
Determine if the time is frozen or not for the player.
Determine if the time resets and reverts to the server time for the player or not.
The weather animator allows you to set the weather for the player in the cutscene this does not update the server weather.
After clicking you may modify the weather animator.
Determine what weather appears for the player in the cutscene.
Chat how long the weather appears for the player.
You can play another cutscene at the timespot.
After clicking chat the name of the cutscene to play.
The stop scene animator allows you to stop the cutscene at the timespot.
After adding the stop scene animator you'll be able to see that you can no longer add new animators beyond the timespot specified.
You can also see where the stop point is.
Good luck with your cutscene creation ;).