Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Mip Map Maker: Custom Mip Map Editing Tool

Discussion in 'Assets and Asset Store' started by LaireonGames, Oct 25, 2016.

  1. LaireonGames

    LaireonGames

    Joined:
    Nov 16, 2013
    Posts:
    696
    As the title says! If anyone has any questions or queries feel free to post here :)

    A note about DDS files.
    DDS files support a wide variety of formats and features such as cube maps however this tool does NOT support the full feature set of DDS. It reads and writes the file in a format that Unity is happy with and has only been tested within the editor on a windows machine. This means you probably have to do some work with the tool to support your intended platform.

    If the DDS side of this tool gains enough interest I will happily expand its functions and provide more support for it. The reason I don't is I suspect it is not needed and that the vast majority of users would use the TextureArray functions instead.

    I think a good rule of thumb here is if you don't know about DDS files and don't currently work with them then this tool could be a good starting point but your best bet is to use TextureArrays instead.
     
    Last edited: Nov 9, 2016
  2. Nicholas_Reynolds

    Nicholas_Reynolds

    Joined:
    Apr 25, 2015
    Posts:
    2
    Hello, this is actually the first time I have ever posted and I can't thank you enough for this tool. I have a question though, this may be a bit out of the realm of this tools purpose, but I am having some difficulty adding Normal Maps to an array and accessing them in a shader. I know that in Unity's Texture Importer the Texture Type needs to be set to Normal in order for shaders to correctly read the map but when I set my normal map to Normal in the Texture Importer and try create a Texture Array, they come in desaturated and do not work correctly when accessing them at their index in an array using UNITY_SAMPLE_TEX2DARRAY within a shader. It may have something to do with how things are being copied over into the array itself but I am pretty new to shader work and unsure. Would you have any suggestions?
     
  3. LaireonGames

    LaireonGames

    Joined:
    Nov 16, 2013
    Posts:
    696
    Hey Nicholas,

    Just rushing out for dinner but noticed this and have a quick answer for now, will reply properly later.

    Head to your texture, change its type to normal and not normal map, then import it into your texture array. Preview might not look right but the final results should work. Got this working on another project so it is possible :)

    Cheers!
    Jason

    Edit: Actually this pretty much covers it :p So glad you like the tool :D
     
    Last edited: Jun 16, 2017
  4. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    377
    Hello may I ask, does your product work with UNITY 2017. Also i am mainly interested in the ATLAS Maker does it work well with all 3D objects ?

    Can I use it to make atlas for my 3D objects. Thank you so much... :D
     
  5. LaireonGames

    LaireonGames

    Joined:
    Nov 16, 2013
    Posts:
    696
    Hey XCO :)

    Yup I use it everyday in a project running 2017 with no issues. The only big change from 2017 that affected it was linear colour space (it changed its int value) but its a simple fix for your arrays.

    Not entirely sure what you mean for 3D objects. I use it for textures in my 3D game (essentially minecraft) and it works perfect but it doesn't have support for things like cubemaps if that is what you meant.

    To be honest atlas maker is something I left in but I don't update as much because Unity seems to be neglecting DDS in favour of texture arrays but there are decent reasons why, the arrays are pretty awesome
     
    XCO likes this.
  6. Xatom

    Xatom

    Joined:
    Nov 3, 2015
    Posts:
    1
    I have a request. Do you think it would be possible to add normal mipmap filtering to your tool?

    edit: Nevermind, enabling TXAA solved the problems I was having with specular anti-aliasing :rolleyes:
     
    Last edited: Jan 28, 2018
  7. LaireonGames

    LaireonGames

    Joined:
    Nov 16, 2013
    Posts:
    696
    Hey Xatom,

    I am afraid slide 36 has lost me! 29 and 37 though make perfect sense. I will have a play with what they are talking about in 37 and see how it looks. I actually do similar things with this in Laircraft (make use of MMM) to combine the specular and emission maps and save a ton of textures so its fairly easy, albiet fiddly, to combine textures for different purposes like this.

    The real work is usually in the shader and explaining to everyone why/how to work in the new way :p

    I'll let you know once I try it out, I have a busy week and weekend planned so I might not get time until next week to play with it
     
  8. LaireonGames

    LaireonGames

    Joined:
    Nov 16, 2013
    Posts:
    696
    Ah sweet just saw your edit glad it solved your problems :D
     
  9. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Hi @LaireonGames !
    I was searching for an editor tool to create and edit texture arrays and I found your tool.
    Some questions though:
    - does it support Unity 2019.4?
    - does it automatically scale each texture to the array size? (since all textures in an array must have the same size)
    - does it let you choose the texture compression for the array per platform? (I'm building for PC and Android, and they use very different compression formats)
    - what file format does the tool output when generating a texture array? and does Unity automatically recognizes the file as a texture array?

    EDIT:
    One more question:

    - once the texture array file has been generated, can it be recompressed to another texture compresion format or do we have to recreate the array?

    Thanks :)
     
  10. LaireonGames

    LaireonGames

    Joined:
    Nov 16, 2013
    Posts:
    696
    Hey Atomic Joe,

    It should do, I use the same underlying technology in our game running on 2020 with no issues. Worst case scenario I can think of is the package itself might reference an out of date function but easily fixed if so.

    It doesn't automatically rescale to the size needed in the array but it will shout at you and prevent you from inputting the texture if its the wrong size.

    What it does is create a texture array, the per platform side of things is handled by Unity on the file it produces. Its similar to standard textures but with far less options (Unity are getting better around texture arrays though and can even preview them in the editor now). However, their options are super limited so you will probably have to handle per platform manually until they support them more.

    Yup its a file only Unity will recognise, it spits it out as a .asset. This tool also supports .dds but Unity seems to be shifting away from .dds and into texture arrays in general. .dds other software can open, the .asset only Unity can.

    You have to recreate the array to change the texture format so far as I'm aware but its not something I've looked into extensively. It was a long time ago I did the research for this so I forget if Unity forced this format but the default I use in the tool is RGBA32, I may have just picked that for simplicity though.
     
    atomicjoe likes this.