WIP: Steamboiler as an example for projection rendering (Part 7)

mick1960

Well-known member
Hello again!

I need a break, mapping all the detailed stuff and add it to the main mesh mapping, which shall be later exported. I need to see something :)

So I did something which better should not be done, but like I said, I wanted to have a result for now in Trainz. I put a notex material (RGB 128, 128, 128) onto the low polygon mesh and I also wanted to experiment with a VRayAmbientLight against a VrayLight (Dome), which I have overlooked before, as a GI (general illumination). There are still some artifacts on the complete map, I will do a second test with VrayLight to see if the VRayAmbientLight is the cause for them.

For now, this is how the lower polygon model of the boiler looks in Trainz only with the notex material:



As you can see, beside the items I did not include yet, there are several things 'missing' in the final mesh. For example the round notches in the pipe sockets, the sealing rings and the bolts and nuts between the pipe connections, the rings around the boiler, the brackets to connect the valve, dome and smoke pipe with the boiler, the rivets. Right, these items will later exist only in the final texture…

And here with the rendered complete map:



Remark: In the last picture you can see a mistake I made. Do you recognize the fine, dark line from the front to the back of the boiler and the one from top to bottom on the dome?
There the gutter (blank areas between the used colored areas (UV cell) in a texture) bleeds through, because I forget to adjust the padding parameter in the Render to Texture dialog.
All game engines uses texture filtering to smoothly render the textures, sometimes called down sampling. If the neighboring colors differ too much the color of the gutter area can bleed through and you see those lines at the border of the seams. To avoid this you can order Max to do an edge padding within the Render to Texture dialog under Selected Object Settings->Padding. This means, Max is adding at the border of the UV cell some pixels of the same color which is at the borderline.

I found on the web some basic values for this padding. You can use them as a rule of thumb, because every engine has different methods of rendering a scene:
128 = 2px
256 = 2px
512 = 4px
1024 = 8px
2048 = 16px
Do not forget this, because Trainz uses texture lod all the time and if a texture is reduced the bleeding will occur if the edge padding is too small.
I forget how far Trainz reduces the textures, but if you have 2 pixels padding and the texture is reduced from 2048 down to 1024 you will already run into problems. Reduced again down to 512, I guess you know what you will see then, texture mud…

And at last the texture, which is the result of the render to texture process (no projection rendering yet!). As you can see, still a lot of work to do, many details are still missing. The original was 2048x2048, this is only a reduced copy with 1024x1024 pixels:




Some words about the mapping process I prefer. You have to put all objects which shall be in the final mesh to one by attaching all of them. If you do this before each of the object has its own mapping you will face a huge pile of work to get a usable mapping. With 'usable mapping' I mean one which can be later 'repainted' by other users or e.g. weathered by yourself. This means all items should be as one in the mapping. You could simply use automatic flatten and leave it to Max, but then the mapping looks like a porcelain shop where a samurai fight took place and you will never have any chance to work with the final texture or correct anything later.

I prefer to make a mapping for each little part for itself with the unwrap uvw modifier and the UV editor (important: always save a uvw file!).

After another object is attached to the main mesh its mapping is preserved and you only have to rearrange the complete mapping. This could be done e.g. automatically within the editor with Tools->Pack UVs.


Mick!
 
Back
Top