1 | 導入

このセクションでは、レベル構築プロセスに入り、地形生成のTOP ネットワークの開発から始めます。 これにより、Unity エディタ内で地形を完全にデザインできるようになります。 ここでは、レベルデザイナが地形をレイアウトできるように HDA を設計する方法を説明し、そのレイアウトへ地形侵食とタイル分割を施した完全な Unity 地形に処理する方法について説明します。


2 | 地形レイアウトツールの作成

地形構築プロセスの開始は、システムが地形をプロシージャルに生成するのではなく、レベルデザイナがシステムへの何らかの入力を提供出来る必要があります。 ここでは、レベルアーティストがまさにそれを実行できるように HDA を最初から構築します。 Houdini Engine ペインタを使用し、山の配置場所とその広さをデザイナが制御できるようにする方法について説明し、それから Unity エンジン内部で HDA からの出力方法を学習し、このセクションを終了します。


3 | 地形レイアウトツールのテスト

この HDA の構築ができたら、Unity エディタ内ですべてが正しく動作することを少し時間をかけて確認しましょう。


4 | メイン TOP ネットワークの作成

地形の大まかなレベルのレイアウトができれば、今度はレベル全体の構築を担う主要な TOP ネットワークの構築に集中していきましょう。 ここでは Unity ゲームエンジン用の大規模 TOP ネットワークを構築していきます。


5 | 地形の投影

ここでは、レイアウトジオメトリを Heightfield に変換し、Houdini 内で Heightfield のすべての機能を活用できるようにします。これにより 地形の侵食、分割、テクスチャ化、オブジェクトの分布が可能になります。


6 | 地形の浸食

大規模ゲーム地形のほぼすべてで、リアルな景観にするために浸食が使用されています。 そこで、TOPネットワークにも浸食を追加、ルックの微調整のためのコントロールを提供しましょう。


7 | Unity での TOP ネットワークのテスト

ここで、Unity 内で作成した TOP ネットワークをテストします。これにより Houdini Engine で TOP を使用した開発プロセスにより慣れ親しんでいきます。


8 | TOPs による地形へのテクスチャ追加

地形の中心的な要素の1つはマテリアルとテクスチャです。 達成するべきことは、地形構築中に自動的にテクスチャを割り当てることです。 そこで Houdini、TOPs、Houdini Engine for Unity を使ってこれを行う方法を見ていきましょう。


9 | Terrain Texture HDA の追加

地形へのテクスチャ処理を行う HDA が完成すれば、TOPネットワークに接続、Unity 内で地形のテクスチャを生成してみましょう。


10 | TOPs で地形の分割

地形の完成させるため、TOPs を使用して地形を分割する方法をみていきます。 これは大規模な地形に最適で、Unity のオクルージョンカリング機能を後々利用していくことができます。


11 | まとめ

このセクションを締めくくるため、講義を通して取り上げたトピックを簡単におさらいしましょう。



コメント

  • pauhol 4 ヶ月 前  | 

    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 3 ヶ月, 4 週間 前  | 

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

    Thanks !

  • borbs727 3 ヶ月, 1 週間 前  | 

    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 3 ヶ月, 1 週間 前  | 

    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 3 ヶ月, 1 週間 前  | 

      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 3 ヶ月, 1 週間 前  | 

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

  • 3clipse 3 ヶ月, 1 週間 前  | 

    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 3 ヶ月, 1 週間 前  | 

      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 3 ヶ月 前  | 

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

    • 3clipse 3 ヶ月 前  | 

      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.

  • Vectonaut 2 ヶ月, 2 週間 前  | 

    Hey Kenny, really great tutorial so far and I really appreciate the amount of work you've put into this whole series (and other tuts).

    Just wanted to point something out for those not aware, and which is a huge time saver for updating HDA parameters. Basically instead of navigating up and down the network nodes to right click open the HDA type properties, you can instead right click on the HDA in the network file path. You know the bit just above the network graph with something like 'obj/level_creation_top/topnet1'. Just right click where your HDA is and you'll see the type properties option.

    Here's a picture to make it super obvious: https://i.imgur.com/58VyBos.png

    This means you can stay deep down in the network of your HDA and bring up the type properties window whenever you need it. I never see this mentioned in tutorials, but it's such a great quality of life improvement.

Please log in to leave a comment.