SUBSIM Radio Room Forums


SUBSIM: The Web's #1 BBS for all submarine and naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SH4 Fleet Boat Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 12-06-2007, 09:21 PM   #1
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,545
Downloads: 25
Uploads: 3
Default [TEC] SH4 models and texture maps (warning: large pictures)

Now that I have had a chance to get good look at the game assets (models/textures), and what techniques the game engine uses to draw models I think we need a dedicated technical thread.

For the time being, I will only focus on ships (but I will add interiors in some time). How to import or export them will also be added later, for now it's just how the game draws them. This info should be useful to those who want to create or modify models.

First, the available textures:

..._T01, RGB channels = Diffuse map
..._T01, Alpha channel = Optional, specular map (see below)
..._O01, RGB channels = Ambient Occlusion & dirt map
..._O01, Alpha channel = Optional, specular map (see below)
..._N01, RGB channels = Normal map (aka bump map)

The specular map is special, as it can be either in the alpha channel of the diffuse texture or the ambient occlusion texture. And it's not a required texture either. The game identifies which texture to use with the UnifiedRenderControler > UseSpecularFromDiffuse. All the other extra maps can also be turned on or off with this controller.

Below are shots with combinations of the maps enabled. The shots are rendered in 3ds Max, so this also shows I got all uv-maps in. Please note that I do not attempt to get the same look as in game, because the game uses shaders and all sorts of other stuff to make it look even better. The shots are made to show the difference.



Diffuse only

The model has only the diffuse map applied. It looks very plain. Shadows are calculated based on vertex normals only. The shadows depend in this case solely on the light sources in the scene. Since I have a big light above the model, there aren't much shadows seen at the top of the deck.



Close up:





Diffuse + Specular

Same as previous shot, but with the specular map applied. The specular map is used to determine how much light is reflected. The most obvious highlights are seen at the keel and midsection of the hull. It depends on camera angle and where the light sources are. At different angles the effect can be seen better.



Close up:





Diffuse + Specular + Ambient Occlusion/dirt map

With the ambient occlusion map applied, the whole ship is now darker. The ambient occlusion map is basically used to apply prerendered shadows to the ship. No light sources have changed!

The game uses a completely different UV-set (texture coordinates) for this texture, which is the most common problem experienced in today's modding, since no tool can export/import the additional set(s), yet!

Occlusion maps are often also combined with a dirt map. A dirt map is a map that has extra detail, dirt, rust, scratches, and what not. When blended with the diffuse map, this will add more variaty to the overal look of the model. The model no longer looks plain, and texture tiling is no longer very apparent. Look just below the turret base, you can see a whole lot of rust/dirt that wasn't in the previous shot...

You can also see the specular highlights better now.



Close up:





Diffuse + Specular + Ambient Occlusion/dirt map + Normal map (bump)

Not so apparent from a distance, the bump map provides yet even more detail. Instead of modelling small details like ladders, windows, doors, wires, rivets, etc with polygons, such details can also be faked by your graphics card. The bump map provides info what area 'sticks out' or 'falls into' a surface. In combination with light shining on a surface the graphics card will produce shadows which will give it a raised or lowered look. You can see the bump map in action better below in the close up shot, I overdid the effect a bit so you can see more clearly (compare also with previous closeup).



Close up:




More to come later.

PS: I am by no means a 3d expert, just for the record

Last edited by skwasjer; 12-16-2008 at 11:12 AM.
skwasjer is offline   Reply With Quote
Old 12-06-2007, 09:24 PM   #2
AVGWarhawk
Lucky Jack
 
AVGWarhawk's Avatar
 
Join Date: Jun 2005
Location: In a 1954 Buick.
Posts: 26,196
Downloads: 87
Uploads: 0


Default

Ok man, you talking a foreign language to me! Where are you going with this:hmm:
__________________
“You're painfully alive in a drugged and dying culture.”
― Richard Yates, Revolutionary Road
AVGWarhawk is offline   Reply With Quote
Old 12-06-2007, 09:27 PM   #3
ReallyDedPoet
Canadian Wolf
 
ReallyDedPoet's Avatar
 
Join Date: Jul 2006
Location: The one and only East Coast
Posts: 10,483
Downloads: 891
Uploads: 5


Default

One part of the game that needs a little work, by the look of things though ,
not for long


RDP
ReallyDedPoet is offline   Reply With Quote
Old 12-06-2007, 09:32 PM   #4
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,545
Downloads: 25
Uploads: 3
Default

Quote:
Originally Posted by AVGWarhawk
Ok man, you talking a foreign language to me! Where are you going with this:hmm:
I want to outline how the game uses models and texture assets, and will add in the future how to get everything in and out of 3d modelling software. Basically, I want this to be a thread where all technical related info is gathered, for those that want to understand. I realise the uber 3d guru's are not impressed by this info, and others could care less about how it's done, but there's a group that wants to know
skwasjer is offline   Reply With Quote
Old 12-06-2007, 09:36 PM   #5
AVGWarhawk
Lucky Jack
 
AVGWarhawk's Avatar
 
Join Date: Jun 2005
Location: In a 1954 Buick.
Posts: 26,196
Downloads: 87
Uploads: 0


Default

Now I get the picture
__________________
“You're painfully alive in a drugged and dying culture.”
― Richard Yates, Revolutionary Road
AVGWarhawk is offline   Reply With Quote
Old 12-07-2007, 12:04 PM   #6
Digital_Trucker
Silent Hunter
 
Join Date: Jul 2007
Location: The Peach State
Posts: 4,156
Downloads: 64
Uploads: 7
Default

Quote:
Originally Posted by skwasjer
I realise the uber 3d guru's are not impressed by this info, and others could care less about how it's done, but there's a group that wants to know
To paraphrase the catchline of a popular grocery store gossip mag, "Perspiring minds want to know". And my mind is perspiring, so I guess I fit into that group .

Thanks for the info
__________________

RSM-GIEP-Killflags-LV Tribute-Playable Elco __Peace be with you, Dave.

Digital_Trucker is offline   Reply With Quote
Old 12-07-2007, 12:13 PM   #7
ref
Grey Wolf
 
Join Date: Nov 2005
Location: Mar del Plata, Argentina
Posts: 871
Downloads: 0
Uploads: 0
Default

Skwasjer, you mentioned in another thread a 3d file format you're using for exporting the objects, do you have the tech specs?, I really wan't to give it a look to see if I can use it in a project I'm working on, and to improve compatibility between tools, when sansal wrote pack3d he choosed the obj file format because he worked with Maya, and also it's a simple format, but it lacks a lot of features (multiple tmaps, hierarchical models, etc).

Ref
__________________
ref is offline   Reply With Quote
Old 12-07-2007, 12:21 PM   #8
DeepIron
Sea Lord
 
Join Date: Aug 2007
Location: Too far from the Pacific right now...
Posts: 1,634
Downloads: 0
Uploads: 0
Default

If your project concerns an SH4 compatible object you should note:
The .obj formt is the original geometry format used in SH4 .dat files... You could use any other geomtry format you wished for development, but would have to convert to .obj to be encapulated in the .dat file. SH4 doesn't read any other geometry format that I know of...
__________________
RFB / RSRDC Beta Tester
RFB / RSRDC Modding Forum: http://forum.kickinbak.com/index.php
RFB Top Post link: http://www.subsim.com/radioroom/showthread.php?t=125529
RFB Loadout: RFB_V1.52_102408: RFB_V1.52_Patch_111608: RSRDC_RFBv15_V396
DeepIron is offline   Reply With Quote
Old 12-07-2007, 12:28 PM   #9
ref
Grey Wolf
 
Join Date: Nov 2005
Location: Mar del Plata, Argentina
Posts: 871
Downloads: 0
Uploads: 0
Default

Quote:
Originally Posted by DeepIron
If your project concerns an SH4 compatible object you should note:
The .obj formt is the original geometry format used in SH4 .dat files... You could use any other geomtry format you wished for development, but would have to convert to .obj to be encapulated in the .dat file. SH4 doesn't read any other geometry format that I know of...
That's incorrect, the format embedded in the dat files is propietary of SHx series, and doesn't match any comercial 3ds file format, in fact the obj files are ASCII files and the dat files are binary, the obj file format is just used by pack3d to import export from that format, IIRC, the dev team uses 3dsMax for they work so I asume they have import modules for that format.

Ref
__________________
ref is offline   Reply With Quote
Old 12-07-2007, 01:00 PM   #10
DeepIron
Sea Lord
 
Join Date: Aug 2007
Location: Too far from the Pacific right now...
Posts: 1,634
Downloads: 0
Uploads: 0
Default

Well then, I stand corrected...
__________________
RFB / RSRDC Beta Tester
RFB / RSRDC Modding Forum: http://forum.kickinbak.com/index.php
RFB Top Post link: http://www.subsim.com/radioroom/showthread.php?t=125529
RFB Loadout: RFB_V1.52_102408: RFB_V1.52_Patch_111608: RSRDC_RFBv15_V396
DeepIron is offline   Reply With Quote
Old 12-07-2007, 01:53 PM   #11
mrbeast
Ace of the Deep
 
Join Date: Aug 2007
Location: Bolton, UK
Posts: 1,236
Downloads: 0
Uploads: 0
Default

Very interesting thread Skwasjer, this is just the info I needed at the moment as I've been experamenting with some skinning of my own. I had kinda figured out what you put in the first post over the course of a week or so!

Something that I find a bit of a shortcoming in the process that SH4 uses to skin the ship models is that the O01 files are pretty low res compared to the T01 files.

So if for example you wanted to place some writing on the side of a ship, it comes pretty fuzzy looking.

Is there a way around this?
__________________
mrbeast is offline   Reply With Quote
Old 12-07-2007, 02:16 PM   #12
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,545
Downloads: 25
Uploads: 3
Default

ref, I use Collada. It's xml, open source and most 3d suites support it directly or using a free plugin. It can hold any info we need for SH3/4, including multiple uv-sets, material info, parent-child relationships, named objects/containers etc. S3D will support export in the next release, and import in the subsequent one.

I will post a guideline and tutorial on 3ds max and Collada in the next weeks. The format does have limitations (basically some manual post-processing) but they are discussed in that tutorial and are only minor issues that you deal once with...
skwasjer is offline   Reply With Quote
Old 12-07-2007, 02:26 PM   #13
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,545
Downloads: 25
Uploads: 3
Default

Quote:
Originally Posted by mrbeast
Very interesting thread Skwasjer, this is just the info I needed at the moment as I've been experamenting with some skinning of my own. I had kinda figured out what you put in the first post over the course of a week or so!

Something that I find a bit of a shortcoming in the process that SH4 uses to skin the ship models is that the O01 files are pretty low res compared to the T01 files.

So if for example you wanted to place some writing on the side of a ship, it comes pretty fuzzy looking.

Is there a way around this?
When you are able to import/export you can do anything you like. You could break the mesh apart and retexture parts of it with a new material/texture (which includes your text/writing).

Another possibility is to create a higher mip level (2048^2) of that single texture and add your writing.

Which approach is best depends on your own needs. You need to take into account how much extra weight you add to the gpu. Both can work. I'm sure there are other alternatives, but I'd ask a 3ds max guru then
skwasjer is offline   Reply With Quote
Old 12-07-2007, 04:25 PM   #14
kapitan_zur_see
Commodore
 
Join Date: Mar 2005
Location: France
Posts: 607
Downloads: 59
Uploads: 0
Default

Though not a professionnal by any means, i quite know my way around 3dsmax and 3D in general. From what i've read here, you got everything correct Skwas.
The problem we indeed face off while using pack3d is that it can only import one texture channel, which is the diffuse one, alongside only ONE uvw texture coordinate (that's particular to .obj format), hence, occlusion map is bypassed and will be confused while ingame.

For people that are interesting in what occlusion mapping is, it is generally used in the gaming industry and more or so, you made them by using "rendering to texture" function in 3DSmax which is also called "baking texture". It is basically generating a texture containing information on how to render lighting for a rendering engine. The main purpose of occlusion techniques are to mimic the quality of a raytracing or radiosity rendering. Those two are very professionnal rendering method and while they produce very high quality images (they use it for instance in those pixar movies and the like) and precise depicting of real lightning behaviour, they are very processor hungry and therefore, cannot be use for the gaming industry as it is not precalculated animation, but requires of course real time rendering. Not that it couldn't, but you would just end up with something like one frame per MINUTE.

To sum it up for the occlusion lightmap (there are other occlusion type of maps by the way), Typically, 3dsmax will first do a raytrace rendering with complex light sources algorythms ( don't know of...lol) for a high quality depicting of shadows and light behaviour and will then "project it" on a texture. This is why it is called baking texture or "rendering to texture". Another kind of those rendering to texture techniques, is the well known normal map wich is also precalculated into a 3D program in a quite similar way.

As It is with pack3d now, the lack of occlusion channel will produce flickering and stuff typical to bad uvw mapping and the like. That is, unless you create a 3d object specifically "made" in the dat file to be rendered SH3 way (you can actually "clone" a SH3 object like one u-boat and overwrite one US sub or whatever with it and bang, no texture flickering but looks out of place due to rendering engine improvements between SH3 and 4 and therefore, is certainly not a solution to be considered).

Well, i hope i didn't sound all too confusing and "academic" lol
__________________


Last edited by kapitan_zur_see; 12-07-2007 at 04:44 PM.
kapitan_zur_see is offline   Reply With Quote
Old 12-07-2007, 06:06 PM   #15
ref
Grey Wolf
 
Join Date: Nov 2005
Location: Mar del Plata, Argentina
Posts: 871
Downloads: 0
Uploads: 0
Default

Quote:
Originally Posted by skwasjer
ref, I use Collada. It's xml, open source and most 3d suites support it directly or using a free plugin. It can hold any info we need for SH3/4, including multiple uv-sets, material info, parent-child relationships, named objects/containers etc. S3D will support export in the next release, and import in the subsequent one.

I will post a guideline and tutorial on 3ds max and Collada in the next weeks. The format does have limitations (basically some manual post-processing) but they are discussed in that tutorial and are only minor issues that you deal once with...
I'll give it a look, I'll download the specs from their site, never worked with XML before, but it can't be that difficult.

Ref
__________________
ref is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 06:33 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © 1997- 2017 Subsim