So I've been reading the Importing sins models from sins, to 3ds max to xsi, and I've been having alot of trouble with this.
The object is multimaterialed, so i'm not sure where this fits into the whole process, after tangent mapping or before.
Does tangent mapping carry over from the imported models; And DO you absolutely need two tangent maps (one for uv, the other to be used for tangent mapping)
Technically not, but then you can't modify the tangents if they aren't perfect (and they certainly won't be). Granted many modders just kind of apply and only mess with them if it causes noticeable problems, as they are a pain to set right, but its not hard to just duplicate the UV map, set the tangents to use that, so you can then quickly adjust it if need be.
I just use XSI so I can't really help you with the 3DS max. If you aren't doing anything major I'd just use XSI if at all possible, less chance of problems that way.
Tangents do NOT carry over from 3dsmax. There is no such thing in 3dsmax. The closest thing to Tangents in 3dsmax is smoothing groups, and they are lost upon import to XSI.
Yes, you do need 2 sets of UV's in XSI to make the tangent map.
GoaFan is correct otherwise. There is also much more to it, and it is indeed a pain in the ass, but that would be getting into advanced UV mapping. What we do with the SoA 2 models is on the second set of UV's Planiar UV map the entire model from the top down (x-z axis world view just like it is shown on the Sins Mod Documentation). Heal the UV's then save it (dont forget to freeze your model). Sometimes this works better than just setting the tangents on the duplicate set of UVs, and leaving it. Sometimes it doesnt work. It depends on how the 3rd party mesh was UV mapped to begin with. Save 2 meshes using both methods, and test it in game. Use the model with the better results.
If you made the mesh yourself then you know how you UV mapped it (doesnt matter if it was done in 3dsmax, or XSI) You can pretty much control how the tangents turn out much better.
What i do know is Sins does not like mirrored half textures, or sections that use 2 separate textures. They leave nasty seems, and on the tangent map one section will be a different color, and show lighter in game than on another section. No matter how much you mess with the UVs on the tangent map. It is best to use only one texture sheet, and uv map the entire model in large whole sections onto it.
Well shit. Sins is going to HATE me then . I'm fucking around with some of evillejedis stuff trying to get it back into the game after a bit of editation.
I'll try the uv duplicate route first. If that doesnt come up with anything good, I'll see about just planar mapping it for the tangent map.
Thanks for the quick responses from the both of you. It really is appreciated.
Alright. one more question, Do i have to make tangents for clusters within the mesh if it's multitextured?
Best to merge the UVs then once you have 1 UV, create another UV projection and copy the UVs from the 1st projection to the 2nd projection. If I open one of Sins multi-material models like a pirate ship it has 1 set of UVs but parts of those UVs call different materials. You can cange how you see the UVs in XSI using change clips in the UV editor.
I have been experimenting with the tangents without any luck or good results. As the major states, the tangents hate mirrored UVs and not only do they not like when the texture is on multiple sheets it also does not like it if its connected to another location of the sheet.
This is being a real pain in the ass. Not only 20 different materials but the section in red is on 2 different materials and on different locations on those material sheets. This texture requires a total redo and all the UVs also need a redo just to get rid of that damn error.
Well, the model that i work on now have 4 cl map, with very heavy optimized UV ( some UV piece are "mirrowed" more that 200 times ) and i don't have problem with tangents...
Well, maybe it is because the GPU make a better work that XSI mod tool...
I simply make the following in the .mesh :
- hasValidTangents FALSE mean that GPU will calculate them.
- for each vertex, Tangent [ 0.000000 0.000000 0.000000 ]
- for each vertex, U1 0.000000 and V1 1.000000 ... default value without tangent is 0.000000 for both but it give shadow who jump from one poly to the other... setting V1 to -+1.000000 allow soft shadow who move progressively on the model...
Will not work if the model have not all his faces oriented correctly... if you have a flipped face, there will be seam at the shadow level... work best is your normal are angle weighted normal... well, all this is something who need to be check at the modeling level, before any segmentation/UV work... Meshlab is the tool that i use for check my models...
As today, the best result that i have see is from the B5 mod, where Tobi ( the mod leader ) calculate the tangent in Cinema4D ( and UV are heavily optimized too, having a lot of identical pieces using the same map area )...
For info, in the 3D universe, "rigging" is related to skeleton ( rig ) used for animation... "rigging" is the process of creating the "bones" and skinning is the process to associate "bones" to a group of vertex... SOASE don't support "rigging" and "skinning"... maybe for SOASE II with movable turret and 3D volume of fire ( no more gun who shoot trought his own structure )... as now, the only way to have some basic animation is to use multiple mesh via chained particule effect...but it is a pain in the a$$ at the modeling level since you need to create perfect "joint"
Setting tangents is not a pain the ass - it's the easiest part of setting UV maps on the model. Just make a duplicate of your existing UV set, scale everything down in the Texture editor and willi-nilly throw the islands around so that they do not overlap, then rotate them until your model has a nice, even color shading (visible in the Shaded mode). I usually go with green, some people prefer blue but for me that produced inversed bump-mapping (might have something to do with ZBrush).
You don't have to worry about position and scale at all.
After that, apply the smoothing modifier (I usually just crank it up to the max value) and 99% of seams won't show in game. That 1%, you can always fix it manually by reorganizing the way your UV islands are linked in the tangent map.
Yes, you can even avoid mirrored texture seams - you have to make a separate UV map for the tangents though. Basically, if you made your model by creating one half , UV mapping it, then symetrizing it, your UV maps will work fine for textures, but for tangents, in places where the symmetrical halves meet, you have to create a different UV island for that part, which is continuous across the surface. BUT, as I said, tangents don't care about the scale and position - they can't stretch like textures do, so you can just do a quick job and create large, continuous islands, then rotate them to achieve smooth transitions.
And btw, (just so you know if you ask around in different places), rigging is a process in animation when you set up skeletal structures (rigs) so that characters can move the way you want. There is no rigging in Sins moding.
There is a free version on Cinema 4D, will that do the tangents?
Do you do the tangents in C 4D the import to XSI to convert?
EDIT: Ohh tanx ManSh00ter. That makes a little more sense. Back to do some experimenting.
Might take some quotes from here for http://soase.weebly.com/creating-the-tangent-map.html
Well shit. I didnt expect to get this many answers lol. Just brings me back to a few old questions That I feel werent exactily answered.
I never figured out if UVs and tangents are object only, or can be applied to clusters (And subobjects) (I have no idea of how xsi works since max is my typical modeling/animation program).
@ ManSh00ter, So by islands, are you referring to parts broken up by the uv? Mind sending me a pic of what a good tangent map would appear like, and have a comparison next to the generic uv.
I never knew rigging was so exlcusive a term. Back when i modded eaw, we always used to refer to....setting up a model for ingame use as rigging. Good to know.
Its unfortunate the 2.0a 3ds max(has multitexture support) Sinstool doesnt work at all because if it did, XSI would become obsoleted for me. If i ever understand the process of xsi rigging/tangent maps, I'll make a youtube vid for the weebly.
Unrelated question. What does "Is Psi" line do for the player entity?
Well this would certainly make things much easier, myfist I think this ought to go on the weebly. Don't know why I didn't think of that.
In the most basic terms, tells the game/AI/etc that something is Advent. What this actually entails or leads to is beyond me however.
It works in conjunction with the TargetFilter->constraint isPsi (http://code.google.com/p/soaseplugin/wiki/constraint).
Main problem with seam is not directly related to tangent... problem is that tangent is used by game engine for calculate the bump effect ( normal map )...
If a second UV map is used, your tangent space need to be aligned in a way that the x axis corresponds to the u direction in the bump map and the y axis corresponds to the v direction in the bump map.
As for seam, you can remove them... if seam have similar orientation on the tangent UV map, they will dissappear... by example, one seam vertical and the other horizontal is wrong...
A interesting information source can be found at http://wiki.polycount.com/NormalMap ... modeler can learn some trick who lead to no seam with mirrowed part... by example, showed on these site, the binocular trick ( mirrowed part are not in contact, so there is no seam )...
Well, 3D modeling is more that crush some poly to give them a shape... and it is not the job of these forum to give a full edge 3D training... there is plenty of specialised resource on the net who explain everything...
As far as I know, tangents are used in Sins for both bump effects AND lighting surfaces - if your tangents are missing or are badly made there are obvious lighting artifacts on the model. Which in my opinion is a much uglier problem than a seam here or there.
And yeah, you can avoid symmetry problems by hiding or avoiding seams with geometry. Not always possible , since that technique depends largely on the model design.
http://soase.weebly.com/creating-the-tangent-map.html#editManSh00ters quote with credit
You know very well
No tangent is not a really a problem... if tangent is set on FALSE in the .mesh, the GPU calculate them... and in case of modern graphic card, GPU make a good work... it become ugly when GPU don't support shader 2.0...
Well, there is a other problem... if there is no tangent, the convertxsi set tangent on 0,0,0 and U1/V1 on 0... problem is that GPU shader need to know the handedness ( orientation, http://en.wikipedia.org/wiki/Orientation_%28mathematics%29 ) for calculate a good lightning/shadow in sins... convention are that if tangent are 0,0,0 then U1 is 0 and V1 is "+" or "-" 1...
So, with no tangent, i need to edit manually the .mesh created by the convertxsi and set the V1 to 1 for each vertex... if during the modeling process, one triangle ( poly ) was flipped, V1 will be -1... once this done, lightning/shadow is pretty good in game... ask some resource from the GPU but with SOASE, the GPU is never overloaded like RAM or CPU...
As for seam problem, it is maybe the wrong word... what happen is that a piece with bump map have some detail who bump out on a piece and who are like hole on the mirrowed piece... again a problem of handedness... not only the seam will look bad but all the surface of the mirrowed piece...
It is not hiding but it is avoiding... and it is always possible... it is mainly related to the way used for make the model... a single object model cannot use the trick but a multiple object model can... the model that i work on now is made of several thousand little object... primary reason is some poly count optimization... by example, the barrel from the gun show below are made of 4 object... it allow me to use 56 tri in place of 68 tri is the barrel was made in one piece... 12 tri spared don't seem a lot but since the model have 122 turret with 2 barrel, i spare 2928 triangle on the full model... and in the same time, it spare me the seam problem...
As for shadow and light without tangent... first picture below is with the .mesh generated by convertxsi, where tangent is set on FALSE, tangent is 0,0,0 for each vertex and U1/V1 are set on 0... shadow/light are calculated at the poly level, jumping from one poly to the other... something ugly to see... second picture is with a manually edit .mesh where i have replace the value of V1 by +1 ( right handedness )... shadow/light are soft ( calculated at pixel level ) and move smoothly from one poly to the other... so, the no tangent problem is mainly due to convertxsi setting V1 on 0 when there is no tangent... correct it and result is greatly improved...
Of course, pre-calculated tangent in XSI are good but don't work good in my case... first, the neutron star is light emitting via particle but since it is not part of the main model, it give strange effect on the illuminate part of the model... same problem with the rotating ring who are a particle effect too... so, calculate the tangent/light/shadow/bump in a dynamic way is somehow the only good solution in my case... and only the GPU can make this job...
LOL @ login to Danman games to see pics. Sins already has a forum.
vat izz dis
all I zee is grey boxes.
HarPo
Sorry, pic was already on the Danman forum and the hotlink was working for me...
Have upload them on my own FTP, edit the post and no more login needed...
That looks awesome Thoumsin
Well, it only show what the iron engine is able to make... if modeler use a lot of time to optimize their model and texture, the iron engine is really a great engine...
Poly count is near the 50k limit but texture memory use is 3 time lower that for a PSI starbase... and texture detail is extreme due to heavy UV optimization... in fact, the only way to see all the detail is to play with the dev.exe where you can dissable the zoom limit... model is near the weapons hardpoint limit too ( who is 240 )... 122 turret and 76 torpedo tube...
Around 1 year of work ( +- 200 hours, almost 1 month if worked full time )... model is planned to have his full texture done for end of these month... stardock/ironclad modeler cannot use so much time for a single model but as modders, we can...
Any way, goal was to show the ingame difference by only changing the V1 value for each vertex to +1 ( in place of 0 ) when no tangent are calculate and no UV map for tangent are created in XSI... a simple "find and replace" in notepad make the job... center and forward section have the same texture in both pic ( a simple background texture )...
And there is plenty of other way to improve my model... by example, Tobi ( again ) from the B5 mod use Cinema4D for bake Ambient Occlusion in the color map... he have a powerful computer ( dual Xeon processor ) but the baking can take several hours... since AO ( http://en.wikipedia.org/wiki/Ambient_occlusion ) are shadow related to the geometry, they can be calculated and added to the texture map... a other example is my specular map, where i use the easy way, using the nm map for create it ( http://www.modwiki.net/wiki/Start_a_Specular_map_with_a_Normal_map )... flat surface reflect more that non flat surface... better that no specular at all but far from perfect...
That's a real nice model there. However, just to clarify what I meant with "some models can't use them", for example my models, being mostly organic, must have smooth flowing forms by design, but I do have to fully symetrize them (including mirroring UV maps) to maximize texture space. So what I have to do is create a separate tangent UV set which is continuous across the central seam - this completely avoids any lighting seams.
@the50first
To illustrate how my tangents "look" in XSI Shaded Mode, and how the model looks ingame:
As you can see, there are virtually no seams, aside from the ones visible due to mirrored textures, but they kinda look fitting on an organic model. For more artificial models, you can use techniques Thoumsin described to avoid texture seams, the most straightforward one being just UV mapping an island which flows over the central seam, while having the rest of the UV's mirrored - then you can texture that central island in a non-symmetrical way and problem solved. This technique doesn't work in ZBrush, but if you're using Photoshop or Gimp there shouldn't be any problems.
Thanks alot. How about pics of the actual uv map (alt-7)? I cant seem to get it to shad like yours. Mine Wants to stay solid black. heres a pic. .
I also tried exporting the same model (With one of the multitextures) into sins via 3ds max, and it had shading errors, where parts of it would stay black, and the general mesh was a greyish color, with very little affect from the lighting. I'm not sure if this is a max script error, as it's the same model that was ingame beforehand with a few parts of the mesh deleted, and some added.
When i take a look at your first ingame screenshot, what attract my eyes is the bad quality from... the soase asteroid when compared with the sharpness and texture quality from your model...
From a personal point of view, i know only two mod where every model look perfect... yours and the Dawn of Victory mod... unfortunaly, both are not released after years of works... but like i wrote before, modders have no time limit like real world game devs...
As for organic model, the trick work too... unfortunaly, in case of organic model, it increase the poly count in place of reduce it... and poly count is already high with organic shape...
In some case, both method can be used... by example, for the sharlin ( http://babylon5ins.blogspot.com/2010/04/b5-s0tyr-sharlintex-update.html ), body need tangent calculated but the two lower "wings" are individual object who can be mirrowed without problem...
On the other hand, in the case of the vorlon Dreadnaught ( http://babylon5ins.blogspot.com/2010/04/vorlon-dreadnought-modelmoving-tex-by.html ) ( i know my texture work is ugly, i have learn to be better since ), no tangent and no V1 trick is used for the secondary mesh ( all the blue part ) since there is no bump/nm ( you don't wish a bump on a moving texture ) and shadow ( the second mesh is a light emitting thing via particle, so no shadow )... it is only way to have real light on a model... da light and bloom map cannot give the effect that you see on the second screenshot... look how the body texture is illuminated and reach some of the forward tentacles... try the same with a da map...
On the second ingame picture from your model, i can see 3 "crystal" on both side who seem to emit light ( da light and bloom for sure ) but light effect is not tranfered to the main body skin... make these crystal being a individual mesh, call it via particle, use the sun fx shader and result will be more realistic... beware, when you UV and texture, be sure that the piece for the light emitting part have some pixel free around it and that you paint texture a few pixel larger that the piece itself because of the moving texture effect from the sun shader code...
Well, i like to use fx effect who use shader code and i have a lot of hope about Rebellion who will move from shader 2.x to shader 3.x ... hmmm, maybe a new Mansh00ter Improved Volumetric Explosion and Damage Effect mod for Rebellion ???
In short, "all the way lead to Rome"... no one method is good or bad... what is really important is what you see ingame... method used need to be adapted to the model for the best result ingame... in some case both method can be used, in some other case none, in some case only tangent are needed and in some case only the handedness is enough...
Just remember one case where XSI precalculated tangent are bad... in the case of a "cloack" texture... shadow/light are to hard on a partially transparent model section... soase don't support transparency directly in the model itself ( poly using the hole/transparent attribut from normal 3D software are discarted by the convertxsi ) but it is possible via secondary mesh and particle/fx... by example for the canopy from a fighter where the inside of a cockpit and pilot is modeled... again, it is about adapt your work method in function of the model...
...
First, if you use multitextures, you need multi UV map...
Don't know how to make it in 3ds max but with wings3D, i "combine" together all the object for a map... and repeat the process for each group of object who need use a other map... when segmenting/UV, you will have a UV map for each group...
By example, in my station, i have 4 .mesh :
- 1 .mesh with one UV map and one texture set
- 2 .mesh sharing the same UV map and the same texture
- 1 .mesh with two UV map and 2 texture
As for deleting part, it is not a problem if the part are individual object... if they are only some poly part from a full object, new surface will be created who are not yet on the UV map and texture...
For adding parts, unless you wish to remake all the UV and texturing work, best to "combine" together the new parts using a new individual UV and texture for them ( will only need to UV and texture the new part )
There are many great features available to you once you register, including:
Sign in or Create Account