Search the Community
Showing results for tags 'blendingspeed'.
-
I have encountered a major issues when doing skeletal animation with dynamic state changing. Scenario: I have player input control coming from game pad to control the player movement... This causes Animation State Changes.. Going from walking to running for example... WITHOUT the enableBlending AND blendingSpeed properties being set on EACH BONE ANIMATION ... you get very SHARP and jerking transitions between animation state. The problem is coming into play when I need to UPDATE the enableBlending and blendingSpeed ON EVERY animation state change... that way can configure animation timing to interpolate from the last animation to the the one about to be played... So I have to check if the target is a skeleton and loop thru ALL the bones to update the enableBlending and blendingSpeed ... Now I get why we have those properties set on the 'Animation' itself BUT when animating a skeleton as the target we really are setting the SAME blending value on all the bones when transitioning from walk to run animations. This is cause a HUGE performance hit on my xbox ... especially when move TWO fully riggred 65 bone animated characters on the screen. Now my work around is to MOD the babylon.runtimeAnimatons class to CHECK if enableBlending and blendingSpeed (and loopMode) are specified on the target's metadata, if so use that info... that way I dont have to loop thru all the bones setting blending speed if the code in 'setValue' use the higher lever value IF EXISTS on target. setValue Code Mod: var enableBlending = (this._target._skeleton && this._target._skeleton.metadata && this._target._skeleton.metadata.enableBlending) ? this._target._skeleton.metadata.enableBlending : this._animation.enableBlending; var blendingSpeed = (this._target._skeleton && this._target._skeleton.metadata && this._target._skeleton.metadata.blendingSpeed) ? this._target._skeleton.metadata.blendingSpeed : this._animation.blendingSpeed; if (enableBlending && this._blendingFactor <= 1.0) { ... rest of code ... } Now @Deltakosh does not like Unity specific mods to the code but I think this would help ALL folks and not just my unity toolkit... Either way... I can keep this in my OWN BUILDS of the babylon.js engine and ships MY OWN builds with toolkit OR I can submit to BabylonJS master Yo @Deltakosh Please let me know if this Kool with you (checking for target level blending info) and I will submit... If not, just me know and I will keep in my OWN BUILDS of the engine... No worries wither way, just thought others could benefit from this little mod as well
- 10 replies
-
- blendingspeed
- animation
-
(and 1 more)
Tagged with: