#Root Motion in ECS

1 messages · Page 1 of 1 (latest)

chilly plover
#

Hello, just started to use DOTS/ECS and I'm in love. I like the separation approach which I preaching since several years to use (mostly in a unsatisfactory approach). I know, it's unfinished, and many requirements are not implemented yet, like animation or navmesh. So I'm using the hybrid approach and NavmeshQuery to get nearly anything running like in the classic approach. Most parts better than before and in a lovely clean architecture. But does someone know how I could approach the Root Motion behaviour? Is there an approach to sync things back from GameObject to the ECS? Actually it looks like a one way direction, but how can I handle modifications, based on Unity GameEvents back, which are thrown in a specific order? I think, same problem I would have with IK which is actually also not available ... Any ideas?

pseudo basin
#

I believe there's a callback which exposes root motion data per frame

#

If you gather data out of it

#

And read it from ecs system - you can add this to characters velocity

#

So what you need is just make your monob

#

And attach it to entity as component

#

In callback, put data to some field

#

And then iterate that conmponent and consume all motion data from field

#

In the end you set it to 0, so it doesn't add up

chilly plover
#

@pseudo basin Do you mean OnAnimatorMove? Where I sync the animation root position with the agent nextposition in the classic approach?