Frosferes Posted December 29, 2022 Posted December 29, 2022 I'm writing a Racemenu script that includes sliders for NiNode scaling, translation and rotation. The NiOverride scaling function works fine and updates visually in and outside of racemenu, but the translation and rotation functions do neither. I tried calling the XPMSELib node transform function the same as SOS Racemenu, but whilst the translation and rotation sliders in that menu worked, mine still did not. The Papyrus log says that the function is recieving a similar 3 float array for both Racemenu SOS and my own script. I cannot see any problems in my script to prevent it from working and am wondering if I'm missing something.
Frosferes Posted December 30, 2022 Author Posted December 30, 2022 2 hours ago, Andy14 said: Without seeing the code... Sorry here's the script. 3D NiNode transformation and rotation data is cached in a single matrix which is read and written to during OnSliderChanged(). It's a little messy due to being WIP but to my knowledge the extracted matrices used for the transform functions are correct. RaceMenuPluginWerewolves.psc
Frosferes Posted December 30, 2022 Author Posted December 30, 2022 I think I've solved the problem. I did some more digging into how SOS Racemenu operates and I noticed that scaling functions are typically applied to the skinning "NPC" nodes, where translation and rotation are instead applied to intermediary child bones labelled "CME" that are not part of the behaviour graph skeleton. I added one such intermediate bone to my own skeleton and targetted it in the script, which allowed translation and rotation to occur as intended. If I were to guess why this happened, it's because the Skyrim animation graph handles bone translation and rotation, but ignores bone scale. Assumably, this means that any NiOverride edits to the translation and rotation of those bones is immediately overwritten again by the playing animation.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now