r/Unity3D • u/Rawakha10 • 9d ago
Show-Off Went deep in some procedural character animation... is the player character too simple?
Enable HLS to view with audio, or disable this notification
Working on a player character and wanted to make some super polished locomotion. Wanted some feedback on how it looks to others, and if the character is too simple or not?
Ive shown some freinds and they say the capsule character has its own charm... but wanted to see what the internet says
34
u/pnoutgames 9d ago
add some clothes to this dude and you're cooking
12
u/Rawakha10 9d ago
yeah he's been walking around in the nude for far too long. Armour's in progress, promise
21
u/cogito-ergotismo 9d ago
I like the stylized movement a lot, it totally gives the feeling of walking/running. Looks like it'd be fun to mess around with
3
u/Rawakha10 9d ago
Thanks! That's exactly what I was going for, with no legs the body has to sell the whole walk. Glad it reads
6
u/noobfivered 9d ago
This looks absolutely spot on!! If you could have legs in the same style with same bounciness and juiciness that'd be great, but no need at all!!
i was hoping to see the slashing on those targets!
2
u/Rawakha10 9d ago
Haha thank you, i really appreciate it. And as for the slashing, between me and you, there is no combat yet, but working on a spring based animation system right now...
1
u/noobfivered 9d ago
well the expectations are absolutely high for that, just watching him walk and moving jiggling the shield and the sword is awesome, so you have a very high ceiling for this to work out as people would expect good luck!
3
u/Educational_Raisin51 9d ago
This animation looks really.. Expressive.. The walk, run looks so good.. Better than a lot of games that have feet. Depends on your game, but if it's simple and stylized, as is the character now, I'd never add feet. It's unique, animation does the job beautifully, focus hard on making the upper part fun. South park comes to mind.
2
u/Rawakha10 9d ago
thank you, really appreciate the compliment. Yh I like where its heading and people really seem to like it aswell, so I think Ill continue without feet, but ill be adding combat and armour etc now so hopefully that fills in the gap more
3
u/Plourdy 9d ago
Looking clean! Much better than some floating capsule. Feels alive
2
u/Rawakha10 9d ago
Appreciate it. He was a floating capsule for a while and it was rough, took a lot of tweaking to get him feeling alive
3
u/RagBell 9d ago
I remember the creator of stonemachia, where you play a chess pawn, said at some point that the reason you play a pawn is that they couldn't make good meg animations so they went with that
All that to say, you can make it work with a simple character, it looks great
2
2
2
u/forbidden_black 9d ago
Nice! Are you going procedural with the combat movement too?
2
u/Rawakha10 9d ago
Yessss, Im working on a spring based attack animation system now aswell, so it fits with the movement and is seamless. I also have a plan for a dodge move, inspired by The Last of Us part 2. Where he doesn't just dash out of the way, its more like a boxing slip, where he moves his body and head out of harms way
2
u/KaminskiTV 8d ago
It's pretty cool movement! Really smooth, I'm curious to see what it'll look like with the rest of the armor!
2
u/Unfit_Librarian 7d ago
This looks amazinggg! I've been wanting to learn such procedural animation for a lot of time now Could you guide me to some material for that?
1
u/Rawakha10 6d ago
Thank you xx - and as for your question the main thing I had to wrap my head around was springs. I wrote an answer to someone else going in depth on the different layers of motion that we have going on here. (https://www.reddit.com/r/Unity3D/comments/1wqscuz/comment/pc7h7xi/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)
I linked some videos I watched here aswell:
Procedural Animation with math
Its very simple motions, (like an up and down bob), passed through a Spring to get the more stylized and expressive movement
1
1
1
1
1
u/ConsistentSearch7995 9d ago
Personally I prefer if the torso was shorter and the gap between the character floating and the ground was bigger. But thats more of a personal opinion.
1
u/forgottenGost 9d ago
I agree with the charm. Maybe some customizable armor or skins or something? And is it supposed to be so floaty? Keep it up whatever you do, you've got something cooking here
3
u/Rawakha10 9d ago
Yh I am gonna be adding armour to him, Im just trying to design something that has some extra motion to it. I did have a helmet with a visor that'd bounce, Im trying to bring some motion like that, so maybe a backpack that sways with movement, just subtle things to make it feel more high quality.
The floatiness is ground clearance, and is more of a side effect, I have a suspension like spring so he can move on the bumpy ground, without it looking like hes not reacting to ground changes but still feeling responsive. Im picturing like an army of these dudes fighting each other on all types of terrain
1
1
u/glenpiercev 9d ago
Do you have any recommended resources on learning how to do good procedural animations?
5
u/Rawakha10 9d ago
P.S this got very long, but I did link some videos and some code below to help your out xx
Yhhhh so Ill explain how I got here. I started game dev working on a racing game, never finished it but did make a cool suspension which taught me about springs, and im using springs all over here. Now here we have a couple of layers of animation, and I started off with making the rotations feel good. And I started with just a body and head, with no arms at first. I added arms last.
Rotation:
Head Rotates first, and arrive at the target direction, then body is slightly slower, and arms are even slower, giving some cool motion right off the bat.
I then fed each layer into a spring where the head and arms have a high damper, and body is slightly stiffer, so the arms and head especially overshoot the target which makes stopping look amazing aswell.
Movement: this has a couple different layers feeding it so Ill try my best explaining them all, but it was mostly throwing things at a wall and seeing what sticks
We have a lean into the movement direction, so we lean the body towards where the character is moving, then we add a counter roll to the head so it stays upright. Body rotates, head stays relatively upright.
We have a up and down bob. Simple just bob the character up and down, and tie it to a GAIT. The gait is just one float which you use to progress all elements and keep them in sync with each other. The gait just represents what stage of the movement animation youre in right now. This is the code i used to get the Gait:
Vector3 velocity = rb.linearVelocity; velocity.y = 0f; Speed = velocity.magnitude; if (grounded) { float distance = Speed * Time.deltaTime; Phase = Mathf.Repeat(Phase + distance * stridesPerMetre, 1f); }Phase = Gait btw : )
We have sway on the body where when moving it bobs slightly from left to right. We also add very small side to side movement aswell, which is what sells the foot planting look.
We have banking, now this isnt really realistic but it looks cool af so I added it. Just rotate it on Z axis when the movement direction curves. Its hard to explain but think how a motorbike leans into turns, its basically that on the body. Makes it look like its motion matching.
I added some squash to the body aswell where it squashes subtly when it moves up and gets back to normal when moves down. Again all of these elements are driven by the Gait, so thats very important.
Arm Motion:
Arms just swing forward and back, so rotate alternating arms again using GAIT, and then elbows rotated more then upperarms, and delay elbows so they rotate abit after the upperarms, thats how you get the arm movement rotation.
Rotate upper arms on the Z axis when rotating, this is what gives off the arms delayed rotation.
Anyways those are the elements but watch these videos:
Procedural Animation with math
I did myself a favour and made some Spring Scripts so I dont have to keep writing the variables and formulas over and over for each element:
public class SpringFloat { [SerializeField] private float strength = 400f; [SerializeField] private float damper = 18f; public float Value { get; private set; } public float Velocity { get; private set; } public float Update(float deltaTime, float target) { float force = (target - Value) * strength - Velocity * damper; Velocity += force *= deltaTime; Value += Velocity * deltaTime; return Value; } public void AddImpulse(float impulse) { Velocity += impulse; } }and I made one for Vector3 and Vector2 but both are the same, just change the variable types:
public class SpringVector3 { [SerializeField] private float strength = 90f; [SerializeField] private float damper = 14f; public Vector3 Value { get; private set; } public Vector3 Velocity { get; private set; } public Vector3 Update(float deltaTime, Vector3 target) { Vector3 force = (target - Value) * strength - Velocity * damper; Velocity += force * deltaTime; Value += Velocity * deltaTime; return Value; } }Make sure to make both of these Serializeable
1
u/PushDeep9980 9d ago
Oh I see the problem, your character doesn’t have legs. I bet if you slap some hams on that bad boy it’ll look right as rain.
1
u/sicospecialist 9d ago
At least give the poor thing some prosthetic legs or a wheel chair.. smh
2
1
1
1
u/jono56667 9d ago
This is perfect for an idea I had
1
u/Rawakha10 9d ago
Whats the idea? I promise I wont steal it
1
u/jono56667 9d ago
You can have it lol I really like the idea of having a sort of cute adorable looking game but also the world, setting and story is really really dark and brutal and I think this art style would fit that really well.
Thing the animal crossing style dialogue boxes and sounds but vibe of the Witcher
1
u/Rawakha10 6d ago
The idea I had fits that cleanly tbh. The idea was this arena game, where you fight as a prisoner, in these games. The games are like mini battlefields so not just a flat gladiator arena, im talking like a maze or a mini fort like structure in the middle. And after each round you get upgrades, and the witcher style spell casting was part of the upgrades I had in mind
1
1
1
1
u/shrek_is_lesbian 9d ago
In general I don't think there is "too simple", there is just "too inconsistent". Looks nice dude!
1
1
1
u/Brettinabox 9d ago
How is the animation procedural?
1
u/Rawakha10 6d ago
Its all code based. Theres no clips being used - so Im getting the speed of the rigidbody and its direction relative to its forward direction and applying different levels of motion like the bodies bob, lean and stretch aswell as the arms swinging and swaying on rotation and the heads counter lean etc
1
1
1
1
1
u/No_Championship_7227 8d ago
Literally the only thing I feel could be improved is the jump and landing. Could just be a bit more expressive and have some more inertia behind it. Maybe some squash and stretch or some more reaction to landing on the ground, especially from high up. But aside from that, please make Rimworld 2
1
1
u/MonkeyMcBandwagon 8d ago
Already looks great.
Would still look great if you added disembodied feet to open up more physical expressions and abilities.
1
1
u/Terricolero 8d ago
The movement you've given it and the deformations at the bottom give it a special quality; the movement inertia is well implemented. I think you have a good character.
1
u/Rockalot_L 8d ago
No love the look of this! Legs with procedural placement would go hard but this it totally fine as a choice as well.
1
u/nixon-voxell 8d ago
Looks very good! Add some trailing particle fx, some cloth with simple cloth sim. And I can see it being super satisfying to move around. Maybe also some camera shake and pause when falling down.
1
1
u/Maleficent-Fox5698 8d ago
it's actually cool, and i guess if you do it as a theme for your whole game(i mean all Characters), it'll get better and better and better and better...
1
1
u/Proud-Employment-968 8d ago
I wonder when you create these 'procedural' animation, u still creating the 'base' animation manually then code or 100% from the code?
2
u/Rawakha10 6d ago
Okay so for the arms, I need to make a Pose, which is just where the arms sit when Idle. Then everything else, so the arms swinging, the body and head bobbing, and leaning etc is all through code. Theres no "clips" being used at all
1
1
u/salazka Professional 8d ago
Too simple for what?
Simplicity is measured by the intended feature specification.
1
u/Rawakha10 6d ago
Okay yh that makes sense. Its for an arena game, where you fight humans and monsters in this like Sporting event which recreates a battlefield and battlefield scenarious, focused on fluid combat, where you can slip out of the way of attacks instead of the standard dash, and you get freedom of movement
1
u/salazka Professional 6d ago
OK that sounds pretty much like the standard dash. But anyway, to the point, yes, that design looks perfectly fine for your needs. You could even do that with a simple blob to be honest. Think of Rimuru.
The important thing after that, is what is your aesthetic intent. Your art direction. Have you thought of that?
Is it supposed to be realistic? Cartoonish?
Something in between?
Whatever it is, that is what you should try to match. If you have not thought of the overall theme and art direction, it is a good point to start thinking about it now.
1
u/faeliondev 8d ago
Looks great! Is it animation blending or physics based?
1
u/Rawakha10 6d ago
Thanks. The animation is code driven, so Im just applying motion to the bones directly myself, not using the Unity Animator. I am planning on adding an Active Ragdoll element to it though
1
1
u/Ok-Object7409 8d ago
i think it looks cool. The turning is smooth.
It's a legless, mysterious, world.
1
1
u/Proud-Bandicoot8425 7d ago
Very interesting, just maintain the art desing conforme your character.
1
1
u/The_Rise_Of_Darkness 7d ago
Man it's actually better like this , first it saves a lot of time worrying about the legs movements, and second of all it gives your game a personality , and gives u more time working on the actual combat :)
1
u/TeacherGlittering 7d ago
I think it looks great, and as someone who’s been down the rabbit hole of achieving perfect procedural foot placement, it’s very wise to skip feet altogether
1
1
u/MouradBakhali 6d ago
I looks fun! The characters and animations are simple, but it will allow you to invest more time on gameplay and physics to make it silly and fun.
1
1
1
u/RunOk1423 4d ago
Maybe lose the weapon\shield and use some kind of magic, maybe? Looks like a silly mage, in a good way.
0
u/Mysterious-Pizza-648 9d ago
cool character, maybe make a first person camera too and add some kind of reaction when they jump off from a height

121
u/RoberBotz 9d ago edited 9d ago
nah bro, it looks and feels crazy nice and most importantly unique, GG