Jump to content
Official BF Editor Forums

Little Texturing Problem With Scoped Weapons


SkullTerror

Recommended Posts

when i re-texture a gun in 3ds max, like the m95, the whole texture is good, except the scope, it shows the image of the texture on it, also when i zoom in with lod 1 zoom, it also shows me the texture image, plz help!!

*EDIT: Also happens with lod 1 zooming on m4 or aks-74u or stuff like that, just shows me a texture image, like usrif_m4_c, pretty odd!

*Fixed, thanks guys

Edited by SkullTerror
Link to comment
Share on other sites

1. Yes, there is.

2. I'm not your mate.

3. There is an edit button.

The gun came with a scope texture, so somewhere along the line you've accidentally applied the main body texture to the scope.

ok sorry, please explain!

Link to comment
Share on other sites

Your material setup for this weapon should contain 2 textures ( in a Multi/sub material ) . They will carry ID 1 and ID 2. Now assuming your main weapon body texture is ID 1 you'll apply ID 1 to all faces of the weapon body and ID 2 ( scope texture ) to the scope optics which are the lens and the inner tube of the scope especially in the zoom model which typically resides in geom0->lod1

E.g. the M24 even uses 4 textures, here is the excerpt from its bundledmesh:

geom0
lod0

 Shader: BundledMesh.fx
 Technique: Alpha_TestEnvMapColormapGloss
 Type: 2
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

lod1

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_scopetexture_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: Alpha
 Type: 1
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_scopetexture_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

geom1
lod0

 Shader: BundledMesh.fx
 Technique: Alpha_TestEnvMapColormapGloss
 Type: 2
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_mini.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

lod1

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_mini.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

Edited by mschoeldgen[Xww2]
Link to comment
Share on other sites

' date='04 May 2010 - 06:04 AM' timestamp='1272949469' post='97874']

Your material setup for this weapon should contain 2 textures ( in a Multi/sub material ) . They will carry ID 1 and ID 2. Now assuming your main weapon body texture is ID 1 you'll apply ID 1 to all faces of the weapon body and ID 2 ( scope texture ) to the scope optics which are the lens and the inner tube of the scope especially in the zoom model which typically resides in geom0->lod1

E.g. the M24 even uses 4 textures, here is the excerpt from its bundledmesh:

when i try to texture the m95, the scope is attached to the weapon by itself should i detach it, texture it and then attach it again??

Edited by mschoeldgen[Xww2]
ms: cut out lengthy repetition of code
Link to comment
Share on other sites

when i try to texture the m95, the scope is attached to the weapon by itself should i detach it, texture it and then attach it again??

No, it can be in the same mesh but you need to change the Surface ID's of those faces which should carry the other ( scope- ) texture to the matching ID of that texture slot.

I don't have the material setup for a weapon handy but here's a shot of another bundledmesh setup with multiple textures:

material5.jpg

We currently see Material ID2 opened, in ID 1 resides the main texture ( wrongly coded as EnvMap, btw ). ID 4 holds the wreck texture ( all faces in my wreck have ID4 ) and ID5 uses the main texture but with the 'Cockpit' shader technique.

All these submaterials are of type 'BF2BundledMesh'. And yes, you need to unwrap your scope to the layout of the scopetexture of course nott the main weapon texture.

Edited by mschoeldgen[Xww2]
Link to comment
Share on other sites

' date='05 May 2010 - 07:25 AM' timestamp='1273040731' post='97923']

No, it can be in the same mesh but you need to change the Surface ID's of those faces which should carry the other ( scope- ) texture to the matching ID of that texture slot.

I don't have the material setup for a weapon handy but here's a shot of another bundledmesh setup with multiple textures:

material5.jpg

We currently see Material ID2 opened, in ID 1 resides the main texture ( wrongly coded as EnvMap, btw ). ID 4 holds the wreck texture ( all faces in my wreck have ID4 ) and ID5 uses the main texture but with the 'Cockpit' shader technique.

All these submaterials are of type 'BF2BundledMesh'. And yes, you need to unwrap your scope to the layout of the scopetexture of course nott the main weapon texture.

but the scope texture IS in the main texture look for yourself!

Link to comment
Share on other sites

There's no need to quote everytime, use the 'Add Reply' button on the bottom to answer without quoting .

but the scope texture IS in the main texture look for yourself!

No, it isn't . Look at the setup:

// FILE: C:\Documents and Settings\mscho.PENTIUM\Desktop\BF2Objects\Weapons\USSNI_M95_Barret\meshes\ussni_m95_barret.bundledmesh
//

geom0
lod0

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/ussni_m95_barret/textures/ussni_m95_barret_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

lod1

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/ussni_m95_barret/textures/ussni_m95_barret_scope_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: Alpha
 Type: 1
  Texture: objects/weapons/handheld/ussni_m95_barret/textures/ussni_m95_barret_scope_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

geom1
lod0

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/ussni_m95_barret/textures/ussni_m95_barret_mini.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

lod1

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/ussni_m95_barret/textures/ussni_m95_barret_mini.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

Note the 'ussni_m95_barret_scope_c.dds' which is used all over the zoom model ( geom0->lod1 )

sorry guys, codebox seems to be bugged

Edited by mschoeldgen[Xww2]
Link to comment
Share on other sites

' date='06 May 2010 - 07:33 AM' timestamp='1273127614' post='97941']

There's no need to quote everytime, use the 'Add Reply' button on the bottom to answer without quoting .

No, it isn't . Look at the setup:

*** Code deleted ***

Note the 'ussni_m95_barret_scope_c.dds' which is used all over the zoom model ( geom0->lod1 )

sorry guys, codebox seems to be bugged

so what youre sayin' is, i should open the main weapon tex, paste it on 0, 1 , 2, 3, 4, 5 etc. (weapon parts), and then paste the Barret_m95_scope texture, in another material slot (two for example) on the mesh 0 (main mesh)!, or is that the glasslens.dds, or LUT_pow36.dds, aah this is making my head hurt!

Edited by mschoeldgen[Xww2]
cut out lengthy repetion of code
Link to comment
Share on other sites

or LUT_pow36.dds
the LUT is cared for automatically. All the other textures should be in yourt material setup, though.
, aah this is making my head hurt!
Yeah, if you even didn't find the 'Add Reply' button in this forum and are quoting lengthy posts all the time we have probably difficulties explaining to you those particularities.

You should look at one of our model tutorials to see how to apply materials on meshes.

E.g. here:

http://www.bfeditor.org/forums/index.php?showtopic=12461

look at the material stuff in this tutorial ( disregard the uvmap things ):

http://www.bfeditor.org/forums/index.php?showtopic=4556

Edited by mschoeldgen[Xww2]
Link to comment
Share on other sites

  • 3 weeks later...

that all aside, i have a problem, if i retexture a weapon and set its destination like C:/bla/desktop or something it only works when the textures are really there, now my question is, how do i change the texture path to be pointing to the objects_client in bf2??

Edited by SkullTerror
Link to comment
Share on other sites

It depends on how you are forcing the new texture pathes on your mesh. These pathes always have to be relative to /objects ( and your texture needs to be inside /objects, too ) .

If you export the weapon from e.g. 3DSMax make sure you've setup the tools correctly:

http://www.bfeditor.org/forums/index.php?showtopic=9648

If you're hacking the meshes directly with e.g. 'BF2Materials.EXE' use pathes like:

// FILE: C:\games\Battlefield 2\mods\bf2\objects\Weapons\handheld\usrif_m24\meshes\usrif_m24.bundledmesh
//

geom0
lod0

 Shader: BundledMesh.fx
 Technique: Alpha_TestEnvMapColormapGloss
 Type: 2
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: EnvMapColormapGloss
 Type: 0
  Texture: objects/weapons/common/glasslens/glasslens.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

lod1

 Shader: BundledMesh.fx
 Technique: ColormapGloss
 Type: 0
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_scopetexture_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

 Shader: BundledMesh.fx
 Technique: Alpha
 Type: 1
  Texture: objects/weapons/handheld/usrif_m24/textures/usrif_m24_scopetexture_c.dds
  Texture: Common\Textures\SpecularLUT_pow36.dds

this is the original setup from the M24

Edited by mschoeldgen[Xww2]
Link to comment
Share on other sites

  • 3 weeks later...
had to manually copy channel 9 to channel 1). That could be a problem.
Indeed , it is. You also have to make sure that all unused uvchannels in your model are cleared . A Bundledmesh will only use map channel 1 as a bundledmesh doesn't have more than one texture layer. All other uvchannels ( 2 and up ) should be cleared. A model will not export if unused channels are occupied and you'll only get an empty /meshes folder and no *.con file.

Staticmeshes can have up to 4 uvchannels if they use the full set of Base (1) ,Detail (2), Dirt (3) and Crack (4) channel.

you can install 3ds max SP2
It's always a good idea to install the SP's as they really fix some issues. Use either the AutoDesk 'satellite dish' updater or manually browse the AD site. Edited by mschoeldgen[Xww2]
Link to comment
Share on other sites

  • 4 weeks later...

Well now another problem is, that is if i attach a kobra scope from the AKS-74U to the AK-47/GP-25, i don't know how to texture the gun then, if i export it, the texture is all screwed up over the gun in the editor, do it need to UVmap the gun again, if no i'd like help, if yes..then i'm screwed!

*I know about the channel thing, no explanation needed!

Edited by SkullTerror
Link to comment
Share on other sites

  • 1 month later...
' date='11 June 2010 - 04:49 AM' timestamp='1276228155' post='98622']

Indeed , it is. You also have to make sure that all unused uvchannels in your model are cleared . A Bundledmesh will only use map channel 1 as a bundledmesh doesn't have more than one texture layer. All other uvchannels ( 2 and up ) should be cleared. A model will not export if unused channels are occupied and you'll only get an empty /meshes folder and no *.con file.

Staticmeshes can have up to 4 uvchannels if they use the full set of Base (1) ,Detail (2), Dirt (3) and Crack (4) channel.

It's always a good idea to install the SP's as they really fix some issues. Use either the AutoDesk 'satellite dish' updater or manually browse the AD site.

i hav a picture of my scope problem here, could you explain what happened and what i should do?

Pic.jpg?psid=1

Link to comment
Share on other sites

Yeah, your scope needs the scope texture, not the main one. Create a Multi/sub material and set the Material 1 ( ID 1) to the main texture and set the type to BF2BundledMesh. Add Material 2 ( ID 2 ) and add the scopetexture , also of type BF2BundledMesh. Now switch the surface ID's of the scope faces to ID 2 . I guess this Material should probably use the 'Envmap' technique to let it reflect .

Link to comment
Share on other sites

' date='04 September 2010 - 05:51 AM' timestamp='1283575911' post='100479']

Yeah, your scope needs the scope texture, not the main one. Create a Multi/sub material and set the Material 1 ( ID 1) to the main texture and set the type to BF2BundledMesh. Add Material 2 ( ID 2 ) and add the scopetexture , also of type BF2BundledMesh. Now switch the surface ID's of the scope faces to ID 2 . I guess this Material should probably use the 'Envmap' technique to let it reflect .

ok, thanks, and that aside, when I attach the scope to the weapon(0) and export it, the weapon body is black, but the rest (trigger, gp30, mag) isn't any help?

Link to comment
Share on other sites

If a mesh has been uvmapped outside the first texture tile ( within the 0.0-1.0 coordinate range ) a bundledmesh will render black. Either try the 'maxTextureRepeat NN' statement in code ( as seen in statics ) or, if that doesn't work move the whole UV map into the 0.0-1.0 coordinate range and re-export.

Link to comment
Share on other sites

  • 4 weeks later...
' date='04 September 2010 - 05:51 AM' timestamp='1283575911' post='100479']

Yeah, your scope needs the scope texture, not the main one. Create a Multi/sub material and set the Material 1 ( ID 1) to the main texture and set the type to BF2BundledMesh. Add Material 2 ( ID 2 ) and add the scopetexture , also of type BF2BundledMesh. Now switch the surface ID's of the scope faces to ID 2 . I guess this Material should probably use the 'Envmap' technique to let it reflect .

yay, i figured it out

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...