03-04-2011, 03:33 PM
(03-04-2011, 12:35 PM)alecpike Wrote: @skorpion
that's pretty awesome, do you think you might post that model?
i wonder how similar the textures are
acording to several sites they are exactly the same
Sorry, I don't have the model myself, it's just something I've seen online. I did a quick search just now to see if I could find the texture anywhere, but it seems nobody has uploaded it anywhere, that I could find at least.
I'd guess that they made the texture again, as it'd be a pain to map a new model to an old texture, but I can't be sure. All I know for sure is that it was darkened.
(03-04-2011, 02:30 PM)AllenSword Wrote: What method would that be?
It's a little tricky to explain. I guess it might be worth making a guide some time, although I can't be sure of all of the tricks they've used in games, especially with the N64.
One way to fix a lot of texturing errors with N64 models (and from the problems I've seen with some Gamecube models, it should work with them too) is to... Well, take the eyes for example. Often with models, the eyes and an area of face surrounding them has its own texture. The N64 uses a lot of tricks for keeping texture sizes down, one of them seems to be to have kinda... a default colour for a texture, so that if part of the UV map goes outside of the boundaries of the texture, instead of it coming in on the other side, as it usually would, it takes that colour. So with the eye area, it'd take the skin colour. (Some programs may support this, but a lot don't.)
What I do to sort this is to double the size of the image canvas, but not the image itself. So, say the texture was 64x32, I'd make it 128x64. Then I'd position the original texture exactly in the middle of the canvas. (This has to be pixel perfect) Then I find the colour that would be used on the N64 when the mapping goes out of the image, which in this case, would be the skin colour. I fill the rest of the image with that colour. Next, I select that part of the model in the texture coordinate editor, set the pivot point to 0.5x0.5, and then scale the mapping by 0.5 in each dimension. (Or you could leave the pivot point at 0x0, scale the mapping by 0.5, then move the mapping by 0.5 in each dimension.) Make sure all of this is done by entering the numbers in the scale/move/pivot sections, as opposed to trying to do any of it by hand/sight, or it won't end up perfect. (I'm using Milkshape 3D for this. I think some of the older versions of MS3D are lacking some of the features in the texture coordinator editor, so use a recent version. I'm sure other 3D programs have equivelents to what I've talked about.)
There are other tricks they used, which aren't usually supported by MS3D and other programs, like having a texture mirror on a plane instead of repeating twice the same way around. This can be fixed either by adding some extra vertices and then flipping the mapping for the side that appears incorrectly, or by opening the texture, doubling the canvas size in whichever dimension is necessary, and then flipping a duplicate of the image onto that side. (You'll have to scale the mapping by 0.5 in the appropriate dimension.)
As for texture combining, I'd suggest starting with a 512x512 texture.
(You may end up reducing it or enlarging it, depending on the amount of textures and how much you need to tile certain ones, but this can be done easily enough, so long as you remember not to do anything with the mapping by hand, and to leave all textures at their original resolutions.)
For parts of the model that have a square texture, just assign them to the new texture and scale them down by halving them, and then moving them around in eighths (0.125), sixteenths (0.0625), etc. For parts that have a texture say 64x32 instead of 32x32, you'll need to scale the mapping by 0.5 in the appropriate dimension to make it so that it isn't stretched. Make sure to scale all parts so that they're using the amount of pixels that they originally used. This is pretty easy to do, as you only need to halve their dimensions (Like I said, sometimes you'll need to to it more times in one dimension than the other, depending on the dimensions of their original texture.)
You'll need to tile the original texture on the new combined texture for parts of the model that use normal texture tiling. Use the other methods I mentioned for the other tricks they use, and then place those textures on the new combined texture.
It's pretty straight forward to do all this. Essentially, do everything logically. Don't just put a texture into the combined texture anywhere, and hope to line it up later when mapping it to the model. It's all about getting it pixel perfect.
As for transparency issues, I use Paint Shop Pro 9, and the PNG exporter, which allows for transparency in PNGs. I've yet to encounter much transparency use in models, but it can be tricky to sort out. I pretty much deal with it as it happens, so I don't really have much I can suggest for it.
Long story short... Leave the textures at their original resolutions, do everything with exact numbers, don't do anything with guesswork.
I know none of this is really groundbreaking, but... Maybe it'll come in useful.
Sorry for all that text, I guess I got kinda carried away.
I might write up some proper guides some time, if any of you think that'd be a good idea.