New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proof of concept: enable animations for the player avatar (use deer as placeholder) #2475

Cervator opened this Issue Sep 11, 2016 · 0 comments


None yet
1 participant

Cervator commented Sep 11, 2016

At present we have animation support for NPCs like the deer, handled in NPCMovementSystem as part of NPC movement. Players naturally don't use that class - there's a whole other movement system. However, to be able to animate a player character in multiplayer we need to have somewhere to hook up animations.

Exact architecture for this I'm unsure of. Should the animation part be split out of the NPC system and both NPC and player movement systems can throw appropriate animation events to be handled there? Or should we funnel the two approaches through some shared interface somehow? Might be good to get some ideas from @flo

To test this and make it easier to work on improving models that could be used as the player character I suggest for this PR we hook up the player with the deer model since it is already animated.

The overall setup may need to be enhanced to allow for movement at different speeds to be appropriately shown via animations sped up or slowed down from their default pace.

Bonus: Find a way to mix in the Gaze system @Josharias worked on in the past to allow the player's head to match their view direction. This was achieved by using two different models though (separate "head" and "body"). Not really an animation.

The basics here shouldn't be too unapproachable. Switching the player from the monkeyhead to the deer I imagine should be relatively easy, then look at the NPC system and find a fitting way to hook into player movement instead.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment