uhmattbravo Posted September 3, 2017 Share Posted September 3, 2017 (edited) So I've been on and off working on a controller friendly, 'creature' based vehicle system. I've pretty much got it except for one problem: it seems that using the PlayGroup function completely ignores any changes to the Speed Mult value of a creature regardless of whether it's changed in a script or in GECK. Unfortunately, this limits me to pretty much just walk and run speeds while one of my main (self imposed) requirements is gradual acceleration and deceleration. Does anyone know of a way to work around this while still preserving the controller compatibility and free look capability that using a creature based system with PlayGroup was otherwise helping me achieve? Edited September 3, 2017 by uhmattbravo Link to comment Share on other sites More sharing options...
DoctaSax Posted September 3, 2017 Share Posted September 3, 2017 I think a creature's speedmult is supposed to only affect how fast its animations play, not how fast it travels, as with a human NPC. This isn't my area of expertise, but perhaps the key would lie with the animations themselves causing the creature to move. Compare with the idle anim "SpecialIdle_NVDrunkWalk.kf", which if you just playidle it on an NPC that's standing still causes the NPC to move forward a little. Link to comment Share on other sites More sharing options...
uhmattbravo Posted September 3, 2017 Author Share Posted September 3, 2017 Thanks for replying. I was always under the impression that it was the opposite, that it alters the movement speed but not the animation speed. I can also verify that at least the movement speed can be altered in GECK on creatures taking their movement cues from packages because that's how I set the speed for different routes in my mod, Traffic. Using the console in game, I got it to effect both movement and animation speed of a brahmin following a trader, but it doesn't apply to my drivable car (that uses PlayGroup) via console, GECK, or script. I tried different speeds as special idles before but implemented it poorly. Maybe if all else fails, I'll try to see if I can get it to work that way, but I'd prefer to use SpeedMult over that because the transitions would be smoother, I wouldn't need an excessive amount of .kf files (because the first thing I intend to use it in is Traffic which uses at least 5 different skeletons for different vehicles as is and I intend to add at least 2 more in the update), and lastly, it means I'll have to make more alterations to each vehicle type's script to accommodate the idles rather than just the top speed, acceleration rate, fuel consumption, and turn speed, that I was originally aiming for. Link to comment Share on other sites More sharing options...
DoctaSax Posted September 3, 2017 Share Posted September 3, 2017 I just got the intel about speedmult off the wiki, it could be wrong.How exactly are you manipulating the AV? SetAV, ModAV, what values? Link to comment Share on other sites More sharing options...
uhmattbravo Posted September 3, 2017 Author Share Posted September 3, 2017 I tried both ModAV and SetAV at a few different speeds. As a test, I also tried it on the console in game as well as directly changing it on the base object in GECK. It seems that whatever I do, it always just plays at the equivalent of 100% Speed Mult. I know that the mesh and animation can be modified by it in GECK at least, because I've been testing the scripting on the same assets as Traffic which, again uses SpeedMult to vary the speeds. The only difference I can see is the use of PlayGroup on the drivable one. Link to comment Share on other sites More sharing options...
Deleted1205226User Posted September 3, 2017 Share Posted September 3, 2017 I have no idea if this is of any help but I found this quote from Ladez: "Anyways, any change to an actor's speed will not take effect until the actor re-evaluates its speed. So if you modify the SpeedMult of the player, for instance, something needs to happen in order to make the game recalculate the player's speed. Toggling sneak mode, holstering/unholstering your weapon, or taking damage to your legs, are some events that will force this to happen." Link to comment Share on other sites More sharing options...
rickerhk Posted September 3, 2017 Share Posted September 3, 2017 Performing a 'ResetAI' on the actor will also force it to evaluate its speed. Link to comment Share on other sites More sharing options...
uhmattbravo Posted September 3, 2017 Author Share Posted September 3, 2017 I've tried adding and removing heavy weights and breaking/fixing 'legs'. It is good scripting advice, but the problem is that I don't think SpeedMult or SetAV are the problem. I'm starting to think that PlayGroup just doesn't take SpeedMult into account at all and just plays the animation at the animation's speed (100% Speed Mult) regardless of how SpeedMult is set. All my testing so far seems to point to this. Pretty much, what I'm looking for is an alternative method of making the creature walk that's still controller friendly but can actually account for it's SpeedMult value. Link to comment Share on other sites More sharing options...
uhmattbravo Posted September 3, 2017 Author Share Posted September 3, 2017 Performing a 'ResetAI' on the actor will also force it to evaluate its speed.I will try this next chance I get. Link to comment Share on other sites More sharing options...
Deleted1205226User Posted September 4, 2017 Share Posted September 4, 2017 I'm starting to think that PlayGroup just doesn't take SpeedMult into account at all and just plays the animation at the animation's speed (100% Speed Mult) regardless of how SpeedMult is set. I believe the speed of animation played through Playgroup is determined in the Frequency/Phase settings in the NiControlerManager. Link to comment Share on other sites More sharing options...
Recommended Posts