poolpunk 668 Posted December 14, 2020 Hi Folks, If someone could hint me in the right direction regarding my Multimaterial issue .. id be thankful forever! I have been struggling with that for several hours now and can't get it working .. As the topic implies - My Multimaterials/Textures (Multimaterial 1, Multimaterial 2 , Glass Texture, Glass Material) are displayed in Buldozer, but only the Stage0-Texture is shown in Game .. RVMAT (MULTI 1) Spoiler ambient[] = {1,1,1,1}; diffuse[] = {1,1,1,1}; forcedDiffuse[] = {0,0,0,0}; emmisive[] = {0,0,0,1}; specular[] = {1,1,1,1}; specularPower = 50; PixelShaderID = "Multi"; VertexShaderID = "Multi"; // BLACK class TexGen0 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class TexGen5 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage0 {texture="fs\fs_b_core\data\fs_b_PlstrOut01_Wht_co.paa"; texGen="0";}; class Stage5 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="5";}; class Stage11 {texture="fs\fs_b_core\data\fs_b_PlstrOut01_nohq.paa"; texGen="0";}; // RED class TexGen1 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class TexGen6 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage1 {texture="fs\fs_b_core\data\fs_b_ConcPln01_Drk_co.paa"; texGen="1";}; class Stage6 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="6";}; class Stage12 {texture="fs\fs_b_core\data\fs_b_ConcPln01_nohq.paa"; texGen="1";}; // GREEN class TexGen2 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class TexGen7 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage2 {texture="fs\fs_b_core\data\fs_b_DeckPln01_Drk_co.paa"; texGen="2";}; class Stage7 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="7";}; class Stage13 {texture="fs\fs_b_core\data\fs_b_DeckPln01_nohq.paa"; texGen="2";}; // BLUE class TexGen3 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage3 {texture="fs\fs_b_core\data\fs_b_GravelGrnt01_Drk_co.paa";texGen="3";}; class Stage8 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="3";}; class Stage14 {texture="fs\fs_b_core\data\fs_b_GravelGrnt01_nohq.paa";texGen="3";}; // MASK, MC, AS/ADS class TexGen4 {uvSource="tex1"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage4 {texture="fs\fs_b_mansion\mansion1c\data\fs_mansion1c_multi1_mask.paa"; texGen="4";}; class Stage9 {texture="fs\fs_b_mansion\mansion1c\data\fs_mansion1c_multi1_mc.paa"; texGen="4";}; class Stage10 {texture="#(argb,8,8,3)color(1,1,1,1,ADS)"; texGen="4";}; RVMAT (MULTI 2) Spoiler ambient[] = {1,1,1,1}; diffuse[] = {1,1,1,1}; forcedDiffuse[] = {0,0,0,0}; emmisive[] = {0,0,0,1}; specular[] = {1,1,1,1}; specularPower = 50; PixelShaderID = "Multi"; VertexShaderID = "Multi"; // BLACK class TexGen0 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class TexGen5 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage0 {texture="fs\fs_b_core\data\fs_b_PlstrIn01_Wht_co.paa"; texGen="0";}; class Stage5 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="5";}; class Stage11 {texture="fs\fs_b_core\data\fs_b_PlstrIn01_nohq.paa"; texGen="0";}; // RED class TexGen1 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class TexGen6 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage1 {texture="fs\fs_b_core\data\fs_b_TilesIn01_co.paa"; texGen="1";}; class Stage6 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="6";}; class Stage12 {texture="fs\fs_b_core\data\fs_b_TilesIn01_nohq.paa"; texGen="1";}; // GREEN class TexGen2 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class TexGen7 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage2 {texture="fs\fs_b_core\data\fs_b_ParquetPln01_Snd_co.paa"; texGen="2";}; class Stage7 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="7";}; class Stage13 {texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; texGen="2";}; // BLUE class TexGen3 {uvSource="tex"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage3 {texture="fs\fs_b_core\data\fs_b_Carpet01_Gry_co.paa"; texGen="3";}; class Stage8 {texture="#(argb,8,8,3)color(0.5,0,1,1,DTSMDI)"; texGen="3";}; class Stage14 {texture="fs\fs_b_core\data\fs_b_Carpet01_nohq.paa"; texGen="3";}; // MASK, MC, AS/ADS class TexGen4 {uvSource="tex1"; class uvTransform{aside[]={1,0,0}; up[]={0,1,0}; dir[]={0,0,1}; pos[]={0,0,0};};}; class Stage4 {texture="fs\fs_b_mansion\mansion1c\data\fs_mansion1c_multi2_mask.paa"; texGen="4";}; class Stage9 {texture="fs\fs_b_mansion\mansion1c\data\fs_mansion1c_multi2_mc.paa"; texGen="4";}; class Stage10 {texture="#(argb,8,8,3)color(1,1,1,1,ADS)"; texGen="4";}; Share this post Link to post Share on other sites
Jack4607 1 Posted December 14, 2020 Id suggest two things 1) As it appears you're packing two different mods for this (fs_b_core and fs_b_mansion) id suggest making sure you're repacking both of those addons and outputting to the correct directory 2) If that's not the case unpack the PBO in your addons folder, check all the textures are there and the paths haven't changed in your rvmat. 1 Share this post Link to post Share on other sites
x3kj 1247 Posted December 14, 2020 i encountered the same issue yesterday evening. I'll let you know, should i find the solution before someone else does. (Not particularly likely though... someone hijacked my PC and secretly installed Cyberpunk2077 :D ...) 1 1 Share this post Link to post Share on other sites
poolpunk 668 Posted December 14, 2020 Thanks both!@Jack4607I re-packed both of them several times already and checked (unpacked) it afterwards - It looks all like it should look like 😕 @x3kj Yay! I could keep my pc safe from this virus until now - But i think it is just a matter of time until it gets me too Share this post Link to post Share on other sites
NightIntruder 710 Posted December 15, 2020 Do you have something in config.cpp that alters the rvmat? Share this post Link to post Share on other sites
mondkalb 1087 Posted December 22, 2020 Poolpunk asked me to take a quick look at the issue and he kindly provided the data to look into. The issue is a fairly tricky bug that's (afaik) undocumented. Multimaterial will only work when the reference UV (texgen4) is strictly within 0,0-1,1 bounds. In the sample here it was not working because the individual UV groups were offset from that center frame. Moving them back to it fixes the issue. There is no easy straightforward way to see which of these tiles is 0,0-1,1. One has to either check tex coordinates directly, or simply create a plane, select it, then have it highlighted in the UV editor in O2. The plane is created with the exact same 0,0-1,1 coordinates. If you're using DCCT like Blender or 3DSMax then it should be a lot easier to see the UV's origin and staying within bounds. 3 2 Share this post Link to post Share on other sites
poolpunk 668 Posted December 23, 2020 And the correct answer has been provided by Mondkalb!🥇What a great, detailed response - Thanks a lot!! Tell me if you you need anything 🙋♂️ 1 Share this post Link to post Share on other sites
dead kennedy 124 Posted January 8, 2022 Hi everyone. Made a multi- shader and a simple object to test the subj with a @mondkalb, tutorial (step-by-step). The mask map: Spoiler The rvmat: https://pastebin.com/Gc8qEwFf Everything looks okay while the source of the mask map defined to UVset0 (uvSource="tex"). Spoiler But obviously I can't use it this way, I have to place the mask map to the UV1 (second channel) instead, and this is the problem: Spoiler All the layers messed up, it seems the Buldozer simply does'nt see a mask map in the UV1. I sure the content of the UV0 and UV1 are absolutelly identical (tried both copy UV0 to UV1 and export a fbx with double channels). So I (barely) sure the mask map is within the proper bounds. Spoiler Rescaling and moving the UV feautures in the UV0 leads to ridiculous results: Spoiler Need a help, pease 😱Absolutelly wasted with this stuff. Share this post Link to post Share on other sites