Home Unity

Texture Packing in Unity?

jordank95
polycounter lvl 5
Offline / Send Message
jordank95 polycounter lvl 5
trying to find the best solution for texture packing with Unitys Standard Shader and I can't seem to find a way to do this any other way with the Standard Shader. The way Im used to in UE4 makes much more sense than how Unity handles it right off the bat. What is the best way to pack my color, roughness, metalness, ao and normal maps? And do I need a custom shader to do so?

Replies

  • sprunghunt
    Offline / Send Message
    sprunghunt greentooth
    jordank95 said:
    trying to find the best solution for texture packing with Unitys Standard Shader and I can't seem to find a way to do this any other way with the Standard Shader. The way Im used to in UE4 makes much more sense than how Unity handles it right off the bat. What is the best way to pack my color, roughness, metalness, ao and normal maps? And do I need a custom shader to do so?
    Yes you need a custom shader to pack your textures like you would in unreal. It's something that has always annoyed me that the standard shader doesn't support an efficient workflow like this. 
  • richkid
    Offline / Send Message
    richkid polycounter lvl 13
    How do you mean "packing" them? Like putting some maps in different channels of a texture? If so, by default metalness is only looking at the red channel, roughness is in the alpha channel of the texture for metalness, and I think AO is only looking at the blue or green channel. If you hover over them it will have a little (R) or (A) so you know what it is referencing
  • ahmedcutestudio
    Offline / Send Message
    ahmedcutestudio polycounter lvl 2
    im searching for that too , but i think the RBG channel are useful to store maps and to be clear  RED for Roughness Blue is for Matalic and Green For Ao  here http://wiki.polycount.com/wiki/ChannelPacking  but im not sure what and when they Use Alpha channel for ? ? good luck 
  • sprunghunt
    Offline / Send Message
    sprunghunt greentooth
    richkid said:
    How do you mean "packing" them? Like putting some maps in different channels of a texture? If so, by default metalness is only looking at the red channel, roughness is in the alpha channel of the texture for metalness, and I think AO is only looking at the blue or green channel. If you hover over them it will have a little (R) or (A) so you know what it is referencing
    I'm pretty sure AO reads the R channel in the Unity standard shader so you can't use a packed texture for both the AO and the roughness. It's dumb and inefficient. The roughness shouldn't be in the alpha channel either. That just wastes texture memory. 

    EDIT: The latest version of Unity does come with a shader editor similar to Unreal so you can make your own shader
    https://unity.com/shader-graph

  • jordank95
    Offline / Send Message
    jordank95 polycounter lvl 5
    richkid said:
    How do you mean "packing" them? Like putting some maps in different channels of a texture? If so, by default metalness is only looking at the red channel, roughness is in the alpha channel of the texture for metalness, and I think AO is only looking at the blue or green channel. If you hover over them it will have a little (R) or (A) so you know what it is referencing
    I'm pretty sure AO reads the R channel in the Unity standard shader so you can't use a packed texture for both the AO and the roughness. It's dumb and inefficient. The roughness shouldn't be in the alpha channel either. That just wastes texture memory. 

    EDIT: The latest version of Unity does come with a shader editor similar to Unreal so you can make your own shader
    https://unity.com/shader-graph

    Yeah, Ive used this new shader graph for a few custom shaders. My main dilemma now is do I create a Master material, like in UE4, and convert all materials over to this new material while also having to re-export all my textures with packed RGB. Theres a lot of textures...ugh. 
  • ahmedcutestudio
    Offline / Send Message
    ahmedcutestudio polycounter lvl 2
    jordank95 said:
     The roughness shouldn't be in the alpha channel either. That just wastes texture memory. 
    do you think this memory is recah 1Gb and store data in GPU memory ?

    Yeah, Ive used this new shader graph for a few custom shaders. My main dilemma now is do I create a Master material, like in UE4, and convert all materials over to this new shader while also having to re-export all my textures with packed RGB. Theres a lot of textures...ugh. 
    i never knew about UE4 but Im Using Unity and everything comes handy this time unity aloways upgrading to new level 
Sign In or Register to comment.