Hard Light Productions Forums
Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: TrashMan on September 14, 2008, 01:57:27 pm
-
Uploaded on freespacemods.
I included 2 versions (different weapon setup)
The normal map problem is fixed (Thanks Herra :D ). Also included is a new shinemap.
EDIT: v.14 uploaded
[attachment deleted by ninja]
-
Link and screenshots, please?
-
http://www.freespacemods.net/download.php?view.372
Screenshot is on that page.
-
Yeah but it'd be nice not to have to hunt for the Perseus on FSMods. :P
-
IMO it's more brownish in color. Or is that the 'too dark LOD1' problem?
-
TrashMan's version of the Perseus Advanced is supposed to be darker.
-
Missed it. Guess I'll have to download tomorrow. . .
-
Like you said, there's a problem in the normal map - it's incorrectly composed, since all channels have same information, which results in the normals being adjusted wrongly in either U or V -axis direction. It might be partially responsible for the darkening effect as well. Also, there's some heavy artefacting on the texture (same with other maps as well, but it becomes pronounced on normal maps); what DDS converter do you use and with which settings?
Also, the shinemap lacks an alpha channel, which means full mirror env mapping (that's easy to fix though), and there's no real reason for it to be gray since there are coloured parts on the ship. Blue parts should have bluish reflection, and that means being blue on the shinemap... if anything, I've found that shinemaps benefit from increased saturation instead of being made grayscale.
If you need help on how to add normal map details to the mediaVP Perseus normal map's lower area without affecting the upper area (which works pretty well on the Perseus and should work on this as well), I can help with that. :)
As far as the model goes, it looks a bit excessively smoothed, but I am no modeler; it just looks a bit... blubbery when you disable diffuse, shine, glow and normal maps. The smoothing on the MediaVP Perseus is far less intensive, it actually looks kinda faceted without the textures but it doesn't really matter
-
I never really cared much for enviroment mapping, so that's why my shinemap has no alpha channel.
Up untill my CrayBump demo was still working, I'd make a height map by hand and then use CrazyBump to generate a normal map out of it.
For the Perseus Advanced, I took the perseus normal map and cut and pasted bits to the bottom, so no wonder it ended up screwy.
As for the smoothing...strange. PCS2 must have done that since the only thing I ported to max and edited there were the gun pods and the upper engine pod. Everything else was done in TS and I haven't changed any shading or smoothing parameters.
-
You tried the Photosho NViddia normal tools?
They're quite good :nod:
-
As a rule of thumb I let Crazy bump make a .tga, and then I use Photoshop (Got a NVidia 8800GTC card and Nvidia tools installed) to convert to DTX1 (diffuse, shine) or DTX5 NM (normal).
-
I never really cared much for enviroment mapping, so that's why my shinemap has no alpha channel.
Well... if you don't want any env mapping, just put in a black alpha channel. It is not a big thing to do, and the resulting shinemap will be compatible with environment mapping and won't force anyone who uses envmapping to either edit the file themselves or just abandon using your models for lack of knowledge.
With a black alpha channel, the shinemap will only have specular effects, just as if envmapping was turned off. Personally I don't really think the current environmental mapping works well at all for anything but glass and chrome, so I prefer ships' hulls to have black alpha channel, but it works reasonably well for cockpit glass and makes a lot more realistic glass panel effect on non-transparent surfaces (like making windows on main hull of a ship) than just the alpha channel.
Up untill my CrayBump demo was still working, I'd make a height map by hand and then use CrazyBump to generate a normal map out of it.
For the Perseus Advanced, I took the perseus normal map and cut and pasted bits to the bottom, so no wonder it ended up screwy.
[second post]
As a rule of thumb I let Crazy bump make a .tga, and then I use Photoshop (Got a NVidia 8800GTC card and Nvidia tools installed) to convert to DTX1 (diffuse, shine) or DTX5 NM (normal).
How did you save this normal map file then? It appears to me that you (or the saving process to dxt5nm) pasted either red or green channel to all channels, because each channel is the same... Also, I personally never liked Crazybump; I feel that a normal map plugin offers me more control over the end result, but some say CB works well enough, so I guess it's mainly a matter of preference.
Pasting stuff onto empty area of a normal map should work, as long as the neutral colour is the same in both maps; "darker" or "brighter" values will cause the whole ship's surface normals to tilt slightly from the model normals, which makes flat surfaces look like angled based on lighting...). However I would suggest you do the channel shifting (red->alpha, green->red&blue, or you can alternatively leave red and blue channels black) manually in that case, since if you rely on DDS plugin to do that while you save the normalmap to dxt5nm, and then paste that file's top mipmap layer to the Perseus map's mipmap layer and save THAT file (which is already in DDS format) again into dxt5nm file, the artefacts cumulate pretty fast especially if the plugin doesn't allow quality controls and stuff.
-
I'll take your advice on shipemaps with black alpha for eviroment (except windows).
I literally copy pasted bits of the normal map (without touching the layers), so assumed the RGB layers would remain unafected. I'm still not entirely sure what I did wrong.
Hmmm...someone mentioned another tool for manking normal maps beside Crazy Bump?
-
I literally copy pasted bits of the normal map (without touching the layers), so assumed the RGB layers would remain unafected. I'm still not entirely sure what I did wrong.
Hmm... If you open a dxt5nm file and re-save it to dxt5nm again, what happens to the channels?
As far as I know it, the dxt5nm file is basically just a dxt5 file where red channel information is transferred to alpha channel, and red and blue channels are either black or the green channel is pasted to both red and blue (so the colour channels are the same, and alpha channel different). Now when you have this kind of situation and re-save it to dxt5nm, the saving mechanism again moves the red channel to alpha, which is NOT what you want to have there.
Or, as follows:
Normalmap's RGBA converts to DXT5nm GGGR (first channel is moved to last, and second is copied to first three)
When re-saving an already channel-managed DXT5nm's (GGGR), it converts to frakked up DXT5nm GGGG where each channel now has the originally green channel information.
You can paste stuff but if the channels are already properly managed, save as standard dxt5 instead of the normalmap variant. That should solve that issue. :)
This is, incidentally, one of the reasons I prefer to manage the channel swapping manually. It prevents mix-ups like this quite effectively when you know all the time where you're going at.
Hmmm...someone mentioned another tool for manking normal maps beside Crazy Bump?
I can vouch for GIMP's normalmap plugin, it's pretty good one, with a good range of settings (depth, filtering etc. etc.). Photoshop's normalmap plugin most likely offers at least the same functionality but I'm not a photoshopper so you'd need to ask about that from someone else.
The main difference with CB and normalmap plugins is that you will need to make several layers of the height map depending on how much different strengths of normal details you want on the map; for example you wouldn't want scratches or other surface detail to be quite as strongly normalmapped as seamlines and actual geometry details like machinery and stuff. But in the end of the day I find it better and quite natural to use. CrazyBump offers some kind of tools to adjust differently sized details of the height map to be mapped with different strengths on the normalmap, but I only ever used the free demo and it felt cumbersome and not quite as accurate as you get with manual processing from the start.
-
Hmmm...someone mentioned another tool for manking normal maps beside Crazy Bump?
http://www.xnormal.net/2.aspx (http://www.xnormal.net/2.aspx) It's only 60 Mb. Under the tools section is the heightmap to normal map section. For the swizzle part make sure it is -Y
The Compressionator by ATI/AMD works well for converting a normal map to dds. After hitting compress choose DXT5 xGxR. The map will turn out green as it doesn't save any info to the red and blue channels.
-
...DXT5 xGxR. The map will turn out green as it doesn't save any info to the red and blue channels.
Does that make any difference in filesize at all, compared to GGGR?
-
So basicely, to fix the nomal map of the Perseus Advanced, all I need to do is open the stock Perseus normal map, cut and paste bits again and save, but as normal DTX5 this time?
-
So basicely, to fix the nomal map of the Perseus Advanced, all I need to do is open the stock Beta MediaVP Perseus normal map, cut and paste bits again and save, but as normal DTX5 this time?
Essentially, yes... but be mindful of those compression artefacts, normal maps are more sensitive to them than diffuse or shinemaps since each artefact will change the normal of the surface instead of just colouring it. If you're getting too much artefacts, look at alternative DDS utilities like NVidia's nvDXT -command line tool, or the already mentioned ATi Compressionator. Your GPU shouldn't matter, these both should work just on the CPU.
NVidia does have newer stuff with CUDA support that can utilize GPU processing power, though. Haven't really looked into it yet.
-
Fixored :P
-
I never really cared much for enviroment mapping, so that's why my shinemap has no alpha channel.
I don't know why anyone would care for environment mapping myself either. Playing Earth Defense it was like the ships were battling in a disco hall with all the stars reflected all over the hull. It was retarded.
-
The pasted part of the normal map still doesn't work right; only the green channel now has any information about the details on the lower edge of the normal map, the red channel's information is missing, which means that the normals are only adjusted for either U or V co-ordinate direction, while the other is left flat.
Majority of the normal map works now, though, so I'm guessing just the pasting of new stuff went somehow wrong.
Akalabeth Angel: Envmapping is very, very, very, very much alike to lens flares, bloom, motion blur and other effects like that. Use it too much and in inappropriate places and you're sure to create an eyesore of no rivals.
Besides, a lot of ships will react badly to env mapping precisely because of the reason I explained: Either they are older ships with old shinemaps that weren't designed for utilizing alpha channel for env mapping, and they have a full intensity alpha channel which the env mapping interprets as full mirror discoball effect which DOES look stupid, or the makers of the shinemaps didn't bother to make them compatible with alpha environmental mapping for some other reason.
Env mapping is not retarded. Using it with ships that aren't designed for using it correctly is retarded.
Env mapping, like I said, should only be present in surfaces that actually are either glass or chrome or other really polished material. Otherwise, the alpha intensity for the hull should be very low (so that only a hint of the nebulas' colour is detectable but no details) or completely black (which is easier to do and looks just fine in most cases).
Without env mapping, things like cockpit canopies would look a lot more boring with just the specular reflections visible.
-
$&?!**"#V@!!!!!!! :hopping:
-
So basicely, to fix the nomal map of the Perseus Advanced, all I need to do is open the stock Perseus normal map, cut and paste bits again and save, but as normal DTX5 this time?
No...
You do realize that half of the map is in the green channel and the other half is in the alpha channel. So copy and paste won't do what you think it will.
First you would need to decompose the image into R+G+B+A greyscale. Then you would need to get the info out of the alpha channel back into the red chanel where it started from.
Rename alpha to red and viceversa and recompose. Then you can edit the image. Just don't use paint tools as the image colours are normalized.
fighter2t-03-normal swapped http://files.filefront.com/rgb+compose7z/;11805945;/fileinfo.html (http://files.filefront.com/rgb+compose7z/;11805945;/fileinfo.html)
...DXT5 xGxR. The map will turn out green as it doesn't save any info to the red and blue channels.
Does that make any difference in filesize at all, compared to GGGR?
Not that I can see.
-
Water, can you fix the normal map for me? Pwease?
-
Water, can you fix the normal map for me? Pwease?
I could do it just as well. Just send the part you want to pasted in, preferably already at correct locations in 1024^2 sized TGA file... or the height map even.
On the other hand, you would learn to do it rite by doing it yourself. :p
-
can you fix the normal map for me?
Umm... I already have. The hard part has been done and you have been supplied with a map that has the normal info in the red and green channel. You should be able to paste your new area blue normal map (only the bottom section) straight over the top. Then save to the correct format and you are done.
-
I'm not sue I'm following you here..
The bottom part of the diffuse part of the normal maps should be pasted in the blue layer?
-
I'm not sue I'm following you here..
The bottom part of the diffuse part of the normal maps should be pasted in the blue layer?
You should have created a new normal map (standard blue type) that is empty except for your new details at the bottom. Paste it into the map I posted above.
No need to do any channel ops, just paste. The blue channel will end up being discarded when it gets converted to Dxt5-nm
-
I have to create a new normal map to fix this one? Blast it....
-
I have to create a new normal map to fix this one? Blast it....
Only for the new bits.
If you have the Nvidia photoshop Plugin installed - use the normal map filter to convert the height map for the new bits into a normal map and then past onto the posted map.
-
I completely forgot about NVidia Tools...heck, I never even used them to make normal maps...silly me :P
EDIT: Can't download your edited normal map...
-
EDIT: Can't download your edited normal map...
Name a site that doesn't need a signup and I'll post it.
-
EDIT: Can't download your edited normal map...
Name a site that doesn't need a signup and I'll post it.
You could just pack it in a zip (or something) and attach it...
-
Ye could just pack it in a zip (or somethin') an' attach it...
Doh!
[attachment deleted by ninja]
-
HRm...not working...any specific setting in the NVidia tools?
-
HRm...not working...any specific setting in the NVidia tools?
Gah.
1. Take the fighter2t-03-normal.dds from the mv_assets.vp. Copy the uppermost layer to a new file. It should look like this:
(http://i33.tinypic.com/i5qcxx.png)
This layer now has black red channel, normals information on green channel, black blue channel and normals information again on alpha channel (which makes it look semi-transparent).
2. You need to decompose these channels into their own, grayscale layers; one layer for each channel, which means you'll need to decompose it to RGBA.
When you have decomposed the image, you will need to copy alpha channel information to red layer, then fill blue and alpha layers with white. After doing that, you will need to compose the layers back to a single layer with four channels (RGBA composing mode). The composed image should look like this:
(http://i36.tinypic.com/mbn439.png)
This should look more familiar as far as normal maps go, right? When you have gotten the original normalmap to this stage, you can then paste the new parts' normalmaps to the flat lower area of the map.
After pasting the new bits to the normal map, you have two options on how to get the map in-game:
a. Either reverse the process by de-composing the map again, and now move the red channel to alpha channel. As far as blue and red channels go, you can either fill them with black, or copy the green channel to them (I prefer this method); it doesn't really matter. After this, save as or convert to regular DXT5 file.
b. Save as or convert to DXT5nm file. Simpler, but I prefer a more of a hands-on approach.
These methods both should produce same results as far as game graphics are concerned. I hope this helps...
As a general rule, it's best to use the DDS file format as the last stage of any mapping process, so I don't know what settings with nvDXT you would need.
If you just need to save the normal-style normal map (purplish-blue) into dxt5nm, do
> nvdxt -file <filename> -dxt5nm -quality_highest -cubic
and it should work itself out.
-
HRm...not working...any specific setting in the NVidia tools?
If you are talking about creating a normal map from the height map
Height 5x5
Scale 4
Invert Y
If the map is not strong enough raise the scale
If black lines are not sinking in (in game), then un-invert Y. And by that, I mean the lines should look raised in the blue normal map but in game they will be recessed.
-
I get something completely different as a result. Mah..screw this.
I'm not touching this again.
If someone wants to go about fixing it, be my guest. I won't bother with this.
-
I get something completely different as a result. Mah..screw this.
I'm not touching this again.
If someone wants to go about fixing it, be my guest. I won't bother with this.
I'll fix the thing if you'll post the parts you want pasted on the Perseus normal map, either as height map or an already converted normalmap (in this overall colour).
-
Here's the (crappy) heightmap then..
[attachment deleted by ninja]
-
Here's the (crappy) heightmap then..
And here's a working normal map of that.
A good way to reduce height map crappyness by the way is to work in higher resolution, draw lines and stuff at, say, 4096^2, then resize the normalmap to 1024^2 before saving to DDS file. This makes it easier to draw fine details without worrying about aliasing on the thin lines.
EDIT: Did you take care of the botched smoothing on the model file yet?
[attachment deleted by ninja]
-
A good way to reduce height map crappyness by the way is to work in higher resolution, draw lines and stuff at, say, 4096^2, then resize the normalmap to 1024^2 before saving to DDS file.
Apparently having info in the blue and red channel increases compression artifacts.
-
Hmm, I'll have to remember that tidbit of information in the future, do some testing or whatnot...
EDIT: Attached a version of the same normalmap, but with black on red and blue channels. Did a little test, and sure enough there seems to be slight difference in the artefacting between the two. Nothing drastic; with both maps converted with -quality_highest setting on nvDXT, it's not even noticeable without turning diffuse map off, but it's there. So I guess that's technically the better way to have the normal maps.
[attachment deleted by ninja]
-
I'm guessing we aren't as aggressive on the compression side of things for it to be a huge issue.
-
Thanks for the fixed normal..
B.t.w. - did anyone else notice something really strange.
When you target a Perseus DH, the model in the target box is transparent with a small cockpit in the very center.
Strange thing is, detail1 has no cockpit and uses the same texture as detail0..and shows up normally in PCS2
-
Thanks for the fixed normal..
B.t.w. - did anyone else notice something really strange.
When you target a Perseus DH, the model in the target box is transparent with a small cockpit in the very center.
Strange thing is, detail1 has no cockpit and uses the same texture as detail0..and shows up normally in PCS2
Detail1 shows as just the cockpit and some glowpoints on the Ship Lab as well, when selected.
I'm not very knowledgeable about modeling, but perhaps you could post a screenshot of the model hierarchy so the wise people can ogle at it and possible determine what's wrong? And check if you've accidentally set the cockpit as detail1 hull instead of the actual hull, because that's what it seems to me... or something. At any rate you should re-convert the model to get rid of the excessive smoothing, so might as well tackle this issue before uploading another version to FSMods... :)
-
Damn...I keep converting between 3Dmax and TS when working on models and sometimes I forget that Max sets the smoothing to the extreem. I forgot to return it to normal in TS.
EDIT: Fixed the smoothing issue and also fixed the insignia the HTL Perseus never had working properly. The LOD1 problem still persists.
Here's the conversion scene*
*If you wonder where are the insignias, I made a new model just for them, converted with PCS1 and then imported insignias into this pof
[attachment deleted by ninja]
-
Well....anyone got any ideas? I'm at a loss here to explain this odd behavior.
As one can easily see in the hierarchy, detail1 has no cockpit subsystem. My guess is that PCS2 treats the cockpit as detail1, but that by itself still doesn't make much sense. It's not named properly and is attached same as all the other cockpits I added on other craft....hmmmmm
-
Which object in that list is the cockpit submodel?
-
Blast it. I ported it from the HTL Persues model. It's named pilot and not cockpit (as it should be). Would that make any difference?
Well, Off I got to re-convert and we'll find out!
-
Maybe you mixed up the name of them hull LOD maps?
-
Nope, no effect. And no, I haven't mixed up the names. PCS2 shows them all correctly.Open hte model in PCS2 and look at the subobjects yourself.
Detail0 appears as detail0 - with the cockpit and everything. It looks OK in game.
Detail1 appears normally in PCS2, in-game it's totally screwed.
-
Open the model up in PCS2 and look at the Header chunk. Now look on the right hand side under LODs at what submodel is assigned to each detail level. In short, there are 5 assigned detail levels and 4 actual LOD subobjects because somehow debris01 has been interpreted as LOD 1. That is probably due to where it was placed in the hierarchy in relation to the actual debris objects - PCS has always had a bad habit of just using the next objectgroup it encounters in the file for the LOD it's looking for next.
Fix it by deleting the problem LOD in the header section,.... and while you're at it, have PCS2 generate MOI data in the header chunk as well, so your models won't cause unnessecary debug-build warnings. ;)
-
I really don't understand how this could happen. I used hte exact same procedure and naming convention I always do.
Oh well, now I know what the problem is. :D
EDIT: Fix0red and uploaded.