Kitty Corp Meow Mix Forums

Help & Tutorials => Programming Tutorials => Topic started by: Mewtwo2000 on May 24, 2011, 12:11:42 PM

Title: Mewtwo2000's Block Tool: How to use it
Post by: Mewtwo2000 on May 24, 2011, 12:11:42 PM
Hi buddies xD

Well, this time I'm making a tutorial showing what my Block Tool makes. First of all, you must know that it's just a stage builder block model modifier. This means that you shouldn't try it with other models that aren't the stage builder cubic block. This isn't 100% true, cause it can be used with other models with a little trick, for example, I used it with stair models for Facility, and not only the standard blocks. But first, let's go to the standard functions of the program.

First of all, and same as STPM tool, the program will not work if there's no 'model.mdl0' in the working directory. So, get your block, name it model.mdl0 and place it there.

Once there, this menu is shown:


If you have already moved the block in brawlbox, the numbers shown will not be the ones in the picture, but the ones you used to move the block in the CHR0 animation, as I suppose you know. Well. First utility of the program: Quick bone editing.

If you wanted to scale a stage made by blocks, you needed to multiplicate the translation and scale values by certain number. If you wanted to make your stage 2x, you needed a 2x translation for X,Y and Z, and a 2x scale for each of them to keep the proportions. Ok, if you go to the 'multiply' option, you will find an easy menu in which you can put the factor and apply it automatically to the axis you want. Click only once, cause the changes are applied each time. I mean, if you want a double X, and you hit the button twice, you will see that the translation or scale values in your model are x4, and not x2. You can select the axis to apply the change, and if you want it only for translations, scales or both.

Well. Now, every change you make in the main menu isn't instantly applied to the model, you must hit the apply button. The multiply option doesn't change the model either, just the values shown in the main menu.

Well, now for the interesting things:

The 'apply to model' checkbox changes what the 'apply' button makes. When it's unchecked, it just updates the 9 values in the boxes to the model. But, when it's checked, the rotation, scale and translation values in the boxes are applied directly to the model. This means that, when in brawlbox, the model will look exactly the same, but the bone will be reseted. Scales will be 1, and rotations / translations will be 0. This modifies completely the vertices, and the way the model moves when an animation is applied. It's like having a new bone while hiding the old one. If you make this with conveniently moved blocks, when you try to animate them in brawlbox, they will be still together, and not independent as before. I mean, rotating an untoched block isn't the same as rotating a block whose original translation value was X=20.

Ok, now let's go to the 'Delete Faces' button. Not much to say, the selected faces will have their vertices reseted to (0,0,0). This can be useful if done before the 'apply to model' thing, cause the zeroed vertices will go to the center of the moved block. If made afterwards, they will just go to 0,0,0, and won't give any information later.

What I mean by information is that, my program modifies the max and min values in the vertex menu in brawlbox. This means that you can see the virtual box in which the model is. If you have not rotated it at all, you will see the coordinates of each face.

Another thing my program makes when 'applying to model' is rotating the normals with the model. If you vertex hack a model, and rotate its faces, the normals aren't modified, and weird lighting thingies may occur when in-game. I wanted this not to happen. I mean, if your animation made the block having a rotation, and the lighting was okay, I needed to apply this change exactly the same way, without changing how the faces are illuminated. And I guess I've done it well. So, when a model is rotated and the changes are applied to the model itself, it should be still looking good in game.

Now I've talked about the normals, let's go to the 'Rotate' button. I thought this might be useful too. You may not need to change the vertices in the model at all, but needing to modify the normals only. So, inside the 'Rotate' option, you can rotate each face individually (you may need this to make textures fit or something), or rotating the normals only. If you are scaling some axis with a negative number, this may be useful for you. I remember Eternal Yoshi's ice stage from Diddy Kong Racing, which had some normals problem in one of the models. This tool would be able to fix this if it was a cubic block. Well, and if it's not a cubic block, but a triangle, ramp or stair, it may work too.

Like I've said in the beginning, there's a little trick to use the program with other models. This was a last-moment implementation, when I found that I needed to make the same to the 2 stair models I use in Facility. So, if you place the program in a folder called 'bin', a new menu will be open and you will be able to see some parameters. You can change them, and these changes can be useful to modify other models, not only stage builder blocks.

Those parameters are all in Brawlbox. You need to open the non-cube model in brawlbox and get those values from there.

The first one is the 'Bone offset'. This indicates where the 9 values in the main menu are read from. Just go to the bones folder in brawlbox and copy the MDL0Offset value. In positive.

The next 3 are called vertex offset. Go to the vertice folder in brawlbox and copy the MDL0Offset values. Get the NumVertices value too for each of them. Finally, the normal offset values, same but in the Normals folder, get the MDL0Offset and NumEntries values.

You can't hit 0 in the vertex offset or normal offset small boxes, I will fix this in a future and better version. But, for now, this should allow you to use it with ramps, stairs and other stage builder values. Use and experiment yourselves. If you want to share models working fine and the parameters used, maybe people thanks you.

I'm planning to make some more utilites for this program, but for a first release, I guess it's good enough. So, use it wisely and enjoy xD

Title: Re: Mewtwo2000's Block Tool: How to use it
Post by: Ricky (Br3) on May 24, 2011, 12:18:35 PM
Posting because I want to use this tool and don't want to forget where's the guide lol

Title: Re: Mewtwo2000's Block Tool: How to use it
Post by: ShadowSnake on May 24, 2011, 04:33:14 PM
ive been wanting to make a few stages (stage builder parts method) this was the step i had trouble with thanks for this tool. im sure it will come in handy. ^^

Title: Re: Mewtwo2000's Block Tool: How to use it
Post by: Puraidou on May 24, 2011, 04:49:35 PM
Posting because I want to use this tool and don't want to forget where's the guide lol
^This basically, it's nearly 1am so i can't do it right now XD

Title: Re: Mewtwo2000's Block Tool: How to use it
Post by: DSX8 on May 24, 2011, 07:49:09 PM
i... love u!!!  Will u bear my children? o.o  jk xD

already getting used to this program of urs!!!  Hope u can add more stuff to this o.o