The following tutorial will go through the process of creating an animation snippet for use with Deviant Core. We will start with a complete snippet first and break it down along the way.
Here we have a complete snippet and what we should end up with in the end.
The following, is a simple animation containing two actors. We break down each section below it.
Starting with the Animation Properties. We'll exclude the actor list and discuss that a bit later.
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
animation_raw_display_name | This is what will be used for sorting as well as displaying (If an animation_display_name is not provided) | The value can be any string/text you want it to be. It is recommended to make this name unique from ALL other animations, so it is easily identifiable! | Yes |
animation_author | The name of the author of this animation, more than likely your own name. | The value can be any string/text you want it to be. | Yes |
animation_stage_name | This is used when identifying stages names. When another animation specifies its next stage animation within "animation_next_stages", this is the value that will be checked against. | This name should be absolutely unique from ALL other animations. It should also never contain any spaces or non letter, non number characters! Underscore is fine. | No |
animation_locations | This is a collection of named locations your animation will be available at. In this case, we are specifying FLOOR, meaning the animation will ]be available on the floor. | For a complete list of named animation locations, take a look at this page Animation Locations for DeviantCore | Kind of, if animation_custom_locations and animation_locations_by_tag are not provided. |
animation_custom_locations | This is a collection of custom locations your animation will be available at. In this case, we are specifying 12345 and 15432, meaning the animation will ]be available for objects with the custom id of 12345 and 15432. The Custom Id (Also known as UID) of objects can be found by SHIFT+CLICK on the object -> Deviant Core -> Show Available Animations (testingcheats on may be required). The Terrain will always have the UID of -1, use animation_locations above to make an animation available for the floor instead. | The UID of Objects. | Kind of, if animation_locations and animation_locations_by_tag are not provided. |
animation_locations_by_tag | This is a collection of Game Tags to specify a location your animation will be available at. In this case, we are specifying FUNC_YOGA_MAT, meaning the animation will be available on any object tagged with FUNC_YOGA_MAT. | For a complete list of tags, take a look at this page CommonGameTag | Kind of, if animation_locations and animation_custom_locations are not provided. |
animation_object | This is an object that details information related to the Object of the Animation, such as the animation clip it should play and events to play on it. | Animation Objects will be covered further down. | No |
animation_category | The category of the animation. This may be removed in the future, when tags are used exclusively. | HANDJOB, FOOTJOB, ORALJOB, TEASING, TITJOB, VAGINAL, ANAL, CLIMAX, DANCING | Yes |
animation_length | The duration of the animation in real time seconds. | A float (decimal number) indicating the number of seconds the animation will take in real time. | Yes |
animation_next_stages | A list of animations that can be progressed to or chosen automatically after this animation has finished. These are the "animation_stage_name" of those animations. | The "animation_stage_name" of the animations the animations that can be progressed to automatically. | No |
animation_tags | A list of tags that describe the animation. i.e. BREASTFEEDING for a breastfeeding animation. AGGRESSIVE for an aggressive/rape animation. ROUGH for a Rough/bdsm animation. Check the Animation Tags page for details on other Special Tags! It is recommended you use also use a tag matching your animation category, so it'll be good to go when the animation category is no longer used. For the proper use of this specific property, please take a look at this page Animation Tags for DeviantCore | For a complete list of Animation Tags, take a look at this page Animation Tags for DeviantCore | No |
animation_props | A list of props to use in the animation props can either be spawned and used during the animation, we will cover this further down! | You can have as many props as your animation needs. | No |
animation_actors | A list of actors and their properties, we will cover this further down! | You can have as many actors as your animation needs. | Yes |
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
object_animation_clip_name | The name of the Clip file. The name of the clip file and the instance identifier of that clip SHOULD equate to each other. | The name of a Clip file. | Yes |
object_effect_events | A list of events that will apply effects to the Object either for the entire animation or for specific parts of an animation. | Effect events will be covered further down, under Animation Events. | No |
These props are tied to the animation and will be spawned during the animation.
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
prop_id | This is what identifies the prop within the animation, for example when an error occurs or we need to do something with a specific prop, we'll use this property to locate it. i.e. Prop 2 interacts with Prop 0 | A non decimal number (integer) that needs to be unique from all other props within THIS animation. | Yes |
prop_animation_clip_name | The name of the Clip file. The name of the clip file and the instance identifier of that clip SHOULD equate to each other. | The name of a Clip file. | Yes |
prop_name | A name used for logging the prop and being able to identify the prop. It may be used as a display name in various cases. | Text that represents the name of the prop that should be unique to all other props. | Yes |
prop_type | The type of prop this is. | BASIC, DILDO, ANAL_BEADS, ANIMAL, TONGUE | Yes |
prop_guids | A list of decimal identifiers that point to prop objects. When a prop is to be spawned, one out of all of these guids will be chosen at random to be used. | Decimal identifiers of Objects. | Yes |
prop_effect_events | A list of events that will apply effects to the Prop after it is spawned, either for the entire animation or for specific parts of an animation. | Effect events will be covered further down, under Animation Events. | No |
bone_name | This is the name of the bone on the Sim to mount the prop onto. | The text name of the bone to mount the prop to. | Yes, if it is a mountable prop. |
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
actor_id | This is what identifies the actor within the animation, for example when another actor is interacting with this actor, they'll use this property to locate them. i.e. Actor 2 applies overlay to Actor 0 | A non decimal number (integer) that needs to be unique from all other actors within THIS animation. | Yes |
actor_animation_clip_name | The name of the Clip file. The name of the clip file and the instance identifier of that clip SHOULD equate to each other. | The name of a Clip file. | Yes |
actor_animation_category | The category or type of action this actor is receiving by other Actors. For example, if Actor 2 is doing vaginal with Actor 0, Actor 0 would have their category be Vaginal. Keep in mind, this property will likely be removed in favor of tags in the future! | HANDJOB, FOOTJOB, ORALJOB, TEASING, TITJOB, VAGINAL, ANAL, CLIMAX, DANCING | Yes |
actor_sim_type | This is the type of Sim that may take this slot. It specifies the Age, Species, and Occult Type that may take this slot. Please note that Non-Occult Sim Types may be taken by Occult Sim Types. i.e. ADULT_HUMAN may be taken by ADULT_HUMAN_VAMPIRE, but ADULT_HUMAN_VAMPIRE may not be taken by ADULT_HUMAN. | For a full list of Sim Types check out Common Sim Types for S4CL | Yes |
required_sexual_organs | A list of the Sexual Organs this Actor slot requires a Sim to have in order for the Sim to take this slot. Only Sims with all of the listed Sexual Organs will be allowed to take this slot. If PENIS is listed and a Sim with a VAGINA takes this slot, a Strap-on will be equipped automatically. If no "sexual_organs" are provided, this slot will be available for all variations of Sexual Organs. | PENIS, VAGINA, BREASTS | No |
actor_unequip | A list of clothing items to removed from Sims that take this Actor slot. i.e. BOTTOM will remove their lower body outfit, such as their pants. Do not keep this property if you do not want to unequip anything. | TOP, BOTTOM, HANDS, FEET, ALL | No |
actor_tags | A list of tags that describe the actor slot. i.e. For BREASTFEEDING animations, add the BREAST_MILK_SOURCE tag to the Actor that is GIVING milk and the BREAST_MILK_DRINKER tag to the Actor that RECEIVING milk (Their hunger will fill, milk levels will drop, etc.). For AGGRESSIVE animations, add the AGGRESSOR tag to the Actor that is the attacker, and the NON_AGGRESSOR tag to the Actor that is the victim. For ROUGH animations, add the DOM tag to the Actor that is Dominant, and the SUB tag to the Actor that is Submissive. Check the Animation Tags and Animation Actor Tags pages for details on other Special tags! It is recommended you also add a tag matching your actor animation category, so it'll be good to go when the actor animation category is no longer used. For the proper use of this specific property, please take a look at this page Animation Tags for DeviantCore | For a complete list of Animation Actor Tags, take a look at this page Animation Actor Tags for DeviantCore | No |
actor_interactions | A list of interactions this Actor does to themselves or other Actors. i.e. Actor 0 is penetrating Actor 1 and will apply overlay to them. | Actor interactions will be covered further down. | Yes |
actor_events | A list of events that will apply overlays to the Actor either for the entire animation or for specific parts of an animation. | Overlay events will be covered further down, under Animation Events. | No |
actor_props | A list of props that will be used with the actor in the animation, such as props that mount onto the actor. | Actor Props will be covered further down, under Animation Actor Props. | No |
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
target_actor_id | This is the identifier of the Actor RECEIVING this action from THIS actor. i.e. Actor 1 (This actor) is penetrating Actor 0 (target_actor_id), so this value would be 0. | A non decimal number (integer) that is a reference to another actor in THIS animation. You also reference the same Actor to indicate the actor is doing something to themselves. | Yes |
action_type | The type of action THIS Actor is performing to the Target Actor. Right now it has the same values as Animation Category, but may be changed in the future! | HANDJOB, FOOTJOB, ORALJOB, TEASING, TITJOB, VAGINAL, ANAL, CLIMAX, DANCING | Yes |
overlays_to_apply_to_target | These are the overlays THIS actor will apply to the Target Actor. If a CUM overlay is applied to the VAGINA and the action is flagged as Penetrating and Will Occur Inside, the Target actor may become pregnant! | A list of overlays to apply to the Target actor. See the next properties for more details. | Yes, but can be empty. |
overlay_type | The type of overlay to apply to the Target Actor. | TEARS, BLUSH, CUM, MILK | Yes |
overlay_body_locations | A list of locations the overlay will be applied to. i.e. If the "overlay_type" is CUM and MOUTH and CHEST are specified for "overlay_body_locations", then a Cum overlay will be applied to both the Mouth and Chest of the Target Actor. | EYES, FACE, MOUTH, CHEST, BELLY, BACK, LOWER_BACK, ANUS, VAGINA, PENIS, BUTT, BUTT_LEFT, BUTT_RIGHT, FEET, NIPPLE_LEFT, NIPPLE_RIGHT, NIPPLE_BOTH, INNER_THIGH, LEFT_INNER_THIGH, RIGHT_INNER_THIGH, OUTER_THIGH, LEFT_OUTER_THIGH, RIGHT_OUTER_THIGH | Yes |
is_penetrating_target | Whether or not this action is considered as "penetrating". i.e. If THIS actor is having their nipples sucked by another actor, THIS actor would be penetrating the other actor via their nipples. Alternatively, if THIS actor is putting a penis or strap-on in the Vagina of another Actor, THIS actor would be "penetrating" the other actor via their penis/strap-on. | True or False | Yes |
will_occur_inside_target | Whether or not this action will occur "inside". i.e. If THIS actor is climaxing and they keep their Penis inside another actor, THIS action would be considered as occurring "inside" the other actor. Alternatively, if this actor is Climaxing, but they pull out of the another actor at the end, THIS action would NOT be considered as occurring "inside". | True or False | Yes |
These props apply to the actor specifically and can be mounted on the Sim playing the animation.
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
prop_id | This is what identifies the prop within the animation, for example when an error occurs or we need to do something with a specific prop, we'll use this property to locate it. i.e. Prop 2 interacts with Prop 0 | A non decimal number (integer) that needs to be unique from all other props within THIS animation. | Yes |
prop_animation_clip_name | The name of the Clip file. The name of the clip file and the instance identifier of that clip SHOULD equate to each other. | The name of a Clip file. | Yes |
prop_name | A name used for logging the prop and being able to identify the prop. It may be used as a display name in various cases. | Text that represents the name of the prop that should be unique to all other props. | Yes |
prop_type | The type of prop this is. | BASIC, DILDO, ANAL_BEADS, ANIMAL, TONGUE | Yes |
prop_guids | A list of decimal identifiers that point to prop objects. When a prop is to be spawned, one out of all of these guids will be chosen at random to be used. | Decimal identifiers of Objects. | Yes |
prop_effect_events | A list of events that will apply effects to the Prop after it is spawned, either for the entire animation or for specific parts of an animation. | Effect events will be covered further down, under Animation Events. | No |
bone_name | This is the name of the bone on the Actor to mount the prop onto. | The text name of the bone to mount the prop to. | Yes, if the prop is a mounted prop. |
A list of events that can be triggered on an actor to apply overlays, equip CAS Parts, or play effects.
These events will apply overlays to the Actor.
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
overlays_to_apply | These are the overlays that will be applied, they will not persist when the animation has finished. | A list of overlays to apply. See the next properties for more details. | Yes |
overlay_type | The type of overlay to apply. | TEARS, BLUSH, CUM, MILK | Yes |
overlay_body_locations | A list of locations the overlay will be applied to. i.e. If the "overlay_type" is CUM and "overlay_body_locations" is MOUTH and CHEST, then a Cum overlay will be applied to both the Mouth and Chest. | EYES, FACE, MOUTH, CHEST, BELLY, BACK, LOWER_BACK, ANUS, VAGINA, PENIS, BUTT, BUTT_LEFT, BUTT_RIGHT, FEET, NIPPLE_LEFT, NIPPLE_RIGHT, NIPPLE_BOTH | Yes |
event_start_after_seconds | The number of seconds from the start of the animation until the event should be triggered within the animation. If not specified, the event will be triggered at the start of the animation. | A floating point number. Using decimal values can give you more flexibility, such as specifying a number of milliseconds instead. | Yes |
event_end_after_seconds | The number of seconds from the start of the animation until the event should be stopped within the animation. This value should be greater than the start seconds. If not specified, the event will run until the end of the animation. | A floating point number. Using decimal values can give you more flexibility, such as specifying a number of milliseconds instead. | Yes |
These events will play visual effects on the Actor.
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
effect_name | The name of the effect to apply. It is case sensitive. | Text that represents the name of the effect. For example "s40_sim_react_cry_heavy". | Yes |
effect_joint_name | The name of the bone to apply the effect to. It is case sensitive. | Text that represents the name of a bone on the rig of the Sim. | Yes |
event_start_after_seconds | The number of seconds from the start of the animation until the event should be triggered within the animation. If not specified, the event will be triggered at the start of the animation. | A floating point number. Using decimal values can give you more flexibility, such as specifying a number of milliseconds instead. | Yes |
event_end_after_seconds | The number of seconds from the start of the animation until the event should be stopped within the animation. This value should be greater than the start seconds. If not specified, the event will run until the end of the animation. | A floating point number. Using decimal values can give you more flexibility, such as specifying a number of milliseconds instead. | Yes |
These events will equip a CAS Part onto the Actor.
Below you will find each of the elements, what they do or are for, and what values are ok to put within them.
Element Name | Description | Values | Is Required? |
---|---|---|---|
cas_part_ids | A list of decimal identifiers for CAS Parts to equip. | Number without decimals. | Yes |
event_start_after_seconds | The number of seconds from the start of the animation until the event should be triggered within the animation. If not specified, the event will be triggered at the start of the animation. | A floating point number. Using decimal values can give you more flexibility, such as specifying a number of milliseconds instead. | Yes |
event_end_after_seconds | The number of seconds from the start of the animation until the event should be stopped within the animation. This value should be greater than the start seconds. If not specified, the event will run until the end of the animation. | A floating point number. Using decimal values can give you more flexibility, such as specifying a number of milliseconds instead. | Yes |