I Am new to this type of thing, i dont know C++ so i am using Data Blocks for as long as i possibly can, i want to make a semi-complicated character idling system, basically what i want to do is have the character move their head, torso and legs in a “comfortable zone” radius while idle, here in this instance i want the root to rotate (the character to turn) whenever the camera’s facing direction surpasses a certain threshold of about 27 degrees left or right, originally i had it alot more complicated but have dumbed it down a little bit since then,
now in this image i’m trying to fall back onto using the Character BP’s useControllerYaw setting, basically when the player is moving i want Unreal to do its normal Unreal thing and allow the character to move freely while facing the camera, basic thing, yknow? well i got it to work but the issue NOW is that the character snaps to position instead of turning smoothly, i dont have my ABP set up yet to play anims for this particular occurence, but i assume that the root needs to rotate smoothly, because with the system like that, it automatically solves any issues with regular player-like movements, like turning in a specific position and then sprinting, the root moves cleanly to its normal place while the anticipation part of the sprint animation is still busy playing
i dont know if i am over explaining this, or if i’ve typed too much to bother reading, again i’m very new to this typa stuff, and i dont know many node or datablock coding, i think my only specialty is ideas and animation making at this point.
the snap comes from flipping useControllerYaw as a bool, that sets the rotation instantly with no interp. keep bUseControllerRotationYaw off and do the turn yourself on tick: get the delta between controller yaw and actor yaw, and only when it passes your 27 degrees, feed the controller yaw into an RInterpTo driving SetActorRotation with a turn speed around 5 to 10. that gives the smooth root turn and the sprint anticipation still blends cleanly.
for the head and torso idle zone later, look at an aim offset or a layered blend per bone on top of the idle, that way the root handles the big turns and the upper body does the small comfortable zone shifts without fighting it. dont try to rotate meshes by hand, the interp node plus one aim offset covers the whole system.