Advertisement

Relative movement on deforming mesh

Started by July 30, 2018 08:42 AM
1 comment, last by TeaTreeTim 6 years, 1 month ago

This isn't something I'm trying to implement (yet), it's just a curiosity I've had. If you watch the following video from 14:30-14:50 you will see that Banjo is "mounted" (is this the correct term?) on a deforming mesh.

Here is another example in Spyro the Dragon, from 1:45-2:05:

This seems simple but the more I think about it, the more I am stumped as to how one would achieve this. A moving platform is pretty simple to handle, because you can just calculate an offset to the platform object's center.

But that doesn't work for a skinned mesh. Yes, you can to determine which triangle your character is colliding with, but then what? Keeping track of the triangle's position isn't enough, because the vertices may change relative to one another. So you'd have to keep track of a point P on a triangle as it changes shape. What happens when you walk from one triangle over to another triangle? How do you handle the frame in which this occurs?

To sum it up, I'm interested in answers to the following questions:

  • In general, what is this even called? "Mounting" a character to a mesh? I can't find anything under that term if I google it.
  • How does the performance of this technique compare between today's games and games made 10 years ago? Does the increase in polygons make it not worth it because it's too computationally expensive now?
  • Do you know of any papers that describe different ways to implement this technique?

 

 

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty

How are you animating the player avatar? Often you'd have a bone to represent mount points. If you look at the unity or UE4 web store or how to's, you can find out about player character meshes that are rigged with mount points for weapons plus a bone for when its being held etc. These animate like other bones, just as you would deform a body part.

That might be different to your examples though. If I were doing the dragon thing, I'd have the sprite as a separate NPC that follows a hot spot (bone/mount point) based on the avatar orientation, so it has its own physics and collision detection. If it doesn't have to move around to attack/harvest etc then just a mount point with its own animations might work like you would a sword etc.

 

This topic is closed to new replies.

Advertisement