Painting a Terrain in Blender

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 87

  • @vixiliannebrightsun81
    @vixiliannebrightsun81 ปีที่แล้ว +8

    This tutorial is EXCELLENT, very detailed and easy to follow and you’ve got an excellent voice as well, very Bob Ross like! I love it, thank you so much

  • @crystaltigeranimations4949
    @crystaltigeranimations4949 ปีที่แล้ว +3

    You're a godsend! I'm making a TF2-Themed map for my friends, and I really needed to figure out how to texture stuff in Blender and this tutorial was extremely helpful. You don't ramble on about stuff that doesn't matter, and you actually explain what you need to, and the instructions are clear and concise. I was easily able to extrapolate the information I needed as I'm not doing quite the same thing as you, since I need a few more textures to blend, but you taught it well enough that I was able to understand exactly how I should do it without needing another tutorial for it. Your teaching made it make sense! Thank you so much.

  • @jernejcebasek8369
    @jernejcebasek8369 8 หลายเดือนก่อน

    You don't know how much you have helped me with further understanding how to create better ground terrain. Thank you so much for this tutorial and i wish you all the best in life! :)

  • @Grandalf3004
    @Grandalf3004 5 หลายเดือนก่อน

    This still works for terrains with overhangs and holes too!! it just means your final texture will be more slightly more bloated in size from unwrapping and flattening, but in modern systems that have so much memory its barely noticeable, even phones.

  • @inodedentry8887
    @inodedentry8887 2 หลายเดือนก่อน

    Small piece of advice for saving even more memory. You don't need multiple mask textures. You can use the RGBA channels of one texture. Have each channel control a different mixer node and paint everything onto one texture.
    Further, you should probably change the data type on the mask textures from sRGB to linear. Linear is more appropriate for this use case.

  • @nobanan838
    @nobanan838 ปีที่แล้ว +3

    I've been looking for a tutorial like this for a very long time, thanks !

  • @Gametime05577
    @Gametime05577 2 หลายเดือนก่อน +1

    Thanks for Tutorial ❤

  • @schizoscope8703
    @schizoscope8703 หลายเดือนก่อน

    Vertex paint method is more fits for terrains. Its not requires textures and separating colors can significantly reduce spageti in shader nodes.

    • @GalaxyPedlar
      @GalaxyPedlar  หลายเดือนก่อน

      You can do it that way too. Texture masks can give you more precision.

    • @schizoscope8703
      @schizoscope8703 29 วันที่ผ่านมา

      @@GalaxyPedlar But what if my terrain 1000x1000 faces(each 1m) or 10 times more? Vertex paint on 10000x10000 give a bit blury transitions. What about textures? Is there some way to work with sucha big planes with textures or any other method?

    • @GalaxyPedlar
      @GalaxyPedlar  29 วันที่ผ่านมา

      @@schizoscope8703 Vertex painting is also a way you can go about it. It really depends on your model and your needs as an artist and you can choose to do it either way.

  • @jarrodlondt9746
    @jarrodlondt9746 2 หลายเดือนก่อน

    Perfect! Thank you

  • @IndigoArcadia
    @IndigoArcadia ปีที่แล้ว

    This is exactly the video I was looking for. thank you!

  • @AlexValder
    @AlexValder ปีที่แล้ว +2

    I had trouble with exporting my terrain into Godot Engine, but it turns out you can save mask images as separate files, and then you can recreate with VisualShader all the setup. Some nodes are named differently, but as long as you remember that colors and textures and also vectors, you'll figure it out. There has to be similar solution for Unity and/or Unreal (though they should be having built-in terrain editing tools)

  • @Cris-Alencar
    @Cris-Alencar ปีที่แล้ว

    Awesome and very useful tutorial, thank you very much for sharing your knowledge! :) Would you know please if it's possible to paint in real time in the rendered preview too?

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว +1

      In Blender the interactive texture paint doesn't update in real time in Cycles. It does work in Eevee, though. You can try painting in either hardware renderer or Eevee to get realtime feedback.

    • @Cris-Alencar
      @Cris-Alencar ปีที่แล้ว +1

      @@GalaxyPedlar thank you very much for answering. :)

  • @theshadowgamedev61
    @theshadowgamedev61 ปีที่แล้ว +1

    You helped me a lot. Thanks!

  • @NEERAJKUMAR-iy9kn
    @NEERAJKUMAR-iy9kn 2 หลายเดือนก่อน

    Excellent, thank you Sir...

  • @maschlarea5172
    @maschlarea5172 ปีที่แล้ว

    Excellent, I can't add anything what hasn't been already stated.
    Since I never really made friends with nodes: I have a large Terrain with several different types of ground, among which is grass, so I need an underlying grass material, since it'll be rendered from the top.
    I have 3 ready made materials I want to use - I copied & pasted them all into 1 new material (mixed BSDF & Displacement also in a mix node), added the mix nodes between the materials (after the BSDF/Disp mix nodes) , masks, but I can't seem to get the masks to work. It seems like I'm always painting on the wrong image, even though I select the appropriate image node. Nothing ever happens 😅 When I switch to shaded mode, I see the white strokes, but they don't have an influence.
    Going into the Texture slots, I saw I was actually painting a scattering mask. Weird!

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      Blender's system is not the easiest to use and it can be easy to select the wrong mask to panit into. You might want to go through the tutorial a second time just to be sure you got everything.

    • @maschlarea5172
      @maschlarea5172 ปีที่แล้ว

      @@GalaxyPedlar The mask was correct, I had the UV scale way up, so the area was tiny and tiled all over the mesh, so I couldn't see it. Most of the time, the following day and fresh eyes bring the solution 😀

  • @rakdos5371
    @rakdos5371 ปีที่แล้ว

    Fantastic tutorial, thank you so much!!!

  • @danielvillalba5375
    @danielvillalba5375 ปีที่แล้ว

    This helps a lot.

  • @DAST_3D
    @DAST_3D 2 ปีที่แล้ว +1

    how do you export this to the game engine? baking the texture or is there some other way?
    Nice video. Thanks for sharing this content

    • @GalaxyPedlar
      @GalaxyPedlar  2 ปีที่แล้ว

      You could bake it, but that's not recommended because you'll end up with a huge texture. A better way will involve writing a custom shader that can load all your texture and mask images individually and mix them in the game engine. Some game engines have a shader node system similar to Blender, so you can build the same network in the game engine and load your textures in that way.

    • @ninikiki7039
      @ninikiki7039 2 ปีที่แล้ว +1

      @@GalaxyPedlar how to write texture and mask info to mesh fle like fbx?

    • @GalaxyPedlar
      @GalaxyPedlar  2 ปีที่แล้ว +2

      @@ninikiki7039 I don't know about fbx. However, this is a custom node setup and you will need most likely need to create a custom shader for it in whichever program you are importing it into. So you should probably be importing the map files themselves instead of relying on fbx to do it for you.

  • @oCycleb-co1cl
    @oCycleb-co1cl 3 หลายเดือนก่อน

    🎉🎉

  • @AleksandarPopovic
    @AleksandarPopovic ปีที่แล้ว

    Nice idea, ans ypu can bake difuse textture, an,go with more texture....

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      I've put together another tutorial which shows a more advanced version of this technique. th-cam.com/video/miUAc_cDmAo/w-d-xo.html

  • @Alchemyofcolor
    @Alchemyofcolor 4 หลายเดือนก่อน

    How to save it? I closed my blender and when I opened it again, everything disappeared!

    • @GalaxyPedlar
      @GalaxyPedlar  4 หลายเดือนก่อน +1

      If you mean saving the textures that you're painting, you need to either save it as an image before you close Blender. You could also try packing it which will cause it to be saved as part of the Blender file. Blender requires you to take special steps to save any textures that you create or paint, and I'd recommend reading up on that.

    • @Alchemyofcolor
      @Alchemyofcolor 4 หลายเดือนก่อน

      @@GalaxyPedlar Thank you very much! But it would be great to mention this in the video before I closed and lost everything 🥲 By the way, thank you so much for this tutorial, you are thee only one who really doing it easy and understandable!

    • @GalaxyPedlar
      @GalaxyPedlar  4 หลายเดือนก่อน

      @@Alchemyofcolor Unfortunately, TH-cam doesn't let you update a video once it's published. Sorry about this - but I'm glad you found the rest of the video helpful.

  • @underscoremavis
    @underscoremavis ปีที่แล้ว +1

    super helpful, ive referenced this video a few times now. would you or anyone else that stumbles on this comment know of a shader that supports this for unity that isn't the built in terrain system? or maybe something similar. preferably free if possible

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว +2

      I haven't used Unity in a while, but maybe I could do that in a future video.

    • @underscoremavis
      @underscoremavis ปีที่แล้ว

      @@GalaxyPedlar woah i didn't expect a response, thank you!! that'd be awesome in the future. im still looking for one someone else made but im mostly an art/graphics person than a techy/coding type so ive been lost on where to search haha. i appreciate your reply a lot though!

  • @UraniumDeba1
    @UraniumDeba1 4 หลายเดือนก่อน

    How to export because when exporting the texture is not showing?...

    • @GalaxyPedlar
      @GalaxyPedlar  4 หลายเดือนก่อน

      You can't export it directly. You will need to recreate the shader in whatever game engine you're using and then add the different texture maps to that.

  • @ryandracuscodesgames8418
    @ryandracuscodesgames8418 2 ปีที่แล้ว +1

    After applying the scaling and the other transforms, how do I save that image texture as an image file? The UVs don't translate to the original image used once we scale it. Is there a way to save the new one?

    • @GalaxyPedlar
      @GalaxyPedlar  2 ปีที่แล้ว

      You can save both the mask and terrain texture as separate images. The two images are using different UVs. When you import your model to your game engine, make sure you're using a shader that uses one uv set for the mask and the other uv set for the texture.

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 2 ปีที่แล้ว

      @@GalaxyPedlar Hmm. How would I go about saving that file? I'm not using a game engine. I'm using my own 3d software renderer where I just read the vertex, uv, and face values from the obj file as a text file, and I import it to my own classes for use.

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 2 ปีที่แล้ว +1

      @@GalaxyPedlar A better question for me to ask is, is the scaling applying to the uv's where it will divide or multiply all the uv's by that set scale or the image size itself? If it's the uv's is it dividing? I'm not sure what transformation is being done in blender.

    • @GalaxyPedlar
      @GalaxyPedlar  2 ปีที่แล้ว

      @@ryandracuscodesgames8418 The obj file won't save the details of the shader's Mapping node, so you won't see it in the file. You'll need to find another way to export this data or maybe even just copy it by hand. Then in your program you'll need to create a matrix which does the same transform as the Mapping node and then for every uv coordinate, multiply it by this matrix (or perhaps the inverse of this matrix - I don't recall which at the moment).

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 2 ปีที่แล้ว

      @@GalaxyPedlar I appreciate the assistance to a stranger. I created and applied a scale matrix, it didn't have to be inverse luckily enough, to all the uv's by my factor, and it came out like it did in blender in my software renderer. Thanks!

  • @julliannur2717
    @julliannur2717 ปีที่แล้ว

    Bingo thankyou

  • @kelimationbrew
    @kelimationbrew หลายเดือนก่อน

    what about scenes where someone digs the terrain how to do that

    • @GalaxyPedlar
      @GalaxyPedlar  หลายเดือนก่อน

      Generally you will leave a hole in the ground mesh and put game objects where you want the hole. If you want the user to be able to dig anywhere, you're going to need to create a special game object that generates the whole mesh. But if it uses the same UVs as the Blender mesh, you can still use the shader part.

    • @kelimationbrew
      @kelimationbrew หลายเดือนก่อน

      @@GalaxyPedlar i mean videos animation where someone digs a hole not like a game

    • @GalaxyPedlar
      @GalaxyPedlar  หลายเดือนก่อน

      @@kelimationbrew You'll have to model the hole into the mesh itself. So the terrain mesh would look like the surface with the hole already dug. Then you'd add a second object to look like the surface that is being dug away.
      Digging is not easy to animate and you need to use tricks to make it look like you're digging through the ground. Looking at other movies that do this can help give you an idea.

    • @kelimationbrew
      @kelimationbrew หลายเดือนก่อน

      @@GalaxyPedlar thank you very much

  • @Awtsmoos
    @Awtsmoos ปีที่แล้ว

    B"H
    Hi the problem is when exporting to GLB it doesn't keep the mix shader info I need to bake it to a UV map. How can I do that, or how can I get it to work in an exported model (GLB ideally)?

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      You can't export the shader directly. You'll need to create a new shader in your game engine and copy the parameters across by hand. I have another video that goes through the process. th-cam.com/video/hpfxUDPxVZ8/w-d-xo.html

    • @Awtsmoos
      @Awtsmoos ปีที่แล้ว

      @@GalaxyPedlar cool. Tried just making a basic mix shader using shader material in three.js. problem is it didn't preserve any of the other standard shader options (say for meshlambertmaterial). I could remake them all from scratch in the shader (like fog shadows lighting etc.) But do you know if there a way to do mix shader effect with built in three.js?
      In terms of storage also if we are just using the entire texture for black and white for each overlay there should be a better way to store it rather than like png that saves every pixel at least between 0 to 255 for rgba

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      @@Awtsmoos I'm not that familiar with three.js, but I think it's based on OpenGL ES, so you should be able to use GLSL shaders with it. I'm sure three.js will have some documentation on making your own shaders. And it you watch the other video, I think it goes through using the different channels of the mask if you want to store all the masks in a single RGB texture. Although you can also use pure black and while images in OpenGL ES. Just make sure to set your image format type to THREE.LuminanceFormat and the mask image should only use one byte per pixel.

    • @Awtsmoos
      @Awtsmoos ปีที่แล้ว

      @@GalaxyPedlar interesting, thanks. Is there a way to use more than the 4 channels, like one hex value per color?

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      @@AwtsmoosYou could, but shaders aren't really built to handle indexed colors. And I don't know how you'd get that to work in Blender. I'd suggest just using single channel black and white images for the masks.

  • @savenxrth
    @savenxrth ปีที่แล้ว

    how would i export this with the textures as well?

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      Most importers won't be able to handle custom shaders like this. You'll probably need to copy the texture parameters by hand into your game's shader.

    • @savenxrth
      @savenxrth ปีที่แล้ว

      @@GalaxyPedlar im trying to import them into roblox, which is kinda limited, is there any way i could export the texture image or something?

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      @@savenxrth You could bake the whole thing to a single texture, but that texture would be enormous and probably too big for Roblox. I've not used Roblox before. Does it let you make your own shaders?

    • @savenxrth
      @savenxrth ปีที่แล้ว

      @@GalaxyPedlar unfortunately not, i found a way around it tho, i split the different materials into different models and then textured every model differently, gets the job done 👍

  • @DarkMaglc123
    @DarkMaglc123 ปีที่แล้ว

    Can you do this with more than two textures?

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      Yes. You can repeat the process of adding a new layer and layer mask as many times as you want.

    • @DarkMaglc123
      @DarkMaglc123 ปีที่แล้ว

      @@GalaxyPedlar Awesome, thanks for the quick reply!

  • @GIOCONNO
    @GIOCONNO 9 หลายเดือนก่อน

    Is it possible to bake all the painted textures in one texture to export as image texture? i'm trying it but i get always black images :(

    • @GalaxyPedlar
      @GalaxyPedlar  8 หลายเดือนก่อน

      It is possible, but you'll probably get a huge texture. Setting up texture baking can be tricky - practice on a smaller model before trying with the terrain shader.

    • @GIOCONNO
      @GIOCONNO 8 หลายเดือนก่อน

      i reealy need to learn how to bake and export terrain shader, i don't mind if it's a huge texture, because it a single texture only for terrain :D @@GalaxyPedlar

    • @GalaxyPedlar
      @GalaxyPedlar  8 หลายเดือนก่อน

      @@GIOCONNOThere are lots of baking tutorials on TH-cam. They should give you a good idea of how to set this up.

    • @GalaxyPedlar
      @GalaxyPedlar  8 หลายเดือนก่อน +1

      @@GIOCONNOI've put together a video that goes over the basics. th-cam.com/video/d7QZ3xHC478/w-d-xo.html

  • @dorex2007
    @dorex2007 ปีที่แล้ว

    I like the concept, but you're missing displacements, normal, AO, etc. etc. All the things that make the end result look good.

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      You're right. I skipped those things because I was using hand painted textures, but maybe I can make another video that shows how to use more complicated shaders. If you need extra features like normal maps, you can use most of what's shown in this video, but mix shader nodes together instead of texture nodes.

  • @GIOCONNO
    @GIOCONNO ปีที่แล้ว

    how do you apply normal maps in those shaders??? please i need it D:

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      It might be tricky to say in a you tube comment, but basically you st up a network for combining your normal color maps together similar to the way you st one up for the diffuse colors. Then you create a normal map node and send the normal map color data into it. Then you create a Vector Math node, set it to Normalize and run the output through that. Finally you send the output to the normal input of your BDSF shader. The setup in your game engine should be similar.

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว +1

      I don't know what you're referring to. Just feed the mixed normal map into the normal channel of your shader.

    • @GIOCONNO
      @GIOCONNO ปีที่แล้ว

      @@GalaxyPedlar thanks, at the end i manage it :D now the big problem is import my texurated terrain from blender to unity.....it's always white without textures :(

    • @GalaxyPedlar
      @GalaxyPedlar  ปีที่แล้ว

      @@GIOCONNO Blender won't export complex shader networks. You'll need to create a similar shader in Unity and then then set it's parameters to the same values that they were in Blender.

    • @GIOCONNO
      @GIOCONNO ปีที่แล้ว

      Could you please make a video tutorial for that?

  • @H1tARun
    @H1tARun 8 หลายเดือนก่อน

    Does not work. It repeats changes in other areas that it repeats.

    • @GalaxyPedlar
      @GalaxyPedlar  8 หลายเดือนก่อน

      I think you may have set the UVs for your masks layer incorrectly. Make sure your mask layer is set up so that everything fits within the 0 - 1 UV square.
      You might want to go through the tutorial again.