#animation
1 messages Β· Page 39 of 1
To get the anim BP, you should be able to get that from the skeletal mesh.
I think it's just a property.
You should be able to copy the same setup as the third person template, that's used to talk between the character and the abp
Begin Play/Initialise > Get Owner > Cast to Third Person Character aka Your Blueprint > Set Variable (Character Reference)
but the variable isnt in Third Person Character, its in the weapon BP, ive tried getting character owner but always come up empty handed
Can you show your graphs?
β βοΈ
And yeah so you'd instead cast to your Weapon Blueprint using the Get Owner
this is the Anim BP where im trying to get the variables stored in the revolver 'Big Iron' whos parent class is BP_WeaponsMaster
oh yeah you're setting the variable with the same variable, which is empty
Is this in your Weapon ABP or your Character ABP?
Weapon ABP
I tried to mimic what i saw in my Character ABP, how do i make the variable not empty?
Instead of casting off this variable you will wanna use Get Owner
coz you're casting from it, which is empty, and setting it, so setting it to empty again
Yup!
Do you need to be casting to your character too?
@nimble torrent Thanks, I'll need to look more into that.
That was legacy code, the character has an object variable of 'Current Weapon' that i was trying to access
right.
Is that error after setting the the cast from Get Owner?
Is your ABP assigned in your weapon BP?
Yes on both counts
sorry i made a mistake
i used get owning actor previously, this is the error with get Owner
Hmm
What about setting the 'As BP Big Iron' variable from BP Big Iron?
What did you get from 'Get Owning Actor'?
The actor itself was null, or it was null after you cast it?
And your gun is it's own actor?
How are you spawning it?
There a static mech actor on the ground that spawns the blueprint in my character's hand when i press E on an event beginOverlap for a sphere collsion
when the begin play starts when i pick it up, i close out the instance and get the NULL error
Again - did you test what you get from 'Get Owning Actor' before casting?
By, for example, printing it?
It returns as BP_BigIron0
Neat. Well that certainly should be able to cast to BP BigIron.
You're saying it doesn't?
What happens if you print right after casting?
π
im trying to get a float variable from the BP to do a bone transform in the ABP and thats where the error comes from
What kind of variable is your As Big Iron variable? I wonder if it's not set because the variable type is incorrect in its object reference?
OK, if you don't get 'none' when you print after casting that means the casting worked.
So you are storing your variable then.
so where is the null coming from?
Hmm - could be an order of operations thing. I remember having initialization trouble before. If you print that variable in the update function, what do you see?
Does it continuously error, or does it error once, and then print fine?
Still one error, then prints the display name every tick
nailed it lol
Might require an is valid check first?
Yeah, try that.
btw thanks for the help guys, ive been trying to nail this thing down the last 2 weeks
π
Oh you're coming off begin play? There's also an Initialisation function IIRC that might be the point in the flow you need
I've decided to scrap the DTL stuff since its causing me too much issues..
the flight animations have been updated to 5.4 so im going to go back into Daz and prep a fresh character from there and use Kawaii physics π
im getting a single 'notValid' for the isValid check then nothing
Oooh. OK, I think I understand what's happening.
So when you build a BP, all it's components are assembled first. So your Skeletal Mesh component is generated before the BP fully exists.
It generates it's AnimBP, which gets a reference to it's owning Actor, which is a valid pointer, but isn't fully initialized.
Then it tries to run it's update function, but it's asking for a variable that doesn't exist yet, as the main BP is still assembling itself.
makes sense, it's basically the same as your null ref but just telling you about it instead of an error lol
That's why you get one frame of error.
Instantiation errors are ridiculously common.
Good luck! Make absolutely sure that you're working with the correct skeleton when you start over!
I remember going through a lot of that with possessing actors
okay things are making sense now lol!
does building it from Initialisation instead of begin play solve it?
I don't think that will solve it, but it would be interesting to test.
The Blueprint Initialize Animation event is executed once when the Animation Blueprint instance is created to perform initialization operations.
So presumably the skel mesh would exist at this point
it takes away the error!
woo
one last thing however, im having a print for the remaining bullets in the gun on the AnimUpdate event, and whenever i fire the gun, the print string no longer fires, is that something i should be worried about?
i guess it depends how that is set up lol
Nice!
ill have to revisit that another time unfortunately, but you guys have been a big help! really appreciate it!
np @nimble torrent is the real mvp
Glad we could be of assistance.
When you get or set transform by name does the engine do an iterative or recursive search of the skeleton tree?
I wonder if doing so many times will incur a performance hit
It seems pretty fast, considering they don't provide alternative methods of referencing.
It's all name based.
things like:
So my guess would be some kind of hashlookup.
Ok yeah a hashmap would be super fast
thanks, that would be for a rendered cinematic
Then you're probably better off doing it in Blender or Maya.
And importing the resulting animation into Unreal.
I believe you could animate spline mesh component directly in Sequencer.
If the snake is already rigged and skinned (no pun intended), you can use Control Rig to assemble spline controls and animate it in Sequencer
Using the second option would be easier to control, but you'll be at the mercy of the rig you give to the snake mesh
thanks! I think if i can do it in Unreal that'd be best (so I learn) cause if the snake needs to animate through a very specific path, there would be a lot of going back and forwards from Blender, i'm guessing? I'm watching tutorials of how to do a rig and apply to skeletal mesh, I think I'll have to tackle the control rig after π
Do note that Control Rig itself doesn't rig and skin the mesh itself, you'd still need to rig the bones in Blender/Maya
Once you rigged the snake, then you can add Control Rig on top of the skeleton rig and animate it in Unreal.
There is a built in skeletal mesh editor, but as of 5.4, the results are iffy at best, so I won't advise using it
oh i see, I was looking at the UE Skeletal mesh editor and it seemed simple enough but I guess i can rig in Blender. Then in regards to the control rig, is there much blueprinting to do in roder to animate through the spline? thanksfor help!!
Not much, a simple spline node in Forward Solve using 4 (or more) controls will do the job.
I want to achieve motion capture in Unreal Engine 5, using an MPU6050 sensor connected to an ESP8266 (Node MCU) module. The sensor data will be transmitted to Unreal through a simple UDP protocol system. I have attached my Blueprint script and ESP8266 code for the same.
I am unable to directly test these scripts on the sensor, since it is yet to be delivered. Can somebody please verify if this prototype would work if connected to a static mesh in the form of a 3D bike model?
Can't help you sadly but that's an interesting project
I made a button and also a camera sequence. Now I want to script that if this button is clicked then only the sequence starts. Any solution?
So it seems just having an Inertialization node in your AnimBP will 100% crash the editor in 5.3 when trying to animate an Actor in Sequencer via control rig.
Anyone got any workarounds? I could remove the AnimBP but that's surely not what's intended right...?
Do you know where I can get help for this kind of topic?
Hey friends π I followed the SmartPoly and Gorka Motion Matching tutorials I have a few bugs when implementing :
When I press two keys like up+right, the character starts walking animation instead of running,.
Do you know how to implement fall and jump with Motion matching ?
Thanks a lot again !
An earthquake throws everything to the floor- triggered via sequencer. do i treat my static meshes layout and the abc versions of these as two different setups? Or can i drive the initial setup with the animation data? thanks
Hello, i hav a question. Can somebody tell me if its possible to have a True First Person Setup (1st person view = 3rd person view) but change the character and weapon FOV seperate from the camera fov?
So the green area should stay the same, but the weapon and hand models should come closer to the camera :
Yes it is possible. I've seen someone do it.
A quick search yields me this: https://forums.unrealengine.com/t/first-person-viewmodel-correction-z-clipping-and-separate-fov/147783
Sometimes the weapon looks weird with high camera FOV and it can pass through the wall. I was seeking for a solution and finally made one. Thanks to this forum https://forums.unrealengine.com/deveβ¦fov-for-weapon for providing a code from unreal tournament weapon material functions and Unreal Tournament development team for making these files in...
This is for normal First Person, not TFPS
You want to use a full character, not just a pair of arms correct?
And the fp camera is stuck to the head
Yes
Hey guys, can I play two animations with root motion at two Character Meshes at the same time? I have encountered a really weird behavior: I have two NPCs with "turn 180" root motion animation. If I play then at the same time on two characters, they just spin around like crazy. I did some research, and what I thing is happening, is that somehow the root motion animations are sharing data with each other, maybe through the skeleton... If I disable root motion on the animation, they both works correctly.
could anyone tell me why this is happening to my third persons camera? it's like it's rotating 90 degrees and is overly large in the take recorder
Anybody know if the Asset Override Editor in a child animation blueprint is only able to override blend spaces? I was hoping I'd be able to assign something (whether it be a sequence player or some sort of Animation Layer Interface stand in - a whole other series of questions) in the Animation Blueprint Template, and then override that with the correct animations in each instance.
I believe this is an export issue. If you exported it yourself you can try to export it again with the correct axis alignment settings, or you might be able to get away with just rotating the model in it's blueprint so it's facing the correct direction. I don't have a ton of experience with animating in UE though so I could be wrong. Just some things I'd try, personally.
I've been having trouble trying to change the scale of my character. I saw a post somewhere that I should be trying to use delta transform scale. If I only do that and try to export it through auto rig pro, the animations are completely broken. I tried to also apply the scale after setting the delta scale, and a similar thing happens. I have almost no experience working with Blender and the person that was originally working on the character left the team.
https://www.loom.com/share/92fdc893027e466e939f3976c6f1d1f2?sid=93638000-353d-4cae-bb9c-be739ed4812a
ABP Templates require a pretty awkward workflow.
You pretty much cannot do anything in an ABP template that directly references a skeleton or bone. Layered blend per bone comes to mind. So since you can't directly reference a skeleton you can't play sequences by referencing an asset. You need to instead create variables that you set in the child ABP and use those to play them. However, now you are kind of locked into a sequence and if you wanted to play a blendspace instead, well, doesn't work. You'll have to make heavy use of linked anim layers for this kind of flexibility.
The problem is that not all nodes expose all their properties as pins. For example layered blend per bone with blend masks. So you simply cannot use LBPB at all, among other nodes.
The solution again is to use linked layers and fill those functions in your child ABP. You see where the trend is going? Yup, bunch of linked layers in your template.
Now this might not be much of a problem. It makes the template really generic and reusable.
If not for the fact that you cannot override animation layers in the child ABPs. You have to manually manage their link/unlink at runtime.
Make sure that before using templates that this is not a dealbreaker to you.
Yea I was actually able to work out exactly what I want. So I now have an Animation Blueprint Template with all of my logic in my event graph and anim graph. It uses an Animation Layer Interface so in each of my states, I pass in one of those layers into the output node. Then, I make a child blueprint from the template, set the skeleton in the class settings, and implement that animation layer interface, overriding each of the layers with that specific monsters animations. And then yea like you said, link the layers at run time. Seems to work great. Still working out a few kinks, but I don't think that they're related to the workflow, just my lack of knowledge of animating. lol.
It can get really complex quickly, but if works for you all the better!
I think it should in my case. Luckily my animations are pretty basic. The game is stylized like a ps1 game so I'm hoping to not use blend spaces at all to keep it looking like that era of games, which makes things a lot more simplified.
One thing I did just notice though is that the settings like the play rate or loop animation are taken from the Template, not from the child class. Is there a way to sync those easily or is that going to be something that I need to go through and manually set all those things when I assign the layer?
Variables
You can expose them as pins and then set them via variables
Another really annoying thing about templates
Yea like wtf. why is there no one button check to choose between which one to use? lol. FML.
lol that sounds like a nightmare.
Does anyone have a input on this, please?
That behavior is very strange. Under normal circumstances, instances of blueprints should have no communication with each other.
Right...
I'm playing the animations from a level sequence, if that changes something
Hey. I have some hand raising montage. I also apply some bone rotation in ABP depending on camera rotation. I would like to use a rotation from montage when I use it which I achieve via blending. But If my hand is already uplifted on montage start, during blending it goes to initial position (lowered) and then rises cuz montage use idle pose as start and end. My question is how can I make a hand to rise from its current point without blending to initial position first?
its funny how often I see still problems like this popping up. I run into it even with Paragon assets. I asked last week if there was some automation to fix this because I got tired, so I just ripped out a python plugin that fixes the ik_foot bones in the AnimSeq so I never have to do these manual steps again and its sharable
Interesting! I'd love to see the script, and how it works!
no way was I going to manually fix ik bones π it took a few hours to get this working but it'll save me hours of despair in the future and hopefully can help others
I don't really know anything about making editor plugins and publishing on the marketplace so if someone wants to help me to do that, I'd gladly make this even easier to install
That seems probable. If you're using the same level sequence for two characters... I could see that messing up. Level sequences are not designed to be used as Smart Objects.
Hmm, tricky.
You could add a curve track to your hand raising animation that tracks how high the hand is relative to the spine, and then when you go to trigger the animation you could check the current height of the hand, then seek forward in the animation to the point where the height curve is high enough, then start there.
But that would be exceedingly elaborate.
I don't recommend doing that.
That is likely to cause problems when you go to blend them. You're better off fixing the import issue.
Even if a spawn one for each? And bind them dynamically?
Maybe not?
I can't say for certain that using a level sequence is specifically the cause of that particular problem.
But I can say for certain, they were not designed for that purpose.
And I would not be surprised for them to cause unanticipated behavior if used in that way.
Is there a way inside the animation blueprint's event graph to track the current state the animation graph is in?
Not directly, no. You can use enter and exit notifies in a state machine to feed some information back, but it is imprecise and I would strongly recommend against using it that way.
It's almost always better to look at the animated mesh as a reflection of gameplay state, and not a driver.
Got it... How do you think I should implement this?
Using Smart Objects.
hm... any idea how I could ensure that some function only fires while the character is in a certain animation state then? I have textures for facial animations and I want to be able to switch between them. Most are pretty simple and I just need to put them on when the animation plays, but sometimes I need to display it at a certain time in the animation, or for like the blink animation, I only want it to play during the idle or walking animations.
(that page is good, but it implies you can only use smart objects through behavior tree. That's not entirely true anymore, you can also use the new State Trees)
For blinks, you could use an animation curve in your animations, and then read that using Get Curve Value.
Or, I mean, you already know when your character is walking or idle because you're controlling your state machine - so just... use that.
I haven't used animation curve in UE before, but that might actually work for all of facial expressions. I'll look into that. Thanks.
π
Have you tried playing montages with root motion instead of level sequences?
Damnn, did not know that existed. Will dive right away
No, I did not. The logic on my system was implemented to use level sequences, but as I said (yesterday I think), using level sequences always felt that they were not flexible enough for what I was doing
SmartObjects really seems what I need here
How in the world do you view the Anim Curves panel? I'm reading through UE's docs on animation curves and it's got exactly what I want to do on there but I don't have an anim curves panel like they do and everything I google says I should be able to get it from under the Window drop down, but I definitely don't have that there.
Oh I guess it's renamed to curve debugger now? unless that's not the same thing?
Do you mean this?
This one
Is that not a PoseAsset thing?
uuum I'm honestly not sure. I don't believe so as I'm not using any PoseAssets as far as I know.
When you create a control object through spawn node is there a way to set offset transform from current?
I tried spawning the control using the offset transform parameter but that keeps the control's pivot point at the center of the parent object
In character rigging it is convenient to set a rest pose where the both translation and rotation are zeroed out and the scaling is at 1. Right now you'll see that's not the case:
Notice how the lowerarm fk control's rotation and translations are not at zero
Do these nodes always return 0 in blueprint?
how do i mirror when i copy and paste in the sequencer, for a walk cycle
So.... I've gotten rid of the DTL stuff as it was causing more issues than i wanted for physics. I started over, exported my character Daz in to 5.4, retargetted the character to the Superhero Flight animations, I got the Kawaii Physics as suggested from @ashen junco so I'm tryingto set that up, however when i go into flight mode and start flying the camera seems to go inside the body or the body gets really big, and then when i land the character snaps back into normal size..., Why does this happen ?
EDIT: all this error pops up "Trying to play a non-additive animation 'MM_Land' into a pose that is expected to be additive in anim instance 'ABP_FLIGHT_FLAME_C /Game/SuperheroFlight/Maps/UEDPIE_0_TutorialMap.TutorialMap:PersistentLevel.BP_Player_FLAME_C_0.CharacterMesh0.ABP_FLIGHT_FLAME_C_0'.... EDIT2: GOT THE LAND ANIMATION ERROR RESOLVED!
I've tried changing it but it ends up changing the orientation and the character implodes
*** (see video) ***ππΎππΎππΎππΎ
My guess is, a problem with the blender exporter.
Check your flight animations for a weird scale value on the root object.
i didnt use blender
and ok I'll check for that
They shouldn't, but they only work in very specific contexts. I don't know if 'Received Notify Tick' is one of them.
When you said to check for a weird scale value on the root object of the animations, are you saying that in the assumption that the flight animations were made by me exported from blender?
The superhero flight asset pack is from the Epic marketplace π
However I will check each animation and look at the settings to see if I see any weird values for root? In Unreal Engine
Yes. My assumption is that the character has gotten very large, and the problem is caused by a scale on the root.
These assumptions could be wrong, but it does make sense.
If you multiply a transform (like a bone) by another transform (like an offset) you can create an offset.
So if you want to move your control away from the original transform of the bone, multiply two transforms together.
(you can create a transform node by right clicking and choosing 'make transform')
Note: The order you multiply them together matters.
I think you want to do offset x parent.
You use an asset called a Mirror Data Table. They're pretty easy to make. They're in the animation menu.
Chances are, it will automatically populate, but if it doesn't, making it work should be pretty intuitive.
In sequencer, right click on your animation track name (not the track, the name in the track, its weirdly specific).
In 'properties' there is a slot for the mirror table.
Put it in there, and your sequence is mirrored.
the root scale is 1.0
OK. What happens if you play a flight animation on your character not in flight mode?
Like, you just put the sequence directly into the output?
Does she get huge?
no just did that in this anim graph and she is normal sized
If you are adding curves to a sequence, you do it here, in the animation viewer:
OK, well that implies the problem is either somewhere in your graph or somewhere in your code.
What happens if you plug a flight idle directly into your state blend node.
So you don't do anything complicated, it's just one animation.
And you take off?
did that and she remained normal,
I ended up not using curves. they were causing issues cause of the limited frames of the animation.
the flying state machine
Squishy you're awesome

Is there any difference from inserting the product of the bone get transform and the offset transform into the initial transform pin versus moving the bone get transform from the initial transform pin to the offset transform pin?
Well, the bone would be in a different place?
No it is the same place
Basically I want the fk controls to stay where they are but their rotation and translations are all set to zero
The set offset from transforms does exactly that but it seems I can't get that to work with controls created by the spawn transform control node
alright thank you for your help, I'll try to iron this out
OK, what about using nulls?
So you have a null, then a control that is the child of that null.
The null is aligned to where the bone was.
So the control has no transform offset.
But the null does.
You only interact with the controls.
Seconded

Lol
That sounds like the only workaround.
makes sense if you're coming from something like maya, null/groups with controls nested under those
Yup! Although I thought maya has a way to zero out your transforms
You could with something like freeze transforms, although for rigging it's typically a hierarchy of nested groups and controls so the controls sit at the zero of their local group
I see, in that case you wouldn't have to freeze transforms
is there a way to play an arbitrary animsequence (that would be passed from elsewhere to animbp) and then have stuff layered on top?
Additive anims and blend nodes?
Don't think it matters where the base anim sequence comes from
Montages can also be layered with groups+slots
how do you make animbp play a sequence thats saved in a variable?
You can use a plain sequence node (the one you get when you drag in a sequence asset) then expose the asset as a pin
Then you can just connect any sequence variable to that pin
Although this could also be achieved with montages
ah. lol. ok. thank you. yeah thats all i needed.
i was like "where the hell is the arbitrary sequence node, its only listng specific ones" xd
thanks
Yeah anim graph is really picky in some ways...
is it ok for other objects to be setting variables and/or calling events in the animbp? or is that bad practice and i have to save everything in characterbp that animbp will read from?
It's better to pull variables from your ABPs Update or UpdateThreadSafe.
Events kind of depends what you intend to do after the event? Usually there are other ways to achieve "event" logic
i see. i guess im just trying to figure out whats the best way to pass info from skills which are their own actors, into animbp
do i have to go through characterbp variables that will then be read in animbp? or is there a better way, as to not crowd character bp too much?
Yeah you would go through the owner actor, cast that and then pull variables as required. When using the UpdateThreadSafe you get a really nice property access node that makes deep nested access much simpler (and also thread safe!).
Can I ask: Are you by chance trying to play a different animation based on which skill was used?
This is what the property access node looks like btw
Doesn't have to be just variables, can also call functions
is this a ue5 thing? im still on 4
Gotcha, might be a 5 thing. If so you would just use the plain Update to pull the variables manually
I'll check if I can find whether 4 has it tho
Ok, I think the threadsafe update function was introduced with 5, so the property access would've been introduced with that too.
i see. so i guess i gotta store all the data in characterbp variables for the animbp to pull, right? no better way?
I mean you could do
GetCharacter -> GetSkillComponent -> GetAllSkills or something like that in your ABP
Don't necessarily need to clutter your character with variables
Functions would work too if you want better organization in your ABP
i kinda want the skill actors to have a pretty granular control over when to play which animation, at what play rate, etc. saving all of that in variables in the skill that the animbp then pulls is kinda gonna make the skill code a mess. i think im just gonna do an event in characterbp, store the data there, and have the animbp pull from that
Yeah this is why I asked earlier:
Can I ask: Are you by chance trying to play a different animation based on which skill was used?
I would recommend montages for this (assuming you're making a videogame, not movie, animation etc.)
Montages are good for one-off animations and you can customize them easily per character
yeah but you cant layer other stuff on top then
How so?
can you? if i use a "play montage" node, does that not override the entire anim graph for the duration of the montage?
Nope!
Hold on
Here I use a simple "Layered Blend Per Bone" to layer 3 montages over each other
You use slots to specify where in the AnimGraph a montage will play. From there it's only a question of how to blend them
oh, thats cool, thank you for letting me know.
tho tbh given that every one of these in my use case will be a single animsequence, making a montage for each and every one of them sounds like needles work
are there other reasons why this is better than the approach i was trying to do?
It depends! Montages give you additional flexibility at the cost of having to create more assets. You can repeat sequences, compose them in different ways, loop them arbitrarily (e.g. imagine a reload where you loop putting the shell in the gun), start playing them at arbitrary starting points or layer them on top of each other from within the montage, too.
Also some things are not possible with just sequences: If you want to use the same sequence, but with a different blend in/blend out. Those things are not exposed on the "PlaySequence" node.
Oh, another possibly big one: You want to play the same sequence, but want to change when the AnimNotifies are triggered. Or change the AnimCurves for a specific character for that animation.
i see
hmmm, tough decision honestly. i dont think im gonna be doing any of those things tbh
Then start off with playing sequences directly and if you find it works for you then no need for montages π
can play sequence be also played in a specific slot with other stuff layered on top?
Nope, no slots for sequences, you'll have to play your sequence variable like so
The blending works regardless of what you use
Since that's the LBPB node
π
One thing I'm not certain about is what happens when that variable is empty
Might be A-posing, or not, no idea
Since there's no input pose on the play sequence node
I assume it will actually A-pose
yeah which is why im doing this
Which you get for free by using slots and montages... π
Oh yeah, that "Convert bool to float" node also kills fast path I believe?
You can use blend by bool... not sure how that behaves
i see, thats really good to know, thank you
one thing i wanted to ask too - would another benefit of montages be the blend in and blend out? cause i dont really see settings for that when just playing a sequence
Oh, didn't know that, you're right sequences don't seem to have blend settings
so i guess by default they're not really blending in or out, i'd have to vary the alpha on the blend node over time
ok i guess that decides it, montages it is. thanks for the help.
π
One thing to note about montages: If you want to play multiple montages at the same time then their slots have to be in different groups
Montages played on slots in the same group will cancel each other. Last one to play wins.
Kind of a gotcha
thats super good to know
also, how does one cancel / interrupt a montage?
do you just do play montage again selecting "none"? or is there a better way?
Ok wtf lol. I have a shooting animation that doesn't seem to work correctly when I use it as a montage. If it means anything, I'm using retarget pose from mesh.
Ok interesting the issue happens with the source mesh as well.
hey, I have issue with UE4 animations, when I want to convert them to ue5 while using RTG, they just does not appear in asset browser, anyone has an idea?
Nevermind, changed Source Preview Mesh to different and it works
Does anyone else have the issue (UE5.3) that keyframing in additive tracks is weird as hell?
I have the auto-keyframe on and it does seem to automatically keyframe on my additive track, but there is just no keyframe visible in the track. Not unless I manually keyframe it.
Or if anyone could confirm that this works as intended in 5.4?
Actually, even with auto-keyframing off the additive track memorizes the pose as if it was on... huh?
Anyone know how to add a reroute node when I pull a connection from an existing one? There should be an add reroute node in the search box but I don't see it
I found out I can at least duplicate an existing reroute node.
That's good enough for me
In Control Rig you can double click a wire to add a reroute node.
Everywhere else you can drag a wire and then just press R (this is probably the most important hotkey in all of UE)
Pressing R doesn't appear to work in control rig
Everywhere else
Yup, except control rig :^)
Control Rig is a different VM from Blueprints, so things that work in BP may or may not have an equivalent in CR
Yup and some of the equivalent functions have interesting names like reset array instead of clear array and from string instead of string to name
does anyone know or have a blueprint that automatically adds animations into a level sequence with skeletons with the same name
why the root motion isn't working
Lyra anims are kind of a pain in the ass to work with
I don't, but also... why do you want to do that?
hi, has anyone tried use Root motion animation in Sequencer? How to keep the character capsule move along with skeletal mesh?
and if i play an character animation in sequencer, can i make it have collision with the environment? now it's floating if walk foward on a slope
Sequencer is very much intended to just play back an animation. So if you want your character to walk up a slope... you have to animate them walking up that slope.
ok... so the only way to easily make the character walk on uneven floor is use AI control move in sequencer then..
What is this,How can I get in?
which IK would be used in Unreal for this result?
You wouldn't need IK for this.
Tell me more π
The only dynamic constraint you would need would be one aim constraint.
The lower jaw(?) piece, has the wall connection(?) which needs to look at a socket, aside from that it's just a normal hierarchy.
I had one solution with only blueprint nodes, and set the rotation of the mesh with βlook atβ
Yeah, that'd be it.
But that didnt worked well after rotation the whole actor in game mode
You were probably using global transform values rather than local or component transforms.
Having 0 in roations it worked
the problem is, i need the mirror in control rig. I wanna mirror frame one to flipped in 15
I haven't seen that functionality.
If you find it, let me know!
I'm still having the same weird implosion issue π can't seem to rectify it, what's crazy is that it's probably something so simple and small and I just don't see it or it could be something major π€·πΎ
Do you know how to use Pose Watch?
That might help you figure out where the weirdness is coming from.
Yes I did all of that and I did try the debugging stuff yesterday, and nothing was really firing off to say okay this is the problem so I wasn't really sure how to debug this issue
So when you watched the poses, did they all explode to massive size, or was it one specific node that did it?
its only happening she goes into flight mode and is hovering.
i saw no explosions
You sure she's getting big and it's not the camera messing up?
How are you controlling the camera?
Sadly no functionality to do this, but can't you just flip translation XYZ?
Today I learned that the Unreal mannequin files are exported looking left.
Le sigh.
dumb question, i have a linked anim layer in my animbp and i link between two of them, one for unarmed and one for armed. problem is blending as it currently just snaps. i have the inertialization node placed down as well as set my linked anim layers blend in/out time and tried a ton of values all with the same result like its doing nothing
Interesting, should work just like that
thats what i thought. tried swapping between layers directly and just straight unlinking them, all same result
I'll have a quick look at mine see if I find smth
thank you
Which version are you on?
5.3
Ok, same
Hmm, try to place the inertialization node right before your IK and any additives you might be playing?
Also is that your main ABP or a subgraph?
im splitting the upper and lower body after, theres no additives though. main abp
Hm, just to test it I'd try to make almost empty graph with just the layer and inertialization. Ruling out human error the only other thing I could think of is that something else in the graph is messing with it.
My guess is the IK, but I'm grasping at straws
actually was trying that now lol. same result,
π
That's not epic, Epic
No logs?
Warnings or whatever?
Might also try to re-add your anim layer node and double check its blend settings. Otherwise I'm out of ideas
this is it but im assuming its unrelated, ill remove the node and test again to confirm
yea same result, no logs
idk this is unreal engine were talking about
...try to create a fresh ABP?
ill try
I mean we're on the same version, mine works exactly like that
Also I hope you don't use that ABP in sequencer
same result lol. i might have to come back to this later and test with some test anim layers and try to narrow down the why
never tried, also whys that
Your anim layer node looks suspicious
Mine looks like this
Inertialization crashes the editor 100% of the time when trying to animate a character with control rig
yea i had it linked by default to one of the layers. ill triple check but i was getting the same result even if it was empty initially
ah noted, thankfully im not
Ah gotcha. Well, sorry, no clue at this point :/
I could mail you my PC, seems to work there lol
waaaait a minut, now its working on the test
Uh
sweet deal but idk about you getting the pc back XD
Was it... human error? :^)
crap idk at this point, so its working partially. if i start the layer empty, then link it by pressing a key it will blend as expected. but when i swap layers it does not. so if i hold C it blends in, when i release C it blends out
however when i swap between layers like this afterwards, it snaps instantly with no blending. do i have to unlink first adn then link or?
yep so running Unlink right before linking works just fine -_-
Hm, linking multiple ABPs kind of depends on your setup, whether you allow multiple sub-anim-instances or not. Are you forcing single instance? I think it's "Enable Linked Anim Layer Instance Sharing" in the optimization category of class settings
Might be some - once again undocumented - side effect of it maybe
But that's really good to know, I'll have to find a workaround or run into the same issue eventually
So Link A -> Unlink A -> Link B works? But Link A -> Link B doesn't?
i have that option disabled
correct. also noticed that if i set the anim layer to have a value by default in the anim graph it doesnt blend at all when swapping layers
so if its set like this it no workie by default
Yeah, so I suppose it only really knows about the base pose when nothing is linked
thats what it seems from testing just now lol
Which kind of kills the idea of going from Unarmed to Armed directly, no?
eh soso. thankfully i setup this from the start so i can just link initially when its needed, testing confirms this works. also tried linking first thing to unarmed in the animbp's event graph and it worked as expected. but yea that seems to be why lol
There's so many gotchas in anim graphs. Maybe you're just supposed to ignore any feature that is not state machines lmao
thats a good idea, keepen it simple lol. i appreciate the help btw!
Yeah no prob, curious about that myself
not perfect but not to bad. from reading the inertialization node seems pretty powerful
Hey, looks good, if it works it works I would say.
i'm just brainstorming, but is it possible to change Notify ''time'' on timeline based on variable? So like I could cast or anything to that animation and on some unit set it to be at 2s and on the other one to be on 2.3s ?
based on variable
No, but much simpler: Just make 2 different anim montages for each unit
Okay, so what I'm brainstorming is how to implement cooldown reduction / attack speed boost in case if I do the ''DealDamage'' based on Notify on animation? Do I make animation play faster?
Cooldown reduction
That would be on your ability/skill instead of on the animation
attack speed boost
Yep, just play it faster
I'm saying cooldown reduction / attack speed boost, because it's actually depending on how you set your ''attack speed'' to be in a game, because you get set it to be for example 1 hit every 2seconds (it makes it cooldown) or 0.7 attack speed, and chosing between these 2 makes it a little bit different how you give ''boost'' π
Are you really using a Timeline? Like - one of these?
For ability cooldowns?
Are you interested in potentially better ways of handling that?
I'm always interested in better approaches! For the context, it's not attackspeed or cooldown for just 1 character that you controll. It's a RTS game with lots of different units that will fire attack / spells on their own it if ''commanded'' to.
by timeline I mean that timeline that is on animation where you put Notify event
OK, so you mean a sequence, not a timeline.
Cool
If you play an animation faster, it will adjust the notify times.
So, if you play a 2 second animation that has a notify at the end, and you play it twice as fast, the notify will fire after one second.
Okay, and I'm able to easily specify animation speed time in blueprint where I'm calling that and I can base it on a variable?
I don't need to know now how, just if yes π
That depends on how you're calling it. There are some ways of playing an animation that allow you to specify a speed. Others do not.
But yes. For the ones where you can, you can use a variable.
Okay, awesome
Look for 'Play Rate'.
It's accessible on most of the montage nodes, especially 'Play Slot Animation as Dynamic Montage', which is probably the one you're looking for.
thank you a lot!
Hello, when adding the animation pack animations in they're blending with the animation they transition from and i don't know how to stop it, so it's leading to weird things like this:
Any suggestions on how to make it stop doing that?
Hi, I'm beating my head against a wall here. I have a Component referenced in my Animation Blueprint, but when I get a bool from the Component it is having no effect on the Set of my animation blueprint
https://www.youtube.com/watch?v=O5OWg4OpVM4 This helped me with the same problem
Hello guys, in this quick and simple tutorial we are going to continue with my UE5 RPG Tutorial Series in Unreal Engine 5!
βͺοΈJust opened my Discord Server, join NOW: https://bit.ly/GorkaGamesYouTubeDiscordServer
β‘οΈWhole Series: https://www.youtube.com/watch?v=FNTyIWkv5k8&list=PLiSlOaRBfgkcPAhYpGps16PT_9f28amXi
πAwesome Unreal Engine courses on...
Your isvalid is borked
The Tut I'm following was able to make it work without the isvalid, it was just get rid of an error
Well, I ditched it and it started working.... So the pudding is on my face
You could also keep the node and actually plug some object to check for validity into it
Wow, thank you. You know I actually about 30 seconds away from putting my fist through a wall
I know that well, the problem is always 50cm in front of the screen
word! thanks homie
Hello, I was wondering if anyone could point me in the direction of what setting i did to make the wireframe appear whenever I move a controller on a rig. As soon as I make a change grabbing the controller it shows the wireframe and causes lag.
Weird that it made it go wireframe though!
Got a new odd problem, Not sure what I did but I am working on an aim offset. Everytime I adjust the keys and save it looks good
But when I open it back up this is what it looks like
just did a test and it happens in any animation, if I add a key and save, the next time I open that anim the key is very exaggerated
Does the default mannequinn control rig have an automatic fk ik snap system?
So for instance if I drag an ik effector control to a new location will the fk controls automatically match the corresponding joint's new transforms?
And if you rotate an fk control arm the ik pole vector and effector will match the corresponding joint's new transforms
I don't know if the sequence editor is intended for that?
Have you tried editing it in the sequencer?
Using a control rig?
I can't remember if they snap, it should be easy to check though.
is Virtual Bones bugged? I add them to skeleton and they won't appear when trying to select in control rig
Refresh your hierarchy in CR
Does anyone have any good suggestions for resources towards combat animation systems?
how?
nvm got it
didn't fix my problem though. my metahuman like skis around
Don't think there are any like best practices ones since it depends too much on what you're trying to do and there are many ways you could do it
Are you asking from a technical or artistic point of view?
Kind of both - I have alot of animations that i have that i want to use and i havent made a combat system before
and want to practice animation techniques as well
Hm, can't help with the artistic side but from the technical side if you have concrete questions then shoot
Tired of survival style combat haha
So mouse-click -> do attack -> repeat?
Ya with at most a combo montage notify
And what you'd like to do is like branching combos, or special attacks and what not? Those would be relatively basic
Well anything more dynamic really
Ya I havenβt tried that other than a basic rag doll either.
I think in principle there's just a single concept that you need to implement, but there are many ways to implement it
You would need some kind of directed graph that tells you which attack is possible when
Do you have some data structure in your project like GAS?
That manages abilities/actions for your character?
It would be a fresh project
I do have GasCompanion though
But i understand what you mean. I'll take a look at physical animations as well.. Its motion warping to look at for combat right not motion matching?
Depends what you want to do! I have no experience in physically based stuff though
Motion matching wouldn't be right for this I think
cheers
On unreal engine when i came to animation mode for character's control rig parts pivot size sooooo big and i cant not give pose to my char ever u had this issue?
This doc https://dev.epicgames.com/documentation/en-us/unreal-engine/controls-bones-and-nulls-in-control-rig-in-unreal-engine?application_version=5.0
Talks about how you can use nulls to facilitate mirroring in control rig. But of course, no demonstration.
Anyone know how that would work using a null?
Is there a way to determine in the control rig blueprints whether a certain control is selected? I'm implementing an automatic fk ik switch and I want to detect when an fk or ik control is being selected or being transformed.
I'm doing the same right now lol
I just use a bool control/channel
But not "automatic" I guess
Lol
Yeah I currently have a fk ik bool toggle
Just need to figure out how to make it "automatic"
Doesn't look like you can access selection in the graph
No, only forwards at the moment
Renaming controls breaks all sequencer animations... WHYYYYY
That sucks
When will epic learn not to use display names as IDs...
And undoing the rename doesn't fix it........... π€¦ββοΈ
Jesus
Is there a way to write an editor script to update the sequencer names?
That could help lol
Depends on how many animations you have. If you have a lot a tool may automate the renaming process.
Apparently there's this monstrosity
Yoo
Hmm so apparently the interaction event detects whenever I transform a control
Oh cool!
And for some weird reason you can't select a ControlRig on that rename node... I'm gonna go crazy
Just empty. I have 3 ControlRigs in my project
That defeats the purpose doesn't it?
So now the problem is figuring out how to get the control that is being interacted
How did you get the flat blueprint ui? Is that a preference setting?
Free plugin called flat nodes
Nice! Good to know!
And you can print the array directly to the screen:
That's pretty neat
I made an interesting observation about the get interactions items array. If you have multiple controls selected and transform them, the array stores them by greatest grandparent to greatest grandchildren (hope I'm describing it right)
Woo! Got the auto switch working:
I wonder if there's any way to implement control rig blueprints in code? Some of the logic could be more concisely written that way.
Wait. I restarted the editor and now renaming controls works as intended...?
Of course this had to happen after I wrote a Blutility to do it...
Backwards solve is for Skeleton -> Control Rig, in the same ways that Forwards Solve is for Control Rig -> Skeleton.
You always need both.
Nice job! Very cool!
This is really useful! Thank you for sharing that.
I think, hypothetically, you could use a null with a negative scale to mirror a section of hierarchy.
But scale is so wonky its not something I'd ever do.
Oh, for some reason I got excited and thought it would be an easier way of doing Left/Right mirroring, but probably not that. Thanks!
I have no idea why it is so hard to perform second step of a combo, here's some screenshots. The character is literally stuck in first step of a combo unless i spam left click
here's combo blueprints
When you say 'stuck' do you mean they stop moving, stop responding to other controls?
Or do you mean they only do the single attack unless you click very quickly?
second one
i can press left mouse button frequently and it keeps doing anim montage on the screenshots
im 100% sure that im hitting left between notifies
Does it do the combo correctly?
Like - is the problem that you have to click too quickly?
Or does it not get to attacks 2, 3, and 4?
i have spam left click to get to next steps of a combo, clicking left mouse button in more neutral way keeps triggering step 1 of a combo only
OK, so is it possible that your notifies are flipped?
Like, your stop notify is actually your start notify?
I already took a peak on that, but it looks like they are named correctly
elaborate on this one, I started using unreal week ago
Just a shot in the dark:
Might wanna use an anim notify state instead of start/stop notifies
Also try setting your notifies to "branching point"
If you hit 'f9' while a node is selected, it will get a red dot on it. When unreal evaluates that node, the game will pause and your blueprint display window will be highlighted.
You will be able to inspect variables, and, importantly in this case, you will (if you put a break point on nodes in both animation notify functions) be able to see which one is called first.
I put break point in both anim notifies and they seem to work correctly π’
Press left click -> break point on animnotifystart triggers -> resume playing -> break point on anim notify end triggers
while I resume after first trigger and quickly press left mouse button, it again triggers breakpoint on anim notify start
Ok, so using the debugger, try figuring out when the 'combo' function is putting you into the wrong part of the animation.
It could have something to do with 'save attack' which appears to be set to false when you do a second attack (preventing a third or fourth).
And it's not reset when the combo stops.
Hello guys , when i import a character from mixamo , use a addon in blender to put the correct names for unreal and adding a root bones , it does this :
Any ideas please ?? i'm searching but no ones seems to have this problem like me
That's an interesting one.
Haven't seen that before.
Does it do the same thing to the other leg?
Yep , and on arms too
Huh.
IK messed up but fk no problem :/
My mind immediately goes to scale as a possible source of problems.
As it often does!
It is a mixamo mesh so i didn't touch the scale :/
Sure, but you did export it from Blender.
And that is often a place where weird scales can happen.
Double check the scale of your root bone.
Yep for sure , okay !
but i was following this simple step https://www.youtube.com/watch?v=tf31eOe9jA4
As promised, I've tested and made a video for you guys, testing the incredible Modular Control Rig tool with a Mixamo character. I tried to covered all the things I've come across π
π Support my caffeine addiction fund and ensure I stay awake enough to keep creating content :
https://patreon.com/ProjProd?
β¬οΈπ§‘ The first video to better understa...
So as you can see , the add on work in a way that the file is directly send to a folder , it doesnt "load up" into blender visually
yep thanks π
im using this character and have made the ue5 rig so i can use it for the third person controller, however i seem to have these problems with the mesh not following the rig as you can see in the video, does anyone know how to fix this would be greatly appreciated!
if i wanted to insert a certain gameplay tag into some gameplay tag container associated with my character pawn whenever a certain type of montage plays and then remove that tag again once the montage is over would there be a convenient way of doing it besides needing to basically insert an anim notify state into nearly every montage i make? could making use of anim montage metadata be an alternative
In case you use GAS you get that for free btw.
But yes, you could use an anim notify state if you wanted to specify exactly from where until where the tag exists. Or use metadata to just apply it when the animation starts + ends. The latter is optional though, you will still be able to play montages without the tag if you use the built-in functions.
ah, yes. Gas, of course. mmmmmmmmmmmmmmmmmmmm
maybe i should just install it for this particular project
its single player but i guess once GAS is set up it can be comfy to use
In the case of GAS you get these and they work nicely.
Whatever you put into ActivationOwnedTags will be added to the AbilityComponent's tag container
If you need the tag in a different container though that would still be a notify/metadata
i guess i might as well get the gas boilerplate stuff over with yet again... π
Uh... I see the mesh following the rig?
hey all.. anyone try out the 5.4 modular control rigs? been trying to set it up for my character, seems like it generally works except if i try baking a mocap clip to the control rig it's broken in parts of the body. in my example it seems like the clavicle/arms are getting strange results, and even the head is not baking the same as the clip. here's a side-by-side. I'm just not sure how to start trouble shooting this
Lots of people are trying them, and a lot of them are having issues. They're less plug and play then Epic let on.
damn... :{
sounds like i need to just learn control rig from the bottom up instead of messing with the blackbox that is modular control rig?
It's not that difficult I think
The difficult part will come when they fix modular rigs and I attempt to port my animations over to the new rig... π¦
i suppose i could basically reference how the modular rig is set up to rebuild it with regular control rig
what the hell can i do against the fact, that when i try to open a retargeted animation asset i almost always get a crash with this error "Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 758]
Array index out of bounds: 47 into an array of size 47"
Oh, someone had that problem a few days ago.
Oh! It was you!
Do you have 47 / 46 bones?
no idea, im going to look into it
i use autorig pro for blender, and use the ue5 skeleton
preset
47-48
Hmm - interesting! Well, it's a memory out of bounds error. When you load the file, it's trying to load more data then there should be. So somewhere inside unreal's various layers of skeleton shenanigans - either a track has been added or one has been removed. There's a mismatch.
how expensive are modular control rigs for runtime games? π€
I don't know how or why - but that's what's going on.
They're as expensive as you make them? I would expect anyone running a modular control rig at runtime to customize them.
hmm, it just seems like a lot of is out of my hands
Not really, you can make your own modular components.
once I slap in a leg or an arm module it comes with a bunch of things I can't really remove, or can I?
If you use the prebuilt stuff, yeah - you're using the prebuilt stuff, but you can also create your own modules.
And if I were to use an entire character without too much customizing, would that be irreponsible for about 10 players running around?
Impossibly to say?
Figures :D
Depends on the complexity of the characters, what else is going on, etc.
Your target platform.
very true
I wouldn't speculate about performance too much
Build it, profile it, fix the bottlenecks
Mmhmm
this is wisdom, i recognize this
It has often been said that premature optimization is the root of all evil.
It's not, but it does get you in trouble.
trouble is my middle name
thank you, but no idea how i can prevent this from happening, its not with all animations and not with all skeletons
Yeah, sorry. I wish I could give you some help on that one, but it's something wrong with the tool.
If you can replicate the error. Like - turn it into a series of steps to create the error, you could try to send it into Epic as a bug report.
a member of the discord already did that, he has the same problem
so I'm using a modular control rig and I'm trying to hook up the left/right feet control transforms
but I can only seem to find the left foot ctrl, the right one is just not in the list (foot_r_fk_ctrl isn't it)
Anyone know what's that about? the modules are properly set up afaik and in the modular control rig editor I can see and interact with a foot_r_ctrl
anyone know how to fix feet ik on metahumans?
Huh, that's interesting. They're the same module, I'm guessing.
Did you make the left leg first?
(Is it possible that only the first of a particular module is accessible?)
Depends on how they're broken.
the metahuman skiis around when walking
Yes, then I tried putting in the right leg first, no fix
the feet wont come off the ground. If I disable footik it works fine but would like to keep it. I saw a video fix to make virtual bones and use that in the footik but it didnt work for me
Interestingly this shows up, this does not exist
there is no right leg foot_l, obviously πͺΏ
That does make me think we're on the correct track thinking that the animation BP is unable to correctly access the modular control rigs lists though.
This is a mega oof moment for me, I don't know how else to utilize modular CR, and I really do want to
If you have your foot IK on all the time, then they won't walk. IK involves reaching to an effector. You have to move the effector where you want.
They seem a little undercooked at the moment, though this is the perspective of someone who hasn't used them much yet.
My opinion is that creating them was either a mistake or a mandate from someone who wanted a shiny video to show to investors.
its already setup
Then it should work.
So either they're not setup, or something is broken.
From what I understand the metahuman using the ik rig of mannequin
Shame, can you recommend an alternative approach for code driven feet placement?
unless I need to make its own
Custom create your own control rig.
Mhmm, never got IK to work as I wanted, too much of a CR newb :V
Control rig itself is good! I think that they probably would have been better off creating better presets for custom control rigs than creating the modular system.
I will try though
But that's me. I don't make those decisions.
Using it how?
idk the tutorial to get metahuman working just showed him attaching the metahuman to character mesh setting the mannequin mesh to hidden and checking liveretarget
so its using the manny abp
Interesting! I definitely remember seeing a video with that kind of problem.
yes and theres a video for a fix. but of course didnt work
What did it do instead of work?
it changed nothing
OK, what was the proposed fix?
creating virtual bones and changing the footik rig to use those
the weird thing is is the animations dont work with metahuman unless the liveretarget bool is false. while should work when true, for me it works when false lol
Interesting.
What is your goal though? Like, with this setup.
Are you really going to use manny for your main character in your game?
is the code in construction script old and needs updated?
this is side project really. but most likely yeah for now.
I just havent done much with metahumans
OK, well - I mean, it seems like a variety of things have gone wrong.
If it were me, and I didn't have a clear idea where they went wrong, but I had both properties and techniques that weren't working - I'd start over.
so reimport the metahuman?
I'd go through everything again. As a newbie, I always assume that the mistake is mine, and it is not the system that is broken.
I'm not really a newbie, just in metahumans I suppose
and control rig stuff ig
The steps are pretty simple idk how I could mess it up
All right.
Read through the posts, I think Squishy is right about going through the steps again but it sounds like your IK effectors aren't animated because like they said your IK will target the effectors, so if they're not animated they will look like they're "skiing".
The Virtual Bone setup is one way to solve it because if you set up the virtual bones correctly they will be able to follow the animation of the foot and allow you to target the virtual bone as an effector.
That makes sense to me. Manny and Quinn have full IK leg setups that I doubt that metahumans have by default.
(their deformations are really nicely setup as well)
You might be right, I havent actually generated a metahuman to know whether they come with IK bones
I mean, it depends entirely on what's in Z_offset_L, what the original transforms are, and whether you're properly targeting those virtual bones with the IK.
THis looks like you're trying modify a foot root vitrual bone, and apply an offset based on your left leg trace, so yes I would say that's incorrect
yeah i guess you right theres no ik bones in metahuman
I would guess that you want to set the virtual bones transforms to the transforms of the bones from manny - but I don't know how you would easily get those - unless you created and constrained the virtual bones during the IK process?
jut trying to add some simple pants to my mannequin, but after setting leader pose and giving the rag pants the animation blueprint of my mannequin they just do this (pants are blue for easy visual)
why are they deforming so badly? How may I fix this?
Looks the orientations of your pants bones are different then those of manny.
So each one is rotated at what looks like 90 degrees from where it should be.
The problem is your skeleton definition, likely caused by export settings in Blender.
they shouldnt be, but you are right, they do look like that
You can confirm pretty easily by just checking the axis of the bones in the two skeletons.
Round-tripping one of the mannequin skeletons through blender is non-trivially fussy.
yeah I am using the automatically orient bones when importing too so it should be fixing it
what do you mean exactly? like they be the same
are they not the same here?
or am I being a dumbass
I mean in unreal.
oh, yeah gotchya. I did that and they were fine. actually went back and fixed it, and still had the problem, and came here
the rag pants were turned 90 degrees, I fixed it, and the problem was still there
Hi all ! I have a weird bug with a root motion animation
OK, so when you say 'they were fine' do you mean "I checked the X axis, to determine if the X axis of the leg was pointing in the same relative direction to the mesh as the X axis of Manny's skeleton specifically in unreal, by checking their skeleton assets"?
Or do you mean something else?
If I were making an IK setup I would definitely do as you mentioned and find the IK effector position inside the control rig, rather than a VB saved to the skeleton/skelmesh.
When I'm on "flying" movement mode, my root motion animation gets blocked by the "Capsule Collision" of my enemy "Actor" but I'm far of it..
I mean the pants were rotated 90 degrees on the Z axis, and I fixed it in the blueprint viewport
So that won't help.
You need to check their skeletons.
And the axis of the individual bones.
okay,so I am being a dumbass. I need to check the individual skellies
gotchya. Sometimes I just wish it was as simple as my brain thinks it is lol. Thank you Squishy. Pretty sure you helped me last time I came here too lol
have you confirmed that your IK solution works on the mannequin before it's applied to the metahuman?
the foot ik works by default with manny
i discovered theres no ik bones for metahuman
with or without your virtual bone changes?
found problem but fixing it isnt working lol. trying to change the axis in the blender export, but anyway the Y axis is down on the pants
but on manny Y is forward axis
Am I seeing that right? Is that bone enormous?
uhhh yeah actually. why lol
I applied transforms in blender and everything was matched up
Um how can I get this control to be right under the foot so that the IK is more sensible to use?
Where is it when you create it? Are you creating it with code or in the hierarchy?
Then move it where the foot is?
But when I compile the rig it just snaps back to the origin :(
I feel like I'm missing something lol
So you created it in the hierarchy by right clicking on the hierarchy and choosing, from the menu, 'Create Control'?
OK cool, so on the control there will be a two options for it's transform. You should set initial.
Not offset.
o
And you can do that in the construction event.
As Squishy often mentions. You have to be very careful about scale coming out of blender
You can get the transform from the foot bone, and set it in the construction events.
Got it
Also rotation on bones.
And.
Manny and Quinn have some extra special shenanigans, in that they are exported facing left.
Not forwards.
Making things even more confusing.
Yeah they face down Y but technically X is forward in unreal. (I think thats right)
Skel meshes and anims have been like that in unreal for so long it almost feels like its the correct way to do it.
Why epic ships their assets like that I have no idea.
I think it's an old maya / unreal relationship thing.
π€’
On your own projects do you export facing down X?
changing scale in blender export has not helped lol. Now its tiny, but the bones are still huge. Is there a good vid on this that you guys know about?
Lol that cheeky 90 degree rotation inside the capsule
I found this one useful when I was fussing around with export options.
In this video I will show you how to correctly export a character from Blender to Unreal Engine 5.
Common mistakes include issues with the scale of the root, joint orientations and differences between bones and joints. In this video I will talk about everything you need to know to correctly export rigged characters that follow Unreal Engine sta...
There needs to be a better "plus" emote that isnt the same colour as the discord window
so do metahumans not come with foot ik bones?
Interesting that they don't.
yeah its a bummer.
They're not really setup for being game characters.
Could add my own but eh. It's a top down project anyway so probably won't notice anyway
They seem most likely to be useful for Volume stuff.
If you're really keen on IK you can certainly achieve it with Virtual Bones. It seems like it might be easier to run your animation assets through retargeting so you have a set of anims for your metahuman and you can do all your processing on the metahuman rather than passing it through the mannequin.
When I'm on "Flying" "Movement Mode", my "Root Motion" animation gets blocked by the "Capsule Collision" of my enemy "Actor" but I'm far from it..
Anyone has an idea ?
This is very weird because when I'm on "Walking" "Movement Mode" I don't have this problem
I'm not worried about it right now. Weird how's theres videos on how to fix but there isn't any ik bones to begin with unless my particular model doesn't come with ik bones
Do you do anything to the physics of your character when you start flying?
I'm not doing anything, I just set the "Movement Mode" to "Flying"
Oh. Ok. When you look at your capsule collision in collision debug mode - what do you see?
I already made the "Capsule Collision" visible so I can see it when I'm starting the root motion animation, is that what you mean ?
I meant more 'using the show collisions' console command.
But if doing it your way worked, and showed you something useful - then that's good!
I'm searching a setting that affects either the collisions or the "root motion" when I'm on flying mode but I can't find anything
My Capsule Collision does not change when I'm on flying or not that's why I don't really understand where the issue comes from
Using root motion for flying is an interesting choice. Why did you decide to control your flight movements with animations?
This is an attack animation in the air so I need to set the movement mode to "flying"
Are you sure?
If I let it to "Walking" my "Character" falls down
To clarify, the character can't normally fly, but this move of theirs causes them to go into the air, and if you don't switch them to flight mode, they stay on the ground?
I want my Character to be "stucked" in the air while playing the animation
Exactly
No it's like 80 frames animation
That's reasonably long for an attack animation.
OK, is there any reason you're going to need to collide with anything in the air?
Like - are you going to cancel the move if you hit a ceiling?
Can you hit flying enemies during the move?
That kind of thing.
Yes I need to have the Capsule Collision enabled so if my attack hits the Capsule Collision the enemy takes damage
OK. I'm asking because switching to flying mode for one animation is likely to cause a variety of cascading problems.
Such as, for example, people using this move as a movement and clipping out of bounds, or getting onto ledges they're not supposed to get onto.
Etc.
The question is : Is there another way to make my Character "Flying" without "Flying" movement mode ?
Sure - you can create your own character movement component.
Yes I understand
That's a pretty heavy lift though.
Like I set the movement mode to "custom" ?
Nope.
I mean 'There is no such thing as 'movement modes' because I have completely custom written the entire movement system'.
Like I said, it's a heavy lift.
Hmm I see
Personally, I would solve this problem by disconnecting the characters capsule and their visual mesh.
So their visual mesh goes into the air, but their capsule stays on the ground in 'walking' mode.
So you think the actual "movement component" has bugs with the flying mode and the root motion ?
I would do this by constraining the root bone of the animation to the ground during the flight attack.
I don't think so, no. I think probably your animation is not well formed for the flying movement mode.
The question of 'Does this fundamental system of unreal have a bug in it?' is almost always no.
Usually - we're using it wrong.
Unless it's very new - like the retargeting array problems mentioned earlier.
Then it's often a bug.
How is it not well formed for the flying movement mode ?
I mean this is a simple animation where the character goes forward
I'm not sure. I don't have your animations or your setup, nor have I investigated this combination of scenarios thoroughly.
I've never heard of anyone using root motion animations in flight mode, but I'm sure someone has.
The weird thing is that if my Enemy is not there my animation is working well even on flying mode lol
That's good! That's a potentially interesting piece of information.
I would test it against walls as well - to see if there are problems caused by other colliders.
The animation "stays in place" only if I'm at a certain distance of my Enemy
So, it's like the character is pushing against the enemy's collider?
Hmmm great test I will do it right now
Exactly
And this never happens with other attack animations? Do any of them move forward?
Traditionally - you don't usually use your characters world collider for their hurt volume.
Usually you have separate volumes for world collision and hurt volumes.
Maybe I should do that and test again ?
So I have to add another "Capsule Collision" around my Character for the "hit"
?
It depends. Often these hurt volumes are spawned dynamically based on the characters specific attack, or are attached to weapons.
The hurt volumes of my Sword are attached to my Sword
But I mean the collision which receives the hurt volumes
Right, so there are hit boxes (these are the volumes that cause the character to take damage) and hurt boxes (these are the volumes that cause the character to deal damage) and world collision (these are the volumes that prevent your character from falling through the floor).
Often, these are all separate.
And they often have different collision channels they interact with.
Actually my default "Capsule Collision" is the "World Collision" and the "Hit Box Collision"
And my "Hurt Boxes" are some "Capsule Trace"
There are no correct answers. There are many incorrect answers, but no correct ones.
If yours is working - great.
But yours isn't working.
So it might worth considering alternatives.
I just tested it against a wall and it works well so the problem is the actor maybe, I will investigate
It's ok I found it I'm very sorry
I found a code which used "Set Plane Constraint Normal" so it blocked my Character...
I just need your opinion on the hit boxes and hurt boxes
Do you think it's better to make another "Capsule Collision" for the "Hit Box" ?
And do you think that my actual "Capsule Traces" are good for the "Sword Attacks" ?
At the beginning I wanted to use a "Capsule Collision" around my "Sword" and use the "Begin Overlap" function but I had some weird bugs with it
It depends on your game. Often hit boxes are smaller than world collision, because you don't want the character to get stuck, but you also want to give them the benefit of the doubt when it comes to attacks.
So, it's going to depend on your game, your character, the size of your enemies, your camera etc.
Capsule collisions are fine but they are expensive, so it won't scale very well.
Ok I will think about that.. I guess I don't need it for the moment (different World and Hit box Collisions), but I'm still thinking about my Capsule Traces for my Sword attacks or just a simple "Capsule Collision"..
Anyway, thank you very much for helping me !
Thanks a lot !
Bro even watching this video, this pants thing is driving me up aa wall
fixed the orientation slightly I guess, but god damn
understandable. coming from blender can be a pain
I just dont get it man
Why cant it just be simple
got it
I just reimported the ue5 skeleton to blender without the automatic bone orientation option, and then did a weight data transfer to the pants and re-exported to ue5
Hurrah!
thank you guys for putting me in the right direction and send thatvideo
π
Be sure to save your export settings from blender if they're working for you, that way you can always re-apply them
I remember in unreal engine 3 I was using xsi softimage and finding out you couldn't export those bones to unreal
I had to create a "shadow rig" which was a collection of null objects that constrained the bones to those objects. Then I exported that shadow rig to unreal
Aight so i keep getting "BlendSpace Move_Blend has sample 2H-B_Jog_F_Seq that is invalid due to being out of bounds. Recommend adjusting it." I want to know can this cause an unknown cook failure?
I've done that on occasion! It's frustrating!!
A cook failure? Gosh - maybe but almost certainly not. Still, should be a really easy thing to fix, right?
yeah sounds like it's out of your blend space value range?
Yea so that's the weird thing, its inside the blend space value
Should I just delete blend space and remake?
Sure!
having trouble with motion matching. it looks like these animations are being mirrored automatically when moving side to side? and its doing a spinning motion trying to decide which direction to face. along with some other occasional glitches. i havent played with motion matching settings too much, just maybe 1-2 options. im just curious if anyone knows how to fix an issue like this, or just general settings to get better results
the animaiton being out of bounds was causing the unknown cook failure
out of bounds of the blend space?
Yea
this is the first time for me the engine didnt want to build because of that
but not outside the value range?
So I was getting the error saying the animation was out side of value range which it wasn't and Every time I tried to package it kept mentioning that so I deleted the animation inside the blend space and readded it inside the value range, still gave me the warning and failed to package or coo, then I Deleted the blend space and remade it from scratch and it just let me package/cook I also didn't get any error of animations being out side of blend error when readding the animations.
Huh! Weird!
Thats what im saying
classic "turn it off and on again" style solution π
Does anyone know if there was a forum post made to answer further questions from this stream? (I'm not super familiar with how those follow up posts are made)
https://www.youtube.com/live/RuYHfVKfrMM?si=MjoLubMb2aFprexL
We'll be sitting down with some of the team this week to discuss & breakdown some of the key features in the latest 5.4 update. From rigging, to rendering, t...
i found a solution, just for anyone might be interested. i'm animating AI Character Blueprint implemented metahuman in Sequencer. just use the event track to activate the character's inplace locomotion movement, then it will move on any terrain it could walk on. Then use skeletal mesh track to add other action animations during the movement, just change the Slot Name as it used for anim montages as you need, and adjust the ease in out in the track anim, then it will blend the action with the locomotion seamlessly.
what's even better, if the character implemented ai behaviors, it still keeps the ai state, it will trigger its actions accordingly. Seamless realtime cutscene and gameplay blend.
where can i see the core logic behind the pose warping nodes??
I noticed there's a rig element key collection. How does that differ from an array of rig element keys?
Not much, it's more or less a wrapper with a few rig utility functions added
Often makes me wonder why epic makes these wrapper structs when the same thing can be achieved more in a lean way using a functional approach
For what it's worth they use arrays in all CR nodes I have seen so far
Hmm I see. Normally a collection doesn't have an index. In most programming languages a collection type allows you to do things like getting a subset of a set.
I don't seem to see such features for the rig element collection though.
Depends on the programming language :^)
But they do use an array and provide some set operations:
// returns the union between two collections
static FRigElementKeyCollection MakeUnion(const FRigElementKeyCollection& A, const FRigElementKeyCollection& B, bool bAllowDuplicates = false);
// returns the intersection between two collections
static FRigElementKeyCollection MakeIntersection(const FRigElementKeyCollection& A, const FRigElementKeyCollection& B);
// returns the difference between two collections
static FRigElementKeyCollection MakeDifference(const FRigElementKeyCollection& A, const FRigElementKeyCollection& B);
// returns the collection in the reverse order
static FRigElementKeyCollection MakeReversed(const FRigElementKeyCollection& InCollection);
// filters a collection by element type
FRigElementKeyCollection FilterByType(uint8 InElementTypes) const;
// filters a collection by name
FRigElementKeyCollection FilterByName(const FName& InPartialName) const;
Which you know still makes me question why, but it's epic so...
So the unreal array acts like a set too huh interesting
I also saw there's an rig element key and rig element type but they seem to do similar things
The type is what's used in the key: control, bone, null...
The key is a combination of type + name of the element
It seems like the rig element key type already has a name property. So it doesn't look like there is any need to ever use rig element type
Yeah, RigElementKey arrays is what I've exclusively seen so far
I see. I was wondering if I had missed something by not using rig element type
Oh this is clever! Nice job!
Unreal handily provides access to it's source code, so if you want more than the documentation gives, you can go to the actual code.
Thanks! I found it
π
Does anyone knows how to import the standard UE5 skeleton into Blender without breaking?
Technically, that's not broken!
That's what it should look like.
Though you probably want to adjust your unit scale to be more like Unreal's, because she's just about two centimeters high there.
Thank you.
If that is how it is supposed to look like, how can I make it so it is in a "workable" condition?
Like the regular human rig within blender.
Do you happen to know that?
Are you talking about 'rigify' when you say 'regular human rig'?
Yes, the "human meta-rig" option
Interesting! I hadn't heard about that option.
This one, I think it is the one that comes with rigify addon.
Ah!
You will probably struggle with that, because Unreal and Blender fundamentally disagree about a lot of things!
One of them is the primary direction of bones, which makes things unfortunately rather tricky.
I'm not going to say it's fully impossible to get that to work, but I will suggest that doing so will be frustrating and might require a secondary import/export skeleton.
Ufff.....
I'm trying to get my head around all this, I'm new in regards to rigging and animation.
Thank you for all the information, I'll see what can I do about it.
Maybe doing a custom rig and pray the animations work when I export the rig + animations into the engine.