Popular Post c0ffeeeee Posted March 16, 2020 Popular Post Posted March 16, 2020 (edited) RJW Animations Yo, the 1.6 update is here! Some cool new features: GroupAnimationDefs should fire a lot more frequently now! Offsets save to file again, and auto-adjust based on bodysize! Better info about animation selection in debugMode! Extra utilities for animatiors! Animation makers will need to update their Animations, here's a short guide to doing so: Spoiler the 1.6 version will be merged to master soon, so update your mod based on here: https://gitgud.io/c0ffeeeeeeee/rimworld-animations/-/tree/1.6?ref_type=heads In your GroupAnimationDefs, get rid of ActorShift, keep actor orders the same in the GroupAnimationContexts. Move interactionDefs to under the actor, combine with PawnTest_Multi if you need to. There's lots of examples on how to do so in the main mod, all animations are working. Please have the "0 priority weak context" animations have NO interactiondefs defined. This ensures they play if nothing else can be found. Also, some stuff got changed around that needs renaming: In each GroupAnimationDef: "GroupAnimationContext_RJWSex" -> "GroupAnimationContext" In each AnimationDef: <workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass> -> <workerType>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerType> Download: https://gitgud.io/c0ffeeeeeeee/rimworld-animations/ New features: Branching and alternate paths to animations (finish inside or outside?) Animation props--hands, toys, x-ray, cum, saliva, etc. Scaling and pivot options for more fluid, lifelike animations New Animation Maker! Better animation context selection: Bed specific animations, relationship/married specific animations Masochist/sadist specific animations (whipping?) Prisoner/slave specific animations (more whipping?) And more still to come! Follow progress and check out more gifs on the RJW Discord: https://discord.com/invite/CXwHhv8 _________________________ 1.4 Version Below [1.4] RJW Animation Framework! Hurray! Animations for your favorite mod Body textures from RimNudeWorld DEPENDENT ON RJW! Compatible with RJW 5.3.0 Download: https://gitgud.io/c0ffeeeeeeee/rimworld-animations Your mod order should look like this: 0. Harmony 1. Rimworld & DLC 2. Hugslib 3. ...other mods... 4. RJW 5. ...other RJW Addons... 6. Rimworld-Animations 7. Addons for RJW Animation Want to create your own animations? Check out the AMAZING RimWorld Animation Studio made by AbstractConcept! Check out this amazing pack with eighteen (!!) new animations by Teacher! https://gitgud.io/Teacher/BEV-Animation-Pack Special thanks to all you guys who have supported me on Ko-fi and elsewhere! You guys rock! Animation Catalog Spoiler By me, C0ffee (Built in): Male/Female Doggystyle Blowjob Reverse Stand-and-Carry Cowgirl Facing Forward Fuck Fast Doggystyle Sideways Blowjob Male/Male/Female Spitroast Female/Female/Male Double Blowjob Female/Wolf Doggystyle Female/Female Scissoring Cunnilingus Female x 3 Lesbian Threesome Female/Quadruped Cowgirl Animations by Tory187 Animations by AbstractConcept Animations by what_smellz Animations by Teacher https://gitgud.io/Teacher/BEV-Animation-Pack Addons, Patches, and Credits Spoiler Addons by Tory187 Spriter to XML converter by AbstractConcept RJW Race Support by Abraxas RJW Race Support by AsmodeusRex https://gitgud.io/AsmodeusRex/rjw-race-support.git Credit to Wasmachensachen for the sound effects Cool additions by AbstractConcept [mod] Rimworld-Animation Patch - Rimworld - LoversLab Credit to Antunes Florêncio (nem te conto) for Portuguese-Brazilian translation Compatible and Incompatible Mods Spoiler Compatibilities Humanoid Alien Races - Play with alien races RimNudeWorld [NL] Facial Animation - faces animate + context Show Hair With Hats - hats will animate Camera+ - closeup shots Incompatibilities Hats Display Selection - Hats Display Selection's transpilers throws errors when we try to patch the same methods, and debugging transpilers is nontrivial. Alternatively, try Show Hair With Hats or Dub's Apparel Tweaks Note: Most of the time, when a mod lists Hats Display Selection as a hard dependency, that usually just means they don't want pawns bald, and it's fine to install other hat mods that do the same thing. Facial Stuff most likely. I've heard some people have success if you load it after my mod, but enabling Facial Stuff's arms and legs will probably break animations. Rim of Madness - Vampires does their own thing with drawing pawns, incompatible Adeptus Mechanicus playable races has their own custom scaling which messes with animations on HAR body addons Rocketman - weird tickrate changes for pawns makes anims play weirdly Is there a particular mod you want patched? Let me know and I'll see what I can do How to Write Your Own Animations Using XML Spoiler Note: This tutorial is outdated, there are better ways to create animations. If you want more info, ask on Discord. I'm just keeping this here for reference. This assumes you're already familiar with XML modding in Rimworld. For more info, check out here: https://rimworldwiki.com/wiki/Modding_Tutorials/XML_Defs Also, a little Photoshop knowledge wouldn't hurt, mostly for part 6 of this tutorial. A Rimworld_Animations.AnimationDef consists of these main parts - Actors - What types of pawns will participate in your animation. Human or animal? Has a penis or can be fucked? etc. AnimationStages - the stages of animation your pawns will go through. I usually have 3 simple stages for most of my animations, slow, fast and orgasm, but you can have as many as you like. Clips - parts of an AnimationStage. Each individual clip defines the animation for an individual pawn for that stage. There should be a 1:1 relationship between your actors and your clips for each stage. Keyframes - parts of a Clip. The positions, rotations and angles your pawn will interpolate between during that clip. Step 1: Beginning your XML The sounds tag is for whether you want your animation to play your own sound effects, or just play the normal RJW sounds. Step 2: Define your actors each <li> element in <actors> corresponds to an actor type via their defName. In this instance, there are two actors, one for a humanoid (including HAR races) and one for a dog. isFucked and isFucking check for pawn genital type. Step 3: Define your stages Each stage must have one of each of these elements. playTimeTicks will be defined after the keyframes are written to ensure they finish once the animation has looped completely. Step 4: Animation Clips Each animationClip corresponds to the actors defined above, in their order. The first PawnAnimationClip is for the human, second for the dog. The layer element corresponds to the elevation of the pawn. If you want them to be behind other pawns, assign to layingPawn. Otherwise, Keep it unassigned. Step 5: Keyframes tickDuration determines the amount of time it takes to lerp from the current keyframe to the next. bodyOffsetX and bodyOffsetZ control pawn position relative to the origin; the center of a bed or wherever the receiving pawn was standing at the time. bodyAngle and headAngle control the angle of the body and head. The head is independent of the body angle. bodyFacing and headFacing controls how their body parts are facing. 0 is north (straight up), 1 is east (right), 2 is south, 3 is west. headBob controls how far your head is distanced from its origin. This is primarily used in the bj animation. These values come from step 0. Notice how the first and last keyframe have the same values and the tickDuration of the last keyframe is 1. This is important for looping animations to return to the position they began with. How come headBob is only set on the first and last tick? With the way it interpolates, because headBob is zero through the entire loop there's no need to change its value when it doesn't change at all. It will remain zero throughout the entire animation. Just set it at the beginning and the end and you're good to go. Step 6: Creating your animation Currently the way I make an animation is I bring Rimworld assets into Photoshop, create my own keyframes, get my measurements from there and put them into the def. You could probably do this with other image editing software like Gimp, but this tutorial is catered toward Photoshop users. Regular sized pawns are 1 unit by 1 unit in rimworld, so the scale of their body parts and their positions from the origin should reflect that. Here you can find the art assets of everything in rimworld: https://github.com/Alias44/RimWorld_1.0_Textures Here's the example psd used below: Rimworld-Animation-Grid.psd First, I start off with the grid completely empty. Then, I add in the textures I want using File > Place > thing.png. From the art assets linked above, you can get pawn bodies and heads from Textures > Things > Pawn > Humanlike. I'm going to place a normal naked female east first. Next, and this step is important, scale the body down to the size of one of the grid boxes. Next, I'm going to add a pawn head using the same File > Place. scale down to one the boxes, and then move to approximately where Rimworld would offset this head. Then create a new layer and add a small red dot right at the center of this pawn to indicate its center. Finally, select all 3 layers layers and press Ctrl + G to add them to a group. Great! Now this pawn is fit to make a keyframe. Links to imgur because LL doesn't want to display these gifs for some reason. Too big? https://imgur.com/ePtdgeQ Next, I added in a male pawn the same way as the female one, and animated them into these two keyframes. https://imgur.com/FoI3UNI Finally, the part we've all been waiting for, adding in the values to the XML. First, we start with the female, receiving pawn. Using the ruler tool, measure the distance from their center to the center point of the animation (the anchor). Add in the value under "H: " to bodyOffsetZ. The bodyOffsetZ should be positive because it's above the centerpoint. Imagine it like an x-y coordinate plane from your algebra class. Same thing for bodyOffsetX, and the "W: " value: This time negative because it's to the left of the centerpoint, like a coordinate plane. Now for the angles, you can select the pawn's body layer in photoshop, And transform it (Ctrl + T) to see the pawn's body angle. put the angle, located in the red circle, under bodyAngle. same thing for the head: select the head layer, Ctrl + T to transform layer: Put this angle under headAngle. And now bodyFacing and headFacing. Remember, North = 0, East = 1, South = 2, West = 3. In this case both head and body are facing west, so we put 3 under both. Don't be afraid to tweak these positions afterwards if they're slightly off from what you'd like. Remember, bodyOffsetX and bodyOffsetZ is like an x-y coordinate plane. Step 3.5: playTimeTicks Your playTimeTicks in your animationStage is the sum of every tickDuration keyframe for that stage. If looping, you should set it to a multiple of that. For example: Step 5: the sum of the tickDurations of each keyframe is 60 + 6 + 4 + 1 = 71. I set the stage to looping and I want it to loop 10 times, so I set the playTimeTicks to be 71 * 10 = 710. The sum of each stage's playTimeTicks is equal to the length of the animation. Remember that a RJW normal animation is about 2000 ticks, so the length of an animation should be somewhere between 1500-2500 ticks. Your end result should appear like this in game: Currently the only way to do it is by moving the other AnimationDefs from the folder so that your animation is prioritized. If you're reading this, remind me to make animations easier to test in-game. Previous Updates and Older Gifs Spoiler November 21, 2022 Added five new anims: Facing Forward Fuck, Fast Doggy, Sideways Blowjob, Double Blowjob, and Lesbian Threesome November 6, 2022 Changed HAR patch to be an optional dependency due to issues with Biotech November 18, 2021 Better male x futa anim context selection August 29, 2021 RJW 4.8.0 Compatibility August 14, 2021 Credit to Antunes Florêncio (nem te conto) for Portuguese-Brazilian translation July 24, 2021 Code refactor and tidying changed from rerouting jobs to simply patching rjw functions July 23, 2021 1.3 Compatibility: rendering changes fixes HAR bodyaddon anchoring fixes May 14, 2021 Added genital rotation values so that RimNudeWorld genitalia animate properly Set Animating to false on PostExposeData to stop errors on save-load during animation May 7, 2021 Fixes for the latest HAR update: Jobs failing misaligned offsets April 20, 2021 ? Updates for RJW 4.6.7.2 accounts for orgasm ticker changes orgasm ticker count accounts for animation length vs standard jobdriver length difference Accounts for neverending loop settings in RJW April 2, 2021 Tweaked the way threesomes are handled, should happen for bed animations again March 20, 2021 Functionality for RJW volume sliders March 7, 2021 Fixed errors with saving in the middle of animations January 30, 2021 Refactor to animation selection, now accounts for InteractionDef, oral animations should now be more accurate December 21, 2020 Patch for Hats Display Selection October 28, 2020 added button to shift order of pawns in animation, located in Offset Manager tab (now Animation Manager Tab) September 15, 2020 Fixed compatibility with Facial Animation July 25, 2020 Compatibility patch for HCSK July 14, 2020 Improved context ordering using RJW's sexprops New anim: Cunnilingus July 12, 2020 New anim: Horse cowgirl (works on all quadruped w/ hooves) July 7, 2020 Added check by BodyDef to actors. This should reduce the need for long lists of pawn defnames. June 1, 2020 Bugfix: Offsets now properly save May 29, 2020 Offset changer for different races. Enable in options, and you'll get a main tab window that can change the offset based on the pawn type. May 18, 2020 Compatibility with RJW 4.2.0 April 28, 2020 Better wound rotation drawing (bukkake on body won't float) Apply semen on animation orgasm, enable in settings Genital rotation control with RimNudeWorld (requires special version) April 25, 2020 Bugfix: Mod options not saving on game exit fix minor animation tweaks April 22, 2020 Humanoid Alien Races patch, still needs more testing Facial Animation patch -- now plays correct facial anim during lovin' Sound override settings in options + more various options Bugfix: Herms being raped are no longer top Bugfix: Layering problems April 20, 2020 New animation: Cowgirl Better checks for initiators/aggressors Quiver on orgasm--enable in options April 18, 2020 Tweaks for RJW 4.1.0 compatibility Animations now select based on context when applicable Easier way to offset based on alien race defname Bugfix: Null ref exception on masturbate, violate corpse April 17, 2020 New animation: M/F Reverse Stand and Carry, courtesy of Synlaine April 16, 2020 Bugfix: Pawn position reset before attempting to path while animating stops OOB Bugfix: Pawns doing JoinInBed no longer do laydown toil, stops slept on floor thought April 15, 2020 Bugfix: Cleared pawn path after animation finish. This should stop the rare cases of pawns getting standing still after anim April 13, 2020 Bugfix: Null ref exception on lovin' fixed April 12, 2020 Better anchor positioning and pawn repositioning on animation end. This should help with preventing animations happening in walls and pawns clipping out of bounds. April 10, 2020 Patched vanilla lovin' jobgiver to do JoinInBed job instead. Now vanilla lovin' should start an animation. April 9, 2020 Removed extra DLLs causing errors Bugfix: Pawns getting misaligned during animations fixed Bugfix: Clothing now properly gets removed and replaced April 8, 2020 Version control Bugfix: Selections of animations. Now an animation should play when available. Bugfix: Fixed pawn's bodies not showing when doing animation in bed. Todo list: Better handling of animation context: sex types, rape aggressors/victims, etc. Fix HAR floating head addons more animations New Animation: spitroast What's with this recurring theme of misc. animals popping into my gifs? 3+ pawn animations seem to be working well, but need further testing. Also the way RJW calls orgies is rare-ish, requires either multiple pawns to call casual sex on the same pawn at the same time, or multiple pawns to rape another pawn. -Also, now works with Show Hair With Hats -RenderPawnInternal changed from copy-paste prefix to transpiler. This should make it much more compatible with mods that also change RenderPawnInternal, or at least easier to patch By the way, if you get a pawn stuck in an animation loop let me know. Ed just recently revamped the sex jobdrivers and there's a chance I missed a couple. Any bugs, or just want to shitpost chat? I'm active on the RJW Discord: https://discordapp.com/invite/CXwHhv8 under the channel #rjw_animations Edited September 5, 2025 by c0ffeeeee 121
red3dred Posted March 16, 2020 Posted March 16, 2020 ... huh... can't say i ever expected this to be a thing, being realistic... But i'm not disappointed either. As much as RimWorld's place-holder Pawn art-style isn't the least bit pleasant to the eye, as long as this mod doesn't overwrite the rendering of the bodies ala Facial Stuff, you can probably toss in one of the body mods and this would be much better off. Honestly surprised you've managed to pull this off. Is this due to 1.1's modding ease update, or did you spend a long time trying to get this to cooperate with the game? 5
c0ffeeeee Posted March 16, 2020 Author Posted March 16, 2020 9 minutes ago, red3dred said: ... huh... can't say i ever expected this to be a thing, being realistic... But i'm not disappointed either. As much as RimWorld's place-holder Pawn art-style isn't the least bit pleasant to the eye, as long as this mod doesn't overwrite the rendering of the bodies ala Facial Stuff, you can probably toss in one of the body mods and this would be much better off. Honestly surprised you've managed to pull this off. Is this due to 1.1's modding ease update, or did you spend a long time trying to get this to cooperate with the game? It works the same way Facial Stuff's walking animations work, using keyframes and simplecurves to lerp between each. Currently it's not compatible with Facial Stuff, but it should just be a matter of tweaking my patches in pawnrenderer to pass the rotations and transforms, at least with hands and feet disabled. It took some code to write the structure of the animationdefs, but altogether not too bad. I really need to work on some kind of animation creation window... my current workflow for creating an anim is making the keyframes in Photoshop, measuring things out and transferring the angles and positions into my defs. 1
Drakeen Posted March 16, 2020 Posted March 16, 2020 How do I get the animations to activate? Does it not activate in bed? 2
c0ffeeeee Posted March 16, 2020 Author Posted March 16, 2020 8 hours ago, Drakeen said: How do I get the animations to activate? Does it not activate in bed? I'm still working on creating anims for now. Currently there's only one, and you can play it by doing a rape (easy to test). You can only call it by using a male pawn to rape a female pawn, because I still haven't put in a default when there's no available anim. It'll null reference error if you try to rape with different genders. 1
c0ffeeeee Posted March 16, 2020 Author Posted March 16, 2020 10 hours ago, TwistedNoir said: If it messes with the pawn rendering, it probably isn't compatible with Show Hair With Hats (a requirement for many new races) then neither. Dang. Looks neat regardless. I only change positions and rotations. It should be easy to patch.
RimmerInTheWorld Posted March 16, 2020 Posted March 16, 2020 this is super cool, looking forward to more updates! 1
fsadfsad Posted March 16, 2020 Posted March 16, 2020 This is something I've thought of many times for but never saw as something likely to happen. 1
c0ffeeeee Posted March 16, 2020 Author Posted March 16, 2020 2 hours ago, fsadfsad said: This is something I've thought of many times for but never saw as something likely to happen. I was just curious and looked at how Facial Stuff did their anims and thought, "hey, this looks like something I could do for RJW." ...I guess I was only caught up with whether I could that I never stopped to think whether I should 1
c0ffeeeee Posted March 17, 2020 Author Posted March 17, 2020 11 hours ago, RimmerInTheWorld said: this is super cool, looking forward to more updates! Thanks! I appreciate it ^^
xEightsx Posted March 17, 2020 Posted March 17, 2020 You've officially done the impossible almost o.o 3
Horatius_PL Posted March 17, 2020 Posted March 17, 2020 This looks based as fuck. Keep up the good work. 2
Algene Posted March 17, 2020 Posted March 17, 2020 if you pull this off you can consider yourself a hero for the rimworld modding community 2
pumacatrun2 Posted March 19, 2020 Posted March 19, 2020 Also very interested, the timber wolf anim is looking great. Also holding out for patching for Show Hair With Hats, keep us updated! Great work. 1
Algene Posted March 21, 2020 Posted March 21, 2020 I'm a little lost, how do you install the mod? I only get the old RJW, doesn't matter if I have both of them installed, only this or anything, maybe a mod conflict?
c0ffeeeee Posted March 21, 2020 Author Posted March 21, 2020 5 minutes ago, Algen said: I'm a little lost, how do you install the mod? I only get the old RJW, doesn't matter if I have both of them installed, only this or anything, maybe a mod conflict? Make sure to download from branch 1.1 and not master. Also, it's currently standalone, don't install rjw from ed86 alongside it. I'm still thinking about whether to make it standalone or try to merge. Also, mods that change RenderPawnInternal may not work, so hair with hats, HumanoidAlienRaces, etc. It's still in an early state and I plan on adding compatibility later.
Algene Posted March 21, 2020 Posted March 21, 2020 7 minutes ago, platinumspoons said: Also, mods that change RenderPawnInternal may not work, so hair with hats, HumanoidAlienRaces, etc. It's still in an early state and I plan on adding compatibility later. HumanoidAlienRaces was the problem, thought it was compatible, it seems that for now I will play with humans only, thanks for the hard work and the fast answer anyway, Platinum 1
red3dred Posted March 21, 2020 Posted March 21, 2020 10 minutes ago, Algen said: HumanoidAlienRaces was the problem, thought it was compatible, it seems that for now I will play with humans only, thanks for the hard work and the fast answer anyway, Platinum Can confirm that it does work with Alien Races that don't use fancy renderers. Garam most certainly will break it though; I can confirm because i've enabled the available animations for all my humanoid races on my end and it works fine! 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now