Placeholder for now, I'm still typing this up. I'll add screenshot as we go.

Using just the included vanilla assets included during import you can make something like this:
image


This will just illustrate how you can use Gaia for Terrain that you can use in your ORK project. It'll remain basic for now. I'll add more as my experience with it increases. Also I feel it needs to be said, This will assume a basic understanding of how Unity works. This will cover Gaia+ORK, not unity. :D Just wanted to be clear on that.

Basics:
You can control your stamps with a script called GaiaResources this stores your selected prefabs and prefabs settings such as random rotations, random scales, altitude settings as well and clumping settings. This can apply to prefab groups as well. So you can get really creative with this.

Example Time:
Say you want this village to always have the same shape but you want it randomly placed at prefab generation:

Set the village up as you want in a prefab (this can include NPCs, the stamper doesn't care WHAT it is, as long as its defined as a prefab.)
Assign the prefab to the prefab list
Set max amount to whatever you prefer
You can also have this randomly rotated on any axis you want.

If you edit this before you spawn the stampers it will autoload those settings. You can always remove the extra ones you don't want. But it is lot easier to have them all added at spawn time then adding them manually later. Trust me, I made this mistake already. For now let's leave this alone just so we can get better acquainted with our tools.

So to start lets open this: Window ->Gaia -> Show Gaia manager
image

This will open a new gui box with a few buttons in it. For just click: 1. Create Terrain and show Stamper Ignore the rest for now
image

This adds a few item to your scene:
Gaia
|Terrain_*random number*
|Stamper

image

The way I think Gaia works is, Gaia is the master object and the spawners check this hierarchy for object that meet the criteria to be checked
The terrain is the basic Unity terrain so you can edit this as much as you want.
I found the best work flow for this is to:

1. Draw the terrain by hand
2. Build basic outline with the default terrain tools
3. use the stamper to add some noise
4. Use the stamper to make higher elevations
5. Use the stamper to decorate the outside limits of visible terrain

There is a way to use masks...I have not tried this yet

...more to come...and this will be edited later for more one I get home
Things I will touch on are:

GaiaDefaults & GaiaResources:
GaiaDefaults:
This stores your default Terrain settings So this controls what gets created when you click 1.Create Terrain & Show stamper
GaiaResources:
Place where you define the defaults for your project. Store everything. Prefab lists, and Prefabs settings. scale, rotation, population, fitness, altitude all of these variables are pulled from here and the spawners and stampers initial defaults are controlled by this.

Stamper:
This is were the fun terrain stamps are!
For starters lets Make a small crater and texture it. We're only going to use the included assets built into the package. Since we have already generated our terrain stamper using defaults your should only have one object in your scene with Terrain_*random* number and and Stamper set as children.

If not open this: Window ->Gaia -> Show Gaia manager
Then click: 1. Create Terrain and show Stamper
Now your up to speed again!
Lets move on! Click the stamper in your hierarchy:
image

This is what you will in your inspector view:
image

Stamp preview is where you will drag your heightmap into to use the stamper! And also happens to be the most important par. Without this the stamper is useless.
Conviently they were kind enough package some for us! Go into your asset list and browse to: Gaia > Stamps >Mountains
Find "Crater 0924 a" and drag that into the blank preview panel
Your view will then update to something like this!:
image
Back in the inspector view there are some small things you need to be aware of.
Base level - This is basically (no pun intended) a elevation slider
Ground Base- This brings the stamp all the way down to the assigned base level, as in you cannot manually move it up and down!
Stamp Base- If this is set Bring stuff up to the base, if not excludes stuff below
Show Base - This is good for simply showing the base, that is the yellow plane you see, help you tell where the base actually is
Helpers -> Show Rulers This shows a ruler to help you figure out scale

For Now set sea level to 50
And below that in Stamp Controller Click Stamp!
Let the Stamp do its magic with the scroll bar, and viola!
Congrats you made your first Gaia terrain.

We have already made the terrain but lets take a look at some option that we could have used instead on Raise Height.
Go back to the top on the Stamper component again and notice there is an Operation Type This determins what kind of math operation occurs. Raise, Lower, Blend, Stencil or Differance.
There is also an Invert Stamp box under that. This only works is you turn off Ground Base!
So lets do that, just to show you what happens.
Leave it on the Crater stamp and Raise Height!
Turn on Invert stamp

Go to Position, Rotate and Scale
turn off Ground base
And put the Height Slider to 20
Again hit stamp!

Now Im sure you want to preview the basic terrain without that nasty looking stamp, right? This is easy, all we need to do is turn off Always Show stamp under Helpers
Then select your terrain in the Hierarchy!
image

This got rather long so I will be continuing this in additional comment following it 1 topic for each stampers usage one.

Just discovered this tonight.
To force Gaia to apply the stamps to your terrain properly, you need to open the GaiaResource file for settings and at the bottom press Apply to Terrains

FYI
This is a slightly destructive process. What this does is add all of your settings to the terrain you are modifying to the terrain information. LIke when you add a new texture to to a terrain. It adds it for you in a slightly random order. So when you do this it may alter your current textures placements. Fortunetly thats what Texture spawner is for, it can fix this very quickly.
Post edited by paulgswanson on
  • edited February 2016
    Textures!
    This will auto texture your terrain based on your scanner settings!

    So first things first. We are going to check out a tool called Visualiser
    This is a very important tool. This will help you identify what textures go where without telling the system to chug away repeatedly!

    Its a real time viewer for what can spawn where. This is my favorite tool so far. I was having trouble find the spawning bounds until I found this. You can hold control and it will feed back the information from your cursor point such as: Terrain Height, Terrain Slope, and area slope. You can define your range and colors for this. Default is 200 but for a test sample its perfect.

    You can also edit your spawn criteria from the very same menu so no need to jump back and forth repeatedly between menus.

    To access this tool Window > Gaia > Show Gaia Manager
    We are going to click on Utilities this time.

    In the Hierachy click on Visualizer
    The menu looks like this:
    image

    Range: determines the effective scan range. The default it 200. This is plenty for right now.
    Resolution: This determines the point resolution. Smaller number equals slower. The math works like this: (Range/Resolution)*2=X*X= Spheres Covering the Area.
    So for our settings the mean it spawns a grid of 16x16 because 200/25=8*2=16*16=area

    Ok so the next few settings will be using a text value called fitness. Fitness is basically: Can it spawn here? So it works like a yes\no switch

    Fitness: points with fitness lower than this value will not be shown.
    Fitness Collision Layer: You can set what the scanner collides with to determine a points fitness level

    Fit Colour: Can be what ever you want good fitness to be. I feel like Green or Blue is perfect for this, thats thats your call
    Unfit Colour: Can be what ever you want bad fitness to be. I feel red is fairly obvious.

    Next 2 settings are the assigned resources in the GaiaResources file that I mentioned in the previous post.

    Resource Type: Texture, Tree, Detail and gameobjects are always the only available drop downs. To my knowledge this cannot be changed!

    Selected Resources: This is variable based of what you loaded into the Resources file! My file is more populated because I'm writing this in the same project as a work title for myself, so our results will vary a bit on the results! So I want you to know you can still follow along of course but it will look different because of different textures and trees and details!

    Ok now that those explanations are out there we can actually get to the working bits!

    Click on Visualiser in the Hierarchy panel. It may be collapsed so expand the Gaia object if you need to.

    You will observe a grid of spheres has now magically appeared! Most likely they are all red, just like this:
    image

    This is fine and expected. It just mean what ever you have selected under resource type cannot be spawned there. It simply does not meet the spawning guidlines!

    So for now set your resources Type to: Terrain Texture (we'll use other settings in a different post! So ignore them for now.)

    My Default Selected resource was Sand (beach2) so my grid was red. If you want to find out WHY this is red then don't worry I'm getting to that right now! Click on the Arrow next to Texture to expand the Sand's settings.

    This menu get fairly complicated so Im only going to touch on the ones that I feel are most important to understand.

    Size X and Size Y: There are your tiling settings

    Expand Spawn Criteria and expand Element 0
    You will Notice that the Check Height box is checked. This will ensure that the scanner verifies that the terrain meets the min/max altitude settings specified in the next to fields.
    image

    Notice that Sand (beach2) Max Height is 50. This is why the entire grid is red.
    However since our entire crater thingy is way above 50 lets change this to Cliff (Grassy)
    You will notice that Use Height is not on for this one! the value of 55 will be ignored. However the important settings for this one are the slope ones. You grid is still red I presume. So lets fix that. We know the visualizer is working fine so just grab it and move it a little on the Z axis like this. You notice things start to light up!
    image

    I forgot to mention this earlier but if you curious about the Info for a particular spot and want to know it height or slope measurements look at the bottom of the inspector. To get updated info on you mouse just hold ctrl and move it around those value will reflect that point.

    Lets leave our settings alone for now. Defaults should be perfectly fine for this. But now you have an understanding of the basic settings and good grasp on how the visualizer can help you with the texture generators.

    So for now we are going to actually generate our textures!
    Like with most of our options they are under
    Window > Gaia > Show Gaia Manager
    We are going to click on Advanced this time.
    Click on the arrow next to
    2. Create and Configure your spawners...
    And finally click on Create Texture Spawner.

    This will add yet another gameobject under Gaia appropriately called Texture Spawner
    Click this and check out your inspector.

    Notice the Spawner Rules Section these are what the spawner criteria was referancing
    Scroll down to the bottom and Check out the Spawn Controller section.

    What we want is to Press these in this order for best results!
    Ground > Fit To Terrain > and finally Spawn

    -- note -- Sometime you will get error like this: IndexOutOfRangeException: Array index is out of range.

    To get around this:
    To force Gaia to apply the stamps to your terrain properly, you need to open the GaiaResource file for settings and at the bottom press Apply to Terrains. Then try again.


    This will start a progress bar at the bottom and when its hit 100% then your terrain will be gloriously textured kind of like this!
    :
    image
    Post edited by paulgswanson on
  • edited February 2016
    Tree Stampers:

    Time for some trees! Window > Gaia > Show Gaia Manager > Advanced > 3. Create and Configure your Spawners.

    Now we're going to generate 2 different spawners here. Click on Create Clustered Tree Spawner and Create Tree Coverage Spawner.

    Clustered Tree Spawner - As the name implies this focus's mainly on clusters of tree. So you not going to get blanket forest coverage out of this. For that you would want to utilize the next option.

    Create Tree Coverage Spawner - This option is for a more even or general tree placement.

    For now since this is just a basic tutorial at the moment and 1.5 is still steaming from the oven we'll not delve to far into it just yet.

    So for now lets just Select our Clustered Tree Spawner. Like the previous spawners we examined earlier most of the settings and configurations work the same. There is a new feature here in 1.5 however. In the Spawner Rules section there are 4 new buttons: X I A +
    image

    X: Delete's all rules
    I: Turns Rules Off
    A: Turns the Rules on
    +: Allows you to create new rules in the spawner

    Like before we are scrolling to the bottom on the menu and are going to select the same options as before:
    Click Ground Click - This bring the affected area and lines it up with the Terrain
    Click Fit to Terrain - If you recall this adjusts the size of the stamps effective area so you can control specifically how large the area is that is affected by the spawner or stamp. A great way to observe this is to zoom out pretty far. This is the giant red square or sphere.

    And Finally click Spawn
    Eventually you will some results that look a little bit like this:
    image


    Allow the gauge to trickle up to 100% and finally you have some Tree Clusters! Something interesting happens here however. Normally the Unity Terrain would generate the colliders on a per terrain basis. However! If you observe in your Hierarchy Pane: You will have a new object tree under the cluster spawner. If you expand that You will notice that you have a new object set called Bounds_ColliderCache.
    image

    This can be important to you if you want to create a set of trees out the players range of movement, lets say on a cliff out of reach. Logically there is no need for a collider on those trees. This give you the option of deleteing those exact colliders without having to make special collider-less trees to meet that need! If you really want to you can even edit that collider on a object to object basis. This applies to the other Tree Spawner as well, as you will soon observe.

    Lets do the same for Tree Coverage Spawner.
    Click Ground Click
    Click Fit to Terrain
    Click Spawn

    Wait till the magic is complete! (This really is ALOT faster in 1.5 than it was in 1.0, I suspect because cluster and coverage are now separate items that can be tuned individually)
    In the 2 screenshots below you can see the difference between the spawn types based on the visible colliders.

    CLUSTER:
    image

    COVERAGE:
    image
    Post edited by paulgswanson on
  • edited January 2016
    Detail Stamper:
    Grass... flowers... moss... you name it. Focus is on billboard type objects
    Post edited by paulgswanson on
  • edited April 2016
    Gameobject Stamper:
    This is where you place your gameobject prefabs like villages! and NPCs!

    This is going to applicable to Gaia version 1.5 not 1.0 so keep this in mind when running through this.

    Since we are going to add a prop lets use some geometry that Unity can make for us. Lets go with a cylinder since a sphere will not show rotation on any axis at all. at least with this we can see 1 degree of manipulation. So in the default Unity menu's go to Game Object -> 3D Object -> Cylinder

    Now since we have multiple ways to rotate this thing using the spawner lets duplicate the object a few times to give a sense of 'its pointing that'a ways!'

    I made an arrow (since indicating direction is sort of the point here :D), make whatever you want. When your done place them in an empty game object. For simplicity sake Name it OurObject
    image
    Now just make a prefab of it (Drag it to whatever folder you want). And remove it from the scene.

    Ok since that basic requirement is now outta the way! We can actually get started here

    Now this functions pretty much the same as the tree stamper. So forgive me if it looks pretty much the same!

    Window > Gaia > Show Gaia Manager > Advanced > 3. Create and Configure your Spawners.

    Now we're going to generate 2 different spawners here. Click on Create Clustered GameObject Spawner and Create Coverage GameObject Spawner.

    Clustered GameObject Spawner - As the name implies this focus's mainly on clusters of objects. So you not going to get blanket object coverage out of this. For that you would want to utilize the next option.

    Coverage GameObject Spawner - This option is for a more even or general object placement.

    So for now lets just Select our Clustered GameObject Spawner. Like the previous spawners we examined earlier most of the settings and configurations work the same. In the Spawner Rules section there are 4 new buttons: X I A +
    imageimage

    X: Delete's all rules
    I: Turns Rules Off
    A: Turns the Rules on
    +: Allows you to create new rules in the spawner


    Like before we are scrolling to the bottom on the menu and are going to select the same options as before:
    Click Ground Click - This bring the affected area and lines it up with the Terrain
    Click Fit to Terrain - If you recall this adjusts the size of the stamps effective area so you can control specifically how large the area is that is affected by the spawner or stamp. A great way to observe this is to zoom out pretty far. This is the giant red square or sphere.

    Here is a new bit that is different from the tree bit, since we are adding a new object that is not already in the existing rule sets. These steps should apply to all the spawners as well since the process is quite similar.

    Go to the GaiaResource file that has been previously mentioned. And the inspector will update to look like this:
    image
    Drag OurObject the custom prefab we made a few minutes ago in the box that says "Drop Game Objects / Prefabs Here" It will vanish and look as though nothing happened. But fear not! You need only click and the arrow next to Game Object Prototypes and you will see OurObject at the bottom of the list!
    image
    If you want to alter the size of the object or the rotations on it we want to do it from here since all the next steps pull data from this spot. The rules here are the same as the texture and tree spawners rules.

    For now lets only at few values.
    Expand Instances > OurObject
    A particularly good setting to pay attn to is Max Instances what this will do is, for every one of OurObjects that gets activated by the rule set it will spawn whatever # of them you have set here. This can be good for rock clusters or or Points Of Interest!

    Dna section is where you can toss about the random settings of each instance so lets say you spawn 5000+ of this custom object of yours. This will make them all slightly different size or scale, if rotation is you want to edit use the settings in the previously mentioned section


    Now remember waaaaay back at the beginning of these tutorial when I mentioned it is wise to add all your prefabs - objects before creating the spawners? This next step is why.

    There is an Easy way to do it And a hard way.
    This is the easy way:
    So normally if you add these prefabs ahead of time via the file, then come time when you click the spawner, the prefab will have already been added and the rules setup and you need only tweak the variables a tiny bit to achieve results. In our case the spawners are already there! So we need to manually add our objects. If you have many objects like 5 or more, I recommend just killing the stamp adding them to the file and re-createing the Spawner especially if your going to have multiple Spawners with a similar rule set. It can only save you time.
    We're not going to do that in this tutorial though!

    This is the hard way (but more practical in terms of a simple edit):
    And here is why...I want to show you how to add an object to an existing stamp! This is useful if you noticed you simply missed a certain something, you can just add it and hit the button to fix it that way!

    Ok since we have already added our Object to the Prototypes Index we want to add it to the Spawner so we can actually get it to show up. We're going to edit the Coverage GameObject Spawner first then do the same thing to the Clustered GameObject Spawner

    So Click Coverage GameObject Spawner in your Hierarchy Window
    If we simply hit Spawn it will only draw object from the visiable list above that are shown in the Spawner Rules section. OurObject is obviously not there.
    image

    So lets add it!
    So what we need to do it Add a New rule which you can easily do by Clicking that + symbol. So do that please. You will get a new Arrow at the bottom that is blank. Click on it, and expand it.

    It will default to Resource Type: Terrain Texture This is not what we are trying to add so change that to: Game Object Right below that Selected Resource will default to the 1st added object of that kind, in our case Rock Pile 1 is the first in the list in GaiaResource. Lets Click on that and choose: OurObject. Notice that when you chose our Prefab it automatically updated the Rules name for you.
    Here is what it will look like:
    image

    Now do the exact same thing you did for this spawner to the other one!
    Once that's done you should have the hang of it.

    Now For Coverage GameObject Spawner Click Spawn
    Wait for that Progress Bar to finish!
    Is it done?
    Ok next step!

    Now For Clustered GameObject Spawner Click Spawn
    Wait for that Progress Bar to finish!
    Wait for that Progress Bar to finish!
    Is it done?
    Ok next step!


    We're going to do the same thing as the Tree Coverage Spawner and Study the difference between each Spawner.

    Coverage:
    image

    Cluster:
    image

    On the left hand in Hierachy you will find custom object we made and added under both GameObject spawners >Spawned_GameObjects > *Your Ruleset name* > _Sp_*OurObject*

    * Indicates that this will be a little different for you based on you object names and rule set names
    Post edited by paulgswanson on
  • edited January 2016
    Others-- Utilities Tab
    Scanner: This lets you make new stamps from R16, 16bit RAW, other terrains, textures or meshes! You simply drag and drop!

    Visualizer: This was actually pretty neat. Its a real time viewer for what can spawn where. This is my favorite tool so far. I was having trouble find the spawning bounds until I found this. You can hold control and it will feed back the information from your cursor point such as: Terrain Height, Terrain Slope, and area slope. You can define your range and colors for this. Default is 200 but for a test sample its perfect. I will cover this more in depth tomorrow. You can also edit your spawn criteria from the very same menu so no need to jump back and forth repeatedly between menus.

    Texture Mask Exporter: Allows you to export different texture layers for use as a mask. Say you want to mask off you beach area, you would select your beach texture and then export that and use it as a mask to prevent overwriting it.

    Terrain OBJ exporter: Assists exporting your terrain for use with 3rd party terrain editing.

    Export Terrain Height map as PNG: This is literally as simple as pressing 1 button. Saves to the root asset folder of your project

    Export Shore Mask as PNG: Makes a mask of the active Terrain at the height you provide
    Post edited by paulgswanson on
  • This is great. Will try to pick it up next month and if I have anything to add will post it here. Thanks for the tutorial.
  • Thank you for this! I bought it last time it was in sale but haven't really done anything with it yet. I much prefer tutorials in written form to video tutorials (which all of the Gaia tutorials are).
  • edited January 2016
    The worst video tutorials are the ones with no sound and you have to try to follow the arrow cursor which is so small and what it touches is so unreadable sometimes. I live and die by written tutorials like this one. : ) You can make a pdf doc out of them and email them to yourself and if you have an ios device at least open them in ibooks and follow so easily. I don't know if android devices let you do something like that but I love my ibook pdfs that I can follow on my device while I have Unity open on the computer.
    Post edited by Catacomber on
  • I'm relieved you guys are enjoying this so far! I was doing my best to make it simple and in depth at the same time.

    I think once I'm done with this here, I might PDF it like you guys are and send it to the Gaia author, since he can easily pull the upcoming ORK elements out, it could easily be added to his own tutorial menu on his site.
  • edited February 2016
    If anyone has any questions regarding Gaia, I'm also Shawn67 on the Unity forums. I've been on the Gaia beta team since the beginning and have used ORK during different phases of my testing.

    You may want to hold off on writing up info on spawners until after the 1.5 update is done. There are a lot of new features which will make things like spawning villages/outposts/homesteads/etc a lot easier. The 1.0 system that is currently on the asset store is powerful but some of the changes are basically 1.0 on steroids.

    The new Session Manager also has a stamp randomizer, making creating (or updating) terrains with up to a count you specify of random stamps a breeze. I never thought I would want to use a randomizer, but since I started testing it.. I'm hooked! I'm one of those people who never could quite get a decent looking terrain using the Unity tools. So for me, it is 100% stamps. I have quite a library of them other than the standard stamps that come with Gaia. I've converted demo terrains in packs I have bought to stamps, terrains from terrain packs to stamps, and made stamps from real world terrain using terrain.party. The beauty of stamping is you can throw down a stamp created from a demo terrain, then run the new radomizer (once 1.5 is released) on it to add more mountain, hill, and valley stamps (you put weight on the different stamp types - higher weights are chosen more often and zero weight disables that type altogether).. And BAM.. Totally unique terrain that started out from a demo terrain as its base.
    Keldryn said: I much prefer tutorials in written form to video tutorials (which all of the Gaia tutorials are).
    Adam plans on doing both. He was planning on doing a lot more after Gaia was released while waiting on it to get approved on the asset store. But it was approved in just two days instead of the 1-2 weeks he was expecting. So instead of getting the written tutorials (and a couple of the video ones) out that he had planned, he ended up jumping right into support mode and then after a short rest, jumped right into 1.5 development to take care of some of the usability issues that were causing confusion and planned updates.

    At any rate I guess I'm rambling.. As you can tell I'm a huge Gaia fan and love seeing what you have put together so far.

    Keep up the awesome work on the tutorial!

    Post edited by Shawn67 on
  • edited February 2016
    @Shawn67 You were correct to recommend I wait till 1.5 update came out. A bunch has changed quite literally overnight for this. Wowsers! I'm glad I listened to you! I'm loving the new features, stamps, and most of all the improved performance!

    I suspect I'll need to rework a bunch of this to make it correct thru and thru. But I'll get it there! It'll come a bit slower than intended though :(
    I'm juggling several things, and the items i work on are on a rotating schedule now. But this tutorial and my upcoming asset store weapons collection are taking priority.
    Post edited by paulgswanson on
  • You know, it might be interesting to have Gaia place ORK Combatant Area spawners as part of POIs... Basically build an encounter including creatures and environment models and let Gaia's spawning rules take care of placing them.

    Especially if one wants to do an open world style game.
  • Glad it worked out! I told you there was a bunch of cool stuff coming. Throw me a PM if you run into any issues with it. I've been working with Adam on his beta team since the beginning. Happy to help however I can. :)

    Totally know about the juggling act.. Between helping beta test several assets and working on some of my own, I've barely been into ORK much. Definitely not as much as I would like to be. lol

    Look forward to seeing the tutorial move forward as you get the time. A lot of the stuff you have talked about so far were in my plans, but just haven't got around to integrating it all yet... lol
  • You know, it might be interesting to have Gaia place ORK Combatant Area spawners as part of POIs... Basically build an encounter including creatures and environment models and let Gaia's spawning rules take care of placing them.

    Especially if one wants to do an open world style game.
    Yup.. I've thought of that.. As well as interaction components/actors for merchants, quest givers, quest objects, objects you can pick up off ground/interact with such as random loot spawns or chests... With the new POI system, all of that stuff should be possible. Maybe even area definitions. I'm thinking of playing around with the new Zone Controller from John Rossitter to see if I can put his zones within a POI as well. I helped him beta as well and I know he is looking at creating a Gaia Extension and ways he can integrate Zone via Gaia's new extension system.

    And good to see you Keldryn.. I thought I recommended that avatar when I seen in in the Gaia thread in your past couple of posts... heheh
  • That POI is idea pretty good. I'll give it a shot tonight to see if I can figure it out fairly quickly. Givin success I'll jot it up and add it.
Sign In or Register to comment.