RomanianGirl![]() Level: 16 ![]() Posts: 28/42 EXP: 19620 For next: 636 Since: 01-31-08 From: Canada Since last post: 12.9 years Last activity: 12.9 years |
|
||
| Alright, so a lot of people have been asking for a model importer to replace Mario’s model (Or other characters potentially) into whatever character. A lot of hackers here have repeated the same “This is not possible with current knowledge of Super Mario 64”, yet people continue to beg. Well, I’ll hopefully clear up quite a few problems with this thread. : ) First of all, you must realize the fact that Super Mario 64 is a very early 3D game, and thus polygon models were NOT designed the way they are today. Today’s models of characters in video games use a ‘skeleton’ which attaches to the mesh, and primarily deals with animating the character smoothly. ![]() (Please note this is a skeleton I created, not exported from the game’s data) As you can see on video games, the character’s models aren’t ‘chunked out’ as Mario’s model is (see above). The Super Mario 64 engine uses a much different animating system; polygon body parts go through a series of rotations and transitions to animate Mario jumping, running, swimming, and every other animation. This is evident when Mario has Peach’s animation. His polygonal parts begin to act as if he has Peach’s structure, and thus his polygonal body parts move as if they were Peach’s. A potential solution to this problem is perhaps a system where you ‘distort’ the body parts to create different characters, and importing these edited vertices into the game. The problem is that the character will maintain the same height and posture as Mario. A second problem is how the models are built. As VL-Tone explained in a post long ago, the models are made up of triangles. An issue that arises is the fact the vertices are not ‘locked’ together. What this means is you cannot ‘tell’ one vertex to move say 50+ in the y position, and expect the other 3 connecting ones to do so. This leaves ‘holes’ in the models (and since polygons are not shown inside Mario, it’s even more odd]. ![]() (Please note this also occurs when RAM values are edited during gameplay) In addition, you must realize that new vertices cannot be created. This means you are only limited to the number Mario has (plus if there are unused ones in the ROM) Finally, the animation is the last problem. If people were to make new characters, to avoid over work, Mario’s animation data must be retained. I don’t know too much about how editable the animation data is, but Mario’s data is so vast (hundreds for all his actions + reactions), it would literally take months to create new animation data for every move, then re-write into the ROM. If you don’t understand the diversity of Mario’s moveset, refer to my incomplete list of hex values: http://jul.rustedlogic.net/thread.php?id=2529 With this thread, I did not mean to ‘burst anyone’s bubble’. I wrote this for Messiaen, VL-Tone, and whoever else worked on this to explain to others of the difficulty. Some of my analysis may have been incorrect, and I may have missed a few points, but this gives a general idea of the difficulty involved. I’m not trying to be pessimistic, but others must think realistically. You are welcome to post questions, opinions, and ideas. (Please forgive grammatical/spelling errors in this post.) |









