1 | Introduction

In this next section we are going to dive into our level building process and begin with developing the top network to generate terrains.  This will walk us through a workflow that allows us to completely design our terrains within the Unity Editor.  We will walk through how to design an HDA to enable level designers to layout a terrain and then how to process the layout into a final Unity terrain complete with erosion and split into tiles. 


2 | Creating a Terrain Layout Tool

To start our terrain building process we should let level designers provide some sort of input to the system rather than let the system procedurally generate a landscape for us.  In this lecture we are going to build an HDA from the ground up to allow level artists to do just that.  We will look at how we can use the Houdini Engine painter to give designers control over where mountains should be placed and how big they should be.  We will then close out the section by learning how we can export from an HDA, directly inside of the Unity engine.


3 | Testing the Terrain Layout Tool

Without HAD built, let’s take some time and make sure everything is working the way we want inside of the Unity editor.


4 | Creating the Main TOP network

Now that we have a rough level layout for our terrain, let’s now focus our attention on building the main TOP network that will be responsible for building our entire level.  This will introduce you to building larger TOP networks specifically for the Unity Game Engine.


5 | Projecting the Terrain

In this lecture we are going to convert our layout geometry into a usable Heightfield, so we can leverage all the Heightfield functionality inside of Houdini.  This will set us up to erode, split, texture and scatter our terrain.


6 | Eroding the Terrain

Just about every large game terrain uses erosion to add more realism to the look and feel.  So let’s go and add some erosion to our TOP network and provide some controls for users to tweak the look.  


7 | Testing our TOP Network in Unity

In this lecture we are going to test out our TOP network inside of Unity.  This will also get us more comfortable with the development process when using TOPs with the Houdini Engine.


8 | Texturing Terrains with TOPs

One of the core components of a terrain is its material and textures.  What we want to do is automatically assign our textures to the Terrain while it is being built.  So let’s take a look at how we do this with Houdini, TOPs and the Houdini Engine for Unity.


9 | Hook up the Terrain Texture HDA

Now that we have the HAD which is responsible for the texturing of the terrain, let’s get it hooked into the TOP network so it is producing the textures for our terrain inside of Unity.


10 | Splitting Terrains with TOPs

To finish off our terrain, we should take a look at how to split our terrains using TOPs.  This is great for large scale terrains so we can take advantage of the Occlusion Culling feature in Unity.  


11 | Conclusion

To close out this section let’s do a quick review of the topics we covered throughout the lectures.



コメント

  • pauhol 1 ヶ月 前  | 

    Does splitting the terrain into tiles affect the speed the cooking takes in Unity compared with keeping the terrain as one pice and cooking it ‘whole’?

    What is to prefer in order to keep the waiting time down as much as possible for testing out different variations (for example trying out different settings on the noises) of the terrain in the scene?

    Thank you!

  • Petoncle56 1 ヶ月 前  | 

    Really a great tutorial, but as pauhol said, is splitting the terrain into tiles affect performances ?

    Thanks !

  • borbs727 2 週間, 5 日 前  | 

    Is it possible to undo while painting? I'm noticing that ctrl+z doesn't do anything making the workflow kind of clunky. I haven't finished the tutorials yet, so maybe there's a solve, but at the moment I'm thinking it might be best to do all the setup in Houdini and just send over the result to Unity.

  • Animate4evr 2 週間, 4 日 前  | 

    Howdy Guys! I am going to try to answer these questions as best I can.

    With regards to speeding up the design of terrains and performance when using Split Terrains, I highly recommend splitting the terrain when using PDG as you can update the individual tiles when they are dirtied rather than having to update the entire terrain for every small modification. You can do this using the Partition by Bounds and setting the Dirty mode to "Mapping Standard". This will make it so only those tiles that are affected by a change will update. That said, if you are updating something like changing the entire noise on a whole terrain, this would update the terrain as a whole anyways. Let me outline a different way to go about designing terrains to speed up the iteration time.

    Basically what I have started doing is creating terrain stamps. These stamps are exactly like brushes in Zbrush or Photoshop, but they are in 3D...but have the same sort of falloff. Each stamp represents a different type of terrain feature. Large mountain, river bed, rolling hills, etc. I then use those stamps in Houdini Engine to craft an entire game level. This is faster cause all the stamps are individual HDA's. This give more iteration to design. When I am happy with the design I turn it into a unity terrain by projecting it onto the terrain stamps.

    Hopefully that helps with the design of terrains.

    With regards to undo while painting, I don't see it either...I usually put the brush in subtract mode and remove value from the attributes. It is totally valid to create the rough terrain shapes in Houdini as well and just import the bgeo file into your PDG network.

    Thanks so much guys! :-)

    • borbs727 2 週間, 3 日 前  | 

      I'm having trouble getting the textures to work in Unity. The cook finishes but it's just a blank terrain.

      I've found this information about the "Resources" folder requirement in the Unity docs and am just curious if this is why we're required to use this project structure with PDG?

      Also, here's my error message for the missing textures:

      Part with id 3 is missing.

      Unable to setup instancer!

  • borbs727 2 週間, 3 日 前  | 

    Also, thanks for the tutorials! I'm learning a lot!

  • 3clipse 2 週間, 2 日 前  | 

    k so cannot get my textures to show up in Unity... (other than the Grass). After the texture node is added your implementation starts cooking 7 nodes. Mine still only starts cooking 4. So the issue is somewhere here, however I have gone over the tutorials from lecture 8 and 9 up to this point multiple times now and cannot see what I have done incorrectly I am hoping that there is an obvious answer that I have missed?

    • 3clipse 2 週間, 2 日 前  | 

      nvm... I did not have the erosion HDA selected when I copied the File node... copied a new one correctly and it works fine... still only cooks 4 nodes (perhaps that is a change in 17.5.173

  • shoria 1 週間, 3 日 前  | 

    I cannot find any textures (.tga) in the project files. Any clue where I can find them?

    • 3clipse 1 週間, 2 日 前  | 

      Go onto the unity store... there are plenty of free textures there... also opengameart . org etc... simply google free textures and you will be able to get 3 to get through the tutorial... same applies for the prefabs... they aren't great but they are sufficient to at least get the tutorials finished.

Please log in to leave a comment.