Search Unity

Cannot paint over terrain layers?

Discussion in 'World Building' started by LadyAth, Dec 19, 2018.

  1. LadyAth

    LadyAth

    Joined:
    Jan 17, 2014
    Posts:
    158
    I am using Unity 2018.3 and downloaded the new terrain tools as per the blog. In a new project, I imported a couple of texture packs and https://assetstore.unity.com/packages/3d/environments/landscapes/free-island-collection-104753 to use as a terrain base. Everything imported fine and I noticed that painting the terrain now uses terrain layers.

    My problem is that I cannot seem to paint over a layer with an existing (from _TerrainAutoUpgrade) or if I add a new layer. If I try to paint over one of the layers, it makes changes to a greyish shade instead of the new texture. Is it because of the terrain being imported with textures? If I create a brand new terrain it seems to be ok, except if trying to paint with the first texture over a subsequent colour. Then the same grey painting happens.

    Attached an image where I tried to paint black over exiting terrain layers to show what happens.
     

    Attached Files:

    Last edited: Dec 19, 2018
  2. LadyAth

    LadyAth

    Joined:
    Jan 17, 2014
    Posts:
    158
    This is beginning to look like I will have to delete all the imported terrain textures and paint from scratch. After more testing, I created a brand new project without the the new terrain tools (base 2018.3) and imported the free island pack again. The imported textures convert to terrain layers, but if I try paint over anything with one of the existing layers, the above problem occurs. I also get "Graphics.CopyTexture called with mismatching mip counts (src 12 dst 1) UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr)" in the console. If I create a brand new layer I can paint. If I replace an existing, I cannot. If I delete all the terrain layers and start fresh, I can paint.

    Is this going to be an issue for any older terrain assets being imported?
     
  3. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    191
    that's because only 8 textures support by terrain for now. Reduce texture count
     
  4. LadyAth

    LadyAth

    Joined:
    Jan 17, 2014
    Posts:
    158
    * facepalms *
    Thank you :)
     
  5. elettrozero

    elettrozero

    Joined:
    Jun 19, 2016
    Posts:
    216
    I tried everything, I can only set the base layer. Any other layer is not painted.
     
  6. pavel98volk

    pavel98volk

    Joined:
    Sep 23, 2015
    Posts:
    1
    Same issue here. Each time I try to paint on a base layer I get:
    OPENGL: Graphics.CopyTexture called on textures of different sizes?
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    OPENGL: Graphics.CopyTexture called on textures with different mip count (10 vs 9)?UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    P.S. When I do the same actions in an empty project it does work, perfectly. However, I still can't figure out what could I break in the original project to get above mistakes.
     
  7. wyatttt

    wyatttt

    Unity Technologies

    Joined:
    May 9, 2018
    Posts:
    256
    Are you on Mac? And, regardless of platform, is the new project not using OpenGL?
     
  8. elettrozero

    elettrozero

    Joined:
    Jun 19, 2016
    Posts:
    216
    The solution (for some reasons) is to set, in quality settings, Texture Quality to full res
     
  9. sylon

    sylon

    Joined:
    Mar 5, 2017
    Posts:
    242
    I was having a hard time figuring out why i couldn't paint my terrain.
    elettrozero's solution worked for me.
    Thanks!
     
  10. Radiago

    Radiago

    Joined:
    Jan 7, 2014
    Posts:
    17
    Wow. This was a lifesaver for me. Thank you. Had the same problem, this fixed it for me. This should be in a FAQ or something.
     
  11. wyatttt

    wyatttt

    Unity Technologies

    Joined:
    May 9, 2018
    Posts:
    256
  12. oakesn

    oakesn

    Joined:
    Jun 29, 2018
    Posts:
    1
    elettrozero's solution worked for me.
     
  13. itdikey

    itdikey

    Joined:
    Mar 17, 2013
    Posts:
    4
    elettrozero's solution saved me