Blender Node Material Export Only Does Albedos Mapping?

So when making a texture scale for a plane I need to scale all of its channels but it seems that when export to a glb only the baseColor channels scale mapping is respected?

The normal channel goes to 1x1 while the base color goes to what I set it to (in this case 50x50).

Both channels have the same nodes going to them.

image

Is there something special I need to do to ensure that the uv sample scale passes with all the channels?

Hi @Pryme8 - I hope all is well with you! Pinging @JCPalmer to see if he has an idea.

Short circuit answer all I have time for right now:

const tex = scene.getMaterialByName('stuff').texture;
console.log(`What Blender did uScale: ${tex.uScale}, vScale: ${tex.vScale}`);
// now just do it yourself
tex.uScale = 50;
tex.vScale = 50;

Just a extremely wild guess for no circuit. Look at your picture. You are on the Point tab. Maybe for the normals material, you set on the Normal tab. Good luck. out

I’ll give this a shot, I ended up doing like you said initially though for now where after I import it I check the albedo scale then apply that value to all other channels on the incoming material.

Hello just checking in, was your question answered? @Pryme8

1 Like

Nope, I just programmatically set the stuff at runtime and moved on. The blender part never got solved.

Any chance of getting a .blend ? I have my 3.3 LTS changes, which I have started, where I might look into supporting if it is easy.

Sure thing! Ill make one if I dont have one.


example.zip (97.8 KB)
You can use any images you want, just export it as a gltf or glb and then when it gets imported you will see that the channel to metallic wont have the uv scaling (50x50)

o_O Unless I am crazy and it works this time…

1 Like