Sign in to follow this  
westside_indie

Metroid Prime Modelling Questions

Recommended Posts

If you've every seen or played a Metroid Prime Game, you probably noticed that when you change your gun, it changes shape. Also when you charge the beam, it slightly expands. If anyone has an idea on how they do that, please reply. Thanks!

Share this post


Link to post
Share on other sites
A programmer can change the size and shape of your model at any point in time by changing the relative location of the component vertices. You have all of the vertices in memory so you can manipulate them however you want.
One way is morphing:


  • You have all vertices in the mesh.


  • you know where you want them to be at the end of the morph (perhaps you are storing these locations in another mesh with the same amount of verices)


  • you draw a mesh on the screen where each coordinate x,y, and z component is the weighted average of the coordinate components of the beginning mesh and the target mesh. The weight is the number of frames that pass.

Share this post


Link to post
Share on other sites
My guess would be that it's all just animated. Some of it might be done programatically but just having another animation is FAR easier.

Share this post


Link to post
Share on other sites
I believe forward Kinematics can do that!(i think) :-P

Create a Gun / Arm Buster (megaman) with multiple bones
and also add some details to it like screws, opening etc etc.

So everytime when you are charging your buster or switching weapon,
you should let the model animation do that for you.

Like expanding, you just let the other loose part expand
or make the screws rotated or do some other fancy animation.


sorry for my badd Chinglish or Nethalish :-P

Share this post


Link to post
Share on other sites
Ah, but showing animation stored in a file is also "programatic," it's just that you are probably using some high-level library. Which method is easier depends on what your model file and graphics library support. If you were writing from scratch, I would think morphing would actually be easier to impliment.

The models having the same number of vertices would be easy to accomplish because the sensible thing to do would be to create the enlarged gun model directly from the regular gun model in your modeling app, using a scale tool or something. If you do this you will surely have the same number vertices listed in the same order. You can then just apply the simple math to get your results.

Share this post


Link to post
Share on other sites
Quote:
The problem with that method Kelly G , is that both models must have the same number of vertices.


practically a non issue. It is plausible that this is the animation method used. Poly's can be hidden by aligning them and pulled close together. A smooth mesh might be hard to control this way but if all the detail is in smooth 0 then no problems.

Share this post


Link to post
Share on other sites
Quote:
Original post by Kelly G
Ah, but showing animation stored in a file is also "programatic,"

That's not what I meant. "Programatic animation" implies that the animation is created entirely from the code and doesn't use any hand-created assets.
Quote:
Which method is easier depends on what your model file and graphics library support.

Just about any model/anim file and graphics library will support animation.
Quote:
If you were writing from scratch, I would think morphing would actually be easier to impliment.

Possibly. I'm thinking about it this way (I'm a programmer btw)... here's the item on my task list for doing it with morphing:
- Design and implement system for skeletal animation playback and blending that also supports arbitrary morph targets.

And here's the item for doing it without morphing:
- Design and implement system for skeletal animation playback and blending.

Which sounds easier to you?

Quote:

The models having the same number of vertices would be easy to accomplish because the sensible thing to do would be to create the enlarged gun model directly from the regular gun model in your modeling app, using a scale tool or something. If you do this you will surely have the same number vertices listed in the same order. You can then just apply the simple math to get your results.


Also, why would you want to create/store/load an entire copy of the mesh for the morph targets when you can just create/store/load a single animation that has a single scale keyframe? Seems a lot simpler to me.

Anyway, you may be right - I don't know. But my experience has taught me that it's *always* easier to just do the simplest thing possible. In this case, it's much more simple for everyone involved to just make a short animation that scales the gun up.

But of course that gets more complicated if you have to support all the fire animations when the gun is large and small. It's been a while since I played Prime (loved it, finished it) but I don't think that was the case.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this