|
Post by nanuke on Aug 5, 2020 18:42:12 GMT -5
Hello everybody, I am trying create a simple mod to the Guitar instrument. Here is what I wanted to do specifically: Copy guitar object. Copy it's object tuning to change super affordances. Copy "guitar_Practice" interaction tuning to use it in the object tuning's super affordances... I couldn't wrap my head around why my modified interaction tuning breaks the guitar playing animation for like two days... Turns out that the animations associated with the interaction break whenever I rename the tuning to anything else than "guitar_Practice". I have tried to modify everything associated with the tunings that I could find, all of the animation tunings, animation clips, headers, state machines... If anyone could help me out I would be grateful, all I need is some pointers where to look and what else to change because as of now I am out of ideas. The issue looks like this in the game and all I have done to the files is to extract "guitar_Practice" interaction tuning, rename it and place the new tuningID into super affordances section of the object tuning: Thank you!
|
|
|
Post by nanuke on Aug 10, 2020 8:20:35 GMT -5
So I've been doing more research and extensive testing and tracked the issue to the fact that autonomy logic fails to trigger properly when using renamed interaction. These 3 lines appear when using normal vanilla unmodded guitar:
[DEBUG] Unskipping autonomy for Igor Byrnecz due to Igor Byrnecz running AnimationInteraction:29 on None (guaranteed); {<SI guitar_Practice id:22 sim:Igor Byrnecz>} is left. [DEBUG] Unskipping autonomy for Igor Byrnecz due to Igor Byrnecz running AnimationInteraction:29 on None (guaranteed); {<SI guitar_Practice id:22 sim:Igor Byrnecz>} is left. [DEBUG] Unskipping autonomy for Igor Byrnecz due to Igor Byrnecz running AnimationInteraction:29 on None; {<SI guitar_Practice id:22 sim:Igor Byrnecz>} is left.
Now, these lines don't appear at all when using custom super interaction with different name than "guitar_Practice".
According to the ASM the "start_practice -> practice -> hub -> stop_practice" dictates the initial, loop and end animation clips, but while there is "pickup" and "putdown" clip configurations, those two are not part of the ASM connection chain at all.
Which leads me to believe that there must be something somewhere in the script files that tells Sim to use "PickUp" animation when they need to carry an object and "PutDown" animation when they are done with it.
Which in turns leads my investigation to the fact that this is where the autonomy fails, when the interaction is renamed, Sim doesnt go to pick up and carry the object to use it, they just grab it from anywhere because there are no constraints telling them that need. I can add the constraint that requires sim to face the object but it doesnt fix the animation because there's something else somewhere that handles that.
Any ideas? :-/
|
|
|
Post by nanuke on Aug 10, 2020 10:17:24 GMT -5
Ok so adding a carry constraints on the interaction has fixed the issue, why it is not there initially and why it behaves differently when tuning name is changed still bothers me but we cant have everything right :D
<L n="_constraints"> <U> <L n="constraints"> <U> <V n="value" t="posture"> <U n="posture"> <E n="body_target_tuning">INTERACTION_TARGET</E> <L n="posture_manifest_tuning"> <U> <V n="carry_left" t="actor" /> </U> </L> </U> </V> </U> </L> </U> </L>
|
|
|
Post by endraien on Jul 20, 2021 21:50:01 GMT -5
OMG Thank you so much nanuke !!! :D I've been looking everywhere for this
|
|