Jump to content
Johno89

Advice on texturing

Recommended Posts

Hi guys,

 

I was wondering if anyone could help me with my helmet addons I've been working on. I've got them working in Arma as I've configured them in object builder (view/shadow/geo lods) and set up their config.cpp and model cfg. However, I have no skill set when it comes to texturing; I'm trying to learn this but am finding it difficult. I have knowledge of Bohemia's texture format (co, smdi, nohq, as) and that these files are linked together via an rvmat file. However, the texture files I have created do not look good in Arma which leads me to believe I could be doing them better.

 

I would be grateful if anyone could provide a step by step approach on how they would create their texture files? I am using 3ds Max to model, create the UV sets and xnormal to produce things like ambient occlusion and bump maps. Also, I've come across 'baking' materials to textures. So, I could perhaps transfer details such as scratches onto my nohq map. If so, how would I achieve this?

 

Thanks for your time. 

 

  SUMLtj.jpg

 

Share this post


Link to post
Share on other sites

What program are you texturing with? Texture work is truly an art form, every artist has his/her own style

 

My advice is to get on YouTube and search diffuse map tutorials, and go from there. 

 

As far as converting them into arma files, that's the easy part just use texview in the a3 tool suite

  • Like 1

Share this post


Link to post
Share on other sites

I use Substance Painter, importing fbx files converted from Object Builders p3d.

Output is _co, _nohq, _smdi and _as texture files.

 

The slightly tricky bit is setting up the texture map export, and doing some post process smdi tweaking, but it actually gives quite accurate results in game (deep blacks are the most difficult to get right) and Substance Painter is a dream to use for an essentially non-artistic modder.

  • Like 1

Share this post


Link to post
Share on other sites

Im currently using photoshop to produce my textures. Warlord, when you say diffuse map do you mean the _co texture?

 

Apollo, thanks for the suggestion. Does learning substance painter take a lot of time? 

Share this post


Link to post
Share on other sites

The learning curve for Substance Painter is relatively steep at the start, like most complex software.

I guess it helps if you're already familiar with using layers to build up textures, physically based rendering concepts and understand Arma's super shader (rvmats etc).

I came at SP from a non-artistic, never used PhotoShop, perspective and with some initial guidance from others, plus watching youtube tutorials was able to pick it up fairly quickly.

It's a very powerful tool, and I believe has been used by BIS dev's (Apex Off-Road?) and other modders here with success. I highly recommend it.

  • Like 1

Share this post


Link to post
Share on other sites

You don't need substance painter right now.  You'll be alright with photoshop for now.  The _co file is your diffuse, which in your case is simply black and white with maybe different colors on parts to denote rank or unit.  Go ahead and send your uv unwrap template of your helmet to photoshop.  Add color, black, white and maybe some color where necessary.  Boring and bland at this point but that's ok.  Find some free, pre-made brushes on the internet of scratches, scuff marks and general wear marks.  Make a new layer in photoshop and add light scratches from normal use.  Don't make the scratches so obvious it's distracting.  Also depending on the role of who ever wears the helmet will dictate how worn the helmet would be.  Make a new layer, fill it with gray, render clouds, add a little noise, add a fresco filter and blend it to about 10-25%.  Adjust the layer blending settings in order to add character to the boring white and black.  You should barely be able to see this layer.   At this point you should have something that looks a little worn but with flat lighting.  Lets leave it there for now. 

 

Add little details if you want.  For example, if the helmet has lettering on it, use the erase tool and rough up the edges and delete parts to make it look like the paint is chipping or fading.  A different brush may help with this.

 

Go back to your 3d modelling program and bake an Ambience Occlusion map (later we'll use this for the _AS).  Layer a copy of your AO map on your diffuse and turn the layer blending mode to multiply.  That should had some depth, but that's not what we're looking for.  Save a copy of your AO for later and adjust the levels on the AO map to where the AO map simply enunciate cracks, holes and crevices.

 

Save your _co and export it as 32 bit tga, then convert over to .paa and put it in your texture folder with the .rvmat.  Go back to photoshop.  Take the original AO map and white out I believe the red and blue channel.  Your AO map should change to a magenta color.  Export it as 32 bit tga with the suffix of _as and convert it to a .paa.  Update your .rvmat as necessary.

 

Go back to photoshop, take your scratch layer and convert it to a normal.  If you already have a normal map, change the scratches normal layer to overlay to add the scratches to your normal.  Export 32 bit tga and convert to .paa.

 

For your SMDI (specular map) you will need to tweak this to match how worn out your helmet is.  I can give you some suggestions for your SMDI but for now a basic SMDI will be fine.

 

Add an environment map in the .rvmat and adjust to match how worn out your helmet is.

 

Keep in mind less is more...in other words don't try too hard to add obvious detail.  Subtle detail is better than obvious detail.  Also with your helmet you can either have a brand new, clean helmet like in the original movies or a worn out, dirty helmet like in Episode II and III

  • Like 4

Share this post


Link to post
Share on other sites

Wow, thanks for the tips Delta Hawk. I'll get on this right now and see where I end up. Not sure how long it'll take but ill be sure to update the thread with my progress. Thanks for the help guys!

  • Like 1

Share this post


Link to post
Share on other sites

Ok Delta, so I've tried to do what you described and applied it to the phase 1 helmet. Its sort of worked, looks much better than what i originally did. Here is my _co texture;

 

Aq0n5i.jpg

 

However, when I tested this along with the other textures in Arma the model has some weird shading going on. I also had to omit the _as texture from the rvmat file as it painted the model mostly black. Here is what it looks like in Arma;

 

kQN4mg.jpg

 

The shadows seem really weird, they don't fall on the model naturally. Also, not sure if you can tell but the back of the model seems to be always shaded whilst the front isn't.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Check that your shadow LOD objects are smaller than, and don't poke through, the LOD1. 

(temporarily copy and paste the shadow LOD into LOD1; you shouldn't see it showing through anywhere).

  • Like 1

Share this post


Link to post
Share on other sites

The diffuse looks perfect.  Lightly scratched as if it was used by soldiers, not arm chair commandos, but not so worn out it's not serviceable anymore.

 

As for your shading issue it's either your shadow lod or your SMDI.  To troubleshoot change your shadow LOD to a visual or edit lod and check your first lod.  If the problem is gone it's your shadow lod.  If it's still there it's your .rvmat. 

 

Do you have a spec map (smdi) yet?  Remember apparently their helmets were glossy, but since yours is a little worn you'll have to adjust it accordingly.  Some parts may be more glossy than others and other parts may be more dull.  For example, I would suspect the visor is more glossy than the rest and the mouth piece a little duller.

  • Like 1

Share this post


Link to post
Share on other sites

You were both right about my shadow lod. Although I had decreased its size to be smaller than lod 1 it was still clipping through. I've updated this but the shadow problem still persists. So its the .rvmat or smdi that's causing the problem? Both are my weak points as I have no idea what I'm doing with them. To make my smdi i followed this;

 

Quote

SMDI is an overall shine/gloss map. The best way I've found to make these is to greyscale the _CO, and adjust the brightness/contrast to make any areas I want to be shiny to become lighter, and any matte areas as dull as possible without losing any texture depth. I then overlay a new layer (filled with R:209 G:24 B:209) with 80% opacity. Within this layer I will also darken areas that are to be matte. Sometimes if fine detail such as scratches need to be highlighted I will then overlay the grey-scaled _CO on top with a lighten blend filter.

 

 Which ended up looking like this once I had exported it as .tga and then saved as .paa;

 

dN5lE4.jpg

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

A super easy way to check for shadow problems while in game, is to Enable/Disable Shadows from the game Options > Video menu and see if the issue disappears.

 

Add the LOD property "lodNoShadow = 1" to your visual LOD's in Object Builder.

 

It might be worth posting your rvmat text so we can see what settings you have on the specular/smdi.

 

 

 

Share this post


Link to post
Share on other sites

Apollo,

 

I already have "lodnoshadow = 1" assigned to my visual lods in object builder. However I notice that you have written yours in title case, does this make a difference? Also I turned off shadows in game and the problem disappeared (although my model appeared somewhat brighter). Here is my rvmat file which I've copied from the Imperial Assault mod (couldn't find any .rvmat files in the bi sample directory and i didn't know how to write one). The settings are from what they did on the mod, the only difference being that I adjusted the file directories to the textures. Also, could you shed light on why I had to omit the _as texture as it was painting my model black? 

 

class StageTI
{
	texture="";
};
ambient[]={0.89999998,0.89999998,0.89999998,0.89999998};
diffuse[]={0.89999998,0.89999998,0.89999998,0.89999998};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.89999998,0.89999998,0.89999998,0.89999998};
specularPower=40;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
	texture="\clone_helmet_p1\data\ct_helmet_p1_nohq.paa";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage2
{
	texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage3
{
	texture="#(argb,8,8,3)color(0,0,0,0,MC)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage4
{
	texture="#(argb,8,8,3)color(1,1,1,1,AS)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage5
{
	texture="\clone_helmet_p1\data\ct_helmet_p1_smdi.paa";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage6
{
	texture="#(ai,64,64,1)fresnel(1.3,7)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage7
{
	texture="a3\data_f\env_land_ca.paa";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};

 

Share this post


Link to post
Share on other sites

No, the case doesn't matter.

 

If the problem disappears when you switch off shadows, it indicates a problem possibly remains with the shadow LOD.

Copy and paste the shadow LOD into your LOD1 with solid faces showing and look for any highlighted selections showing through.

Share this post


Link to post
Share on other sites

It does look like the shadow volume is mis-aligned or outside the res LOD. I assume you have autocenter = 0 in the geometry LOD already? That should keep alignment consistent to how it is in the .p3d

 

Often it is best to push the shadow verts inside the volume of the res LOD rather than have them on the surface. Object Builder still has a "Points->Move by Normals" option that can make this easier than dragging or scaling the verts bit by bit, but sometimes it's just better to do it in an external modelling tool with better inflate/deflate modifiers and deformers.

 

Also be sure to have "File->Options->View background LOD" turned on to compare where your shadow sits in relation to the top resolution LOD

 

Can also consider inverting the faces (W key), on your shadow LOD to change how it projects on to the helmet itself

Share this post


Link to post
Share on other sites

Apollo / Monkey,

 

Yes I have autocenter = 0 in the geometry LOD already assigned. I also have view background LOD turned on aswell. 

 

Regarding the shadow LOD, I adjusted the model for this in 3ds max. I can confirm that no vertex/normal/edge of the shadow model is falling outside the volume of the resolution LOD model. Ive also made sure the shadow model is convex, is triangulated and has sharp edges (not smooth) in object builder. It currently sits at 1,756 polys (is this ok?).

 

You mentioned inverting the faces of the shadow model, i currently have them pointing outwards, Should they be pointing inwards?   

Share this post


Link to post
Share on other sites

Is your shadow lod closed with no open edges, triangulated (keep in mind your triangulation may cause clipping errors), all hard edges and with no texture?

 

You would have to post your _as map so we can see why it's doing what it's doing.

 

For your SMDI that's a good start, but later on you'll have to fix some things on it.  For example, the area with the gold paint should have the same spec power and gloss as the white area and your visor probably needs to have a strong spec power and glossiness.

Share this post


Link to post
Share on other sites

Delta,

 

Yes can confirm my shadow lod is closed, no open edges, triangulated (which doesnt cause it to clip through the  res lod), has hard edges and no texture. When i select the model in object buider, i click 'structure - topology - find non closed' and nothing is highlighted. 

 

Here is my _as texture;

 

4O7bFX.jpg

Share this post


Link to post
Share on other sites

It looks like you are doing most things right Johno. Delta's giving you good advice on the smdi/as.

 

However, as you still have the problem with the shadows, it's perhaps worth questioning how you know that the shadow lod is completely contained within LOD1?

da12thMonkey's suggestions on the shadow lod are of course spot on. I usually reduce it by a few percent overall from the LOD1 size, and then tweak individual verts that might stick out due to it's low poly nature. 2k polys is probably ok for shadows, but the lower the better. Add a Shadow LOD 10.000 with very low poly count for optimum performance.

 

Something else you can try; reduce your shadow lod object size by 50% and check in game again - obviously the shadows will be too small, but is the self-shadowing on the helmet gone now?

Share this post


Link to post
Share on other sites

Apollo, 

 

I tried your suggestion in reducing the shadow lod model by 50%, it sat within the res model completely. When i tested this in arma the shadow problem still persisted only on a smaller level. 

 

However, as you still have the problem with the shadows, it's perhaps worth questioning how you know that the shadow lod is completely contained within LOD1?

In 3ds max (which i am more fluent in) i reduced the shadow lod models size whilst the res 1 model was within the scene. I could see that nothing was clipping through the res model and that both models have the same orientation in world space. Also in object builder, i have view background lod on, so i could see the yellow outline of the res model whilst working in the shadow lod. It wasn't clipping through there either.

 

Delta,

 

Ill be sure to update the smdi to make the visor more reflective and update the paint to have the same glossiness as the white armor.

 

Btw thanks for the help guys, much appreciated! 

Share this post


Link to post
Share on other sites

Delta,

 

I tried to fix the shadow problem but couldn't. So i decided to give it a rest whilst I updated a clone armor set I had made.

 

H2cSgH.jpg

 

I am currently trying to get this into Object builder but even at the import stage am running into difficulties (lol). In max I triangulated the armor mesh set, then exported it as a .3ds (which keeps the smoothing groups). However when I import into object builder the following happens:

 

- For no apparent reason the model is moved along the x axis and few grid spaces and no longer centered.

- The model seems to be inverted as well. Not the faces of the polygons, but the actual model components themselves. If you look on the picture, you can see the buttons on the arm and two notches on the chest appearing on the RIGHT of the model. Well when i import the .3ds into object they appear on the LEFT :S

 

Apologies in advance if this has taken the thread of topic. But I would like to get the model functional in Arma before texturing it. 

Share this post


Link to post
Share on other sites

Could anyone shed some light on why I am experiencing the problems with importing into object builder?

Share this post


Link to post
Share on other sites

In max, reset the pivot to 0/0/0.  Then unlink the model (select it and press the broken chain ikon in the top left corner). Then go to right, above modifier stack, click on utilities (hammer symbol) and use "reset Xform->reset selected".  Convert model to editable poly again (no instancing!). Now you can export.

Most common problem is that when stuff is linked or instanced - it will screw with the export. Reset Xform can break positioning/ scaling and is not reversable, not even with undo, so save before you do and check all other objects/helpers in your scene if they are still all in place after that procedure, before you save again.  Resetting xform on an object that has other objects linked to it can reposition and warp them.

 

For characters you need to weight them (skin modifier in max) for proper animation. For this to transfer, you can only use .fbx for export.  Do the above mentioned steps before applying and modifying skin weight, as this procedure can screw with the weights.

 

For your shadow LOD issue, make sure that the shadow LOD has the same weighting as the visual LOD (otherwise it won't move with the head).  Applying a single named selection in objectbuilder to a meshpart is equal to setting it as 100% weighted to a bone of the same name. So if you name your helmet "head", it is 100% weighted to the head bone of the character.

For debugging you can copy the shadow LOD into the resLod, so you can see what is going on/not going on with the shadow LOD ingame. (applies to any LOD basically).

Share this post


Link to post
Share on other sites

Cheers x3kj,

 

It was a bizarre problem. If i exported it as a .obj file it didn't swap the components (but i lost the smoothing groups) but exporting it as .3ds did. In the end though In objectbuilder i mirrored the affected components and now everything is in the right place.

 

Do I need to apply the skin modifier to the armor set in max or can i just weight the components in object builder (something I have only just become aware off).

 

I copied the shadowlod model into the res led like you said. When i built the addon and fired arma 3 up I couldn't see any change. Should I have seen something different? Or even the shadowlod model itself?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×