beton 2 Posted May 15, 2011 Hi, i just wanted to ask if somebody around here was able to explain the use of multimaterial and maybe provide a simple mlod ( like a cube or something). I have already tried to use it myself but i always fail to get a good result. Obviously i´m not correct with assigning the right UVmaps to the mask and other layers. Maybe i´m wrong with the colours to... well don´t know... Thanks in advance :) Share this post Link to post Share on other sites
jr_walker 10 Posted May 15, 2011 Hi Benton, I am also interested in experimenting with multimaterials. In this discussion (http://community.bistudio.com/wiki/Multimaterial) there is a reference to a 3dMax script: VM_MultiShader.mcr but I have not been able to locate a download for the script. Any ideas? Share this post Link to post Share on other sites
beton 2 Posted May 15, 2011 Yes thanks... read that already. I don´t have max just fiddling around in blender from time to time. My question is more about how to make the textures fit to the layers and uv maps correctly since there are obviously different uvmaps in use. Well.. maybe one of the experienced guys from here may give a hint soon... Share this post Link to post Share on other sites
frankyman 10 Posted May 18, 2011 i have tested Multimaterial on my Dingo, looks good. If i had some Time I make a Sample Mlod from a Cube. Share this post Link to post Share on other sites
beton 2 Posted May 18, 2011 Thank you Frankyman, i have already thought about sending you a pm since you seem to be one of the few who has already tried to use Multimaterial on his models. Share this post Link to post Share on other sites
frankyman 10 Posted May 18, 2011 You are german right?? So i made a sample with German Text , thats munch easier for me. Is that OK? Multimaterial is realy easy. Share this post Link to post Share on other sites
jagheterjan 10 Posted May 18, 2011 I'd be interested in that tutorial as well, Franky. And I could provide an English translation in return ;) Share this post Link to post Share on other sites
beton 2 Posted May 19, 2011 That would be a very nice move... I f you want to do the tutorial in german either send it to me or Fail Cakes and we will try to translate it... :) Share this post Link to post Share on other sites
[aps]gnat 28 Posted May 19, 2011 Love to see it in english, if no ones done a tut before. Pretty please with icing on top :D Share this post Link to post Share on other sites
mondkalb 1087 Posted May 20, 2011 Multi-Shader Tutorial: First Step: Unwrap the model. (How-to) Export this as emf, then open your favourite graphics-editor, and begin painting a layermask: similiar to one required for an island. The four different colors assign different materials to certain areas. Create an MC texture. This is utterly and highly important. This will give your model extra detail and will break up the obvious tiling-seams and will tint your overlayed textures. Second Step: Now create a .rvmat file. Here's what I used in this example: MBG_Dum_patrovy01b_A_Multi.rvmat ambient[] = {1.0,1.0,1.0,1.0}; diffuse[] = {1.0,1.0,1.0,1.0}; forcedDiffuse[] = {0.0,0.0,0.0,0.0}; emmisive[] = {0.0,0.0,0.0,1.0}; specular[] = {1.0,1.0,1.0,1.0}; specularPower = 60.2; PixelShaderID = "Multi"; VertexShaderID = "Multi"; class TexGen0 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen1 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen2 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen3 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen4 { uvSource = "tex1"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen5 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen6 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class TexGen7 { uvSource = "tex"; class uvTransform { aside[] = {1.0,0.0,0.0}; up[] = {0.0,1.0,0.0}; dir[] = {0.0,0.0,0.0}; pos[] = {0.0,0.0,1.0}; }; }; class Stage0 { //Black texture="CA\Structures\Data\Plaster\plaster_damage_co.paa"; texGen = "0"; }; class Stage1 { //Red texture="MBG_NogovaBuildings\t\MBG_BarePlaster_01_CO.paa"; texGen = "1"; }; class Stage2 { //Green texture="ca\structures\data\bricks\bricks_broken_dirt_co.paa"; texGen = "2"; }; class Stage3 { //Blue texture="CA\structures\Data\Concrete\concrete_bare2_co.paa"; texGen = "3"; }; class Stage4 { texture="MBG_NogovaBuildings\t\dum_patrovy01b\MBG_Dum_patrovy01b_A_Mask_CO.paa"; texGen = "4"; }; class Stage5 { texture = "#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen = "5"; }; class Stage6 { texture = "#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen = "6"; }; class Stage7 { texture = "#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen = "7"; }; class Stage8 { texture = "#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen = "3"; }; class Stage9 { texture="MBG_NogovaBuildings\t\dum_patrovy01b\MBG_Dum_patrovy01b_A_MC.paa"; texGen = "4"; }; class Stage10 { texture="MBG_NogovaBuildings\t\dum_patrovy01b\MBG_Dum_patrovy01b_A_ADS.paa"; texGen = "4"; }; class Stage11 { texture="CA\Structures\Data\Plaster\plaster_damage_nohq.paa"; texGen = "0"; }; class Stage12 { texture="MBG_NogovaBuildings\t\MBG_BarePlaster_01_NOHQ.paa"; texGen = "1"; }; class Stage13 { texture="ca\structures\data\bricks\bricks_broken_dirt_nohq.paa"; texGen = "2"; }; class Stage14 { texture="CA\structures\Data\Stucco\stucco_001_NOHQ.paa"; texGen = "3"; }; In this rvmat it is pretty obvious to spot what is what. Just commented on what texGen applies to what color in the Mask. As you can see I am using custom-made textures as well as Arma2 textures. This way I save precious file-size and it still looks awesome. Third Step: Now select all faces you want to apply the new material to (Either in Oxygen or the UV-Editor), then hit E, remove any Texture and ONLY apply the material. Then hop back to the UV-Editor and create a second UV-Set (2nd UVSet). Copy the contents of UVSet 0 into UVSet 1, then switch back to UVSet 0 and scale it up. UVSet 1 defines what faces carry what material/texture, whereas UVSet 0 defines the dimensions. Fourth Step: Profit! Share this post Link to post Share on other sites
jagheterjan 10 Posted May 20, 2011 Die Firma dankt! :D Share this post Link to post Share on other sites
mondkalb 1087 Posted May 20, 2011 I put the tutorial on the biki. Pictures there load faster and are in better resolution. Plus the tutorial is a bit more detailed, minus the icing. Sorry. Mondkalb's_MultiMaterial_Tutorial Share this post Link to post Share on other sites
beton 2 Posted May 21, 2011 Thank you Mondkalb.... :) Share this post Link to post Share on other sites
frankyman 10 Posted May 21, 2011 ahh, much better than my sample. thx Mondkalb. sorry but i had not much time to create a tutorial. Share this post Link to post Share on other sites