Notifications
bg
Porrith Suong
Game Developer/Co-Founder - Programmer
New York City, United States
2
Likes
9
Followers
5
Connections
All
Articles1
Games1
Showcases1
Column3
Jobs0
Porrith Suong
updated the article
Oct 19, 2018 7:52 PM
Derby Case Study : Unity ECS For Small Things
Background
Derby Case Study : Unity ECS For Small Things
Article
Oct 19, 2018 11:31 AM
With Unite 2018 LA around the corner, I've been really looking and playing around with Unity's ECS. Here's a case study that I did for an important gameplay mechanic that I did for Derby. Hope it provides some insight on how you can leverage ECS in small games. :)

https://connect.unity.com/p/derby-case-study-unity-ecs-for-small-things

Derby Case Study : Unity ECS For Small Things - Unity Connect
Background
https://connect.unity.com/p/derby-case-study-unity-ecs-for-small-things
Porrith Suong
published the article
Oct 19, 2018 11:27 AM
Derby Case Study : Unity ECS For Small Things
Background
Derby Case Study : Unity ECS For Small Things
Article
Porrith Suongjoined an event
Unity Developer Day: New York 2018
10:00 AM - 5:00 PM September 8, 2018
10:00 - 17:00 Sep 8, 2018
16 Participants
Porrith Suonginterested/going an event
Unity Developer Day: New York 2018
10:00 AM - 5:00 PM September 8, 2018
10:00 - 17:00 Sep 8, 2018
16 Participants
Aug 27, 2018 12:46 PM
Hey there,

Quick question to the group, has anyone extensively worked with merging NavMeshAgents with animations?

For instance, do you use root motion and IK extensively and let the NavMeshAgent determine the path? Do you use root motion extensively and if you do, how do you match the root motion with the path generated? How accurate is the root motion movement with the path?

Usually, I try to do a blend of both (generate a path, use the velocity from the agent to determine the direction for the root motion), but I'm curious to see what other solutions people have.

JB
James Bouckley
2 months ago
My preferred method is to use the root motion from animation but determine which animation to play (based on their root motion) using the desired velocity of the Nav Mesh Agent. When considering character's like this it is important to consider the three decision vectors of a character for locomotion: The character's current forward The character's desired forward The character's desired movement (Technically you can also include the character's current movement on this list but that tends to complicate things.) All locomotion animation (animation of the character moving on the ground) can be chosen by a combination of these vectors. Once your animator controller is set up so that these vectors can determine the animation being played, it is simply a matter of setting these vectors. The character's current forward is simple to determine. When using a Nav Mesh Agent, the character's desired movement is simply the desired velocity. Depending on the amount of animation you have, various concessions need to be made about the desired forward of the character but it is usually some interpolation between the current forward and the desired movement. Use these things to set animator parameters you require. Then use the resultant root motion (animator.deltaPosition) in an OnAnimatorMove call to set the velocity of your Nav Mesh Agent. This is my preferred method as it usually results in the least foot slipping.
About Me
I enjoy hacking and pushing Unity to the limits since it's fun to learn and find new tricks quickly...
initialPrefabs
CoFounder/Game/Tools Developer
City College of New York CUNY
Bachelor of Computer Science
See more
Certifications (0)
Import
See all
Porrith Suong's liked projects (4)
Following (14)
Followers (9)