Announcement

Collapse
No announcement yet.

Procedural Terrain

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Procedural Terrain

    Hi,

    I have a nice procedural terrain generation system that I built in unity 3d and am just about to do a rebuild to implement some ideas that I have to make it designer friendly.

    Here are some images / videos : http://adamgoodrich007.tumblr.com/, https://www.youtube.com/user/btektube.

    My generation system handles heightmap generation, texturing and vegetation. The basics of what you need to generate a scene to build your game in, and you can generate within the editor itself, or at run time, depending on your space vs speed / lighting needs. With a few hours of tweaking you get nice starter environments for your game going.

    I am considering rewriting the core and then wrapping it so that it can be used both in Unity and in Unreal by adding C# & Blueprint wrappers around it.

    From what I am reading it is not possible to create a terrain by code in the Unreal Engine at run time. I was wondering if it is possible at design time ?

    Thanks,
    Adam.

    Here's a sample:

    Click image for larger version

Name:	Grab 2014-08-08 192900.jpg
Views:	1
Size:	393.0 KB
ID:	1140350
    ------------------------------------------------------
    Creating procedural world generation tools
    http://adamgoodrich007.tumblr.com/
    https://www.youtube.com/user/btektube
    http://about.me/adamgoodrich

    #2
    As an addendum, a lot of terrain generators just plonk fractals into a scene, and you then need to do a lot of massaging to turn them into something useful.

    What I am trying to create is something that make it quick and easy for non programmer / artists to use to create gorgeous natural environments. For example with my current system a new designed map from scratch is a few minutes work, plus how ever much time you want to spend tweaking the textures and vegetation assets.

    In the new iteration I am working on the designer will design the scene as a set of key terrain features (mountains, rolling hills, lake etc), that can be placed where ever you want to create the game play you want. I support both heightmap import and feature placement, so you can create your base in world machine and then customise, or just do it all with my tools.

    Once the base heightmap / mesh is generated texturing and vegetation placement is then generated procedurally... so your textures always make sense in the context of the terrain / map, as does the placement of grass, shrubs and trees.

    Any suggestions on where to look to get a sense of how I could integrate my work into the UE and expose as blueprints or suggestions on better alternatives, would be much appreciated.

    I think I saw something about Epic making the terrain system accessible in 4.6. I would be happy to work with this if that's what it would take to make my ideas real
    Last edited by Adam Goodrich; 11-02-2014, 06:09 PM.
    ------------------------------------------------------
    Creating procedural world generation tools
    http://adamgoodrich007.tumblr.com/
    https://www.youtube.com/user/btektube
    http://about.me/adamgoodrich

    Comment


      #3
      I have no idea how to go about accomplishing what you want to do but I really want to be able to use what you're trying to make, it looks amazing!
      Movable Widgets

      Comment


        #4
        You got the full source code of the engine, so you can change/add whatever you like, look how stuff in the engine is done, asf. Get the engine sources from GitHub and take a look how existing parts of the Engine are implemented and brutally steal and bend all the relevant code to implement yours

        If you want to create stuff dynamically at runtime look at https://github.com/SRombauts/UE4ProceduralMesh and the threads about it. I think that excludes static lightning et al.

        Creating a static enviroment would be exampled in the Engine code itself. Might be rather complex.

        You said from what you've heard Terrain at runtime wouldn't be possible, its more about changing terrain done with Landscape at runtime isn't in the Engine right now. Your own module would allow whatever you implement.
        Last edited by Mikand79; 11-02-2014, 07:36 PM.

        Comment


          #5
          Thanks Mikand!

          As someone new to the engine i was hoping not to dig into the source straight off the bat, as i suspect that this is deep, and there are often layers of dependencies that make understanding to a newbie difficult.

          That said, will go there if i need to
          ------------------------------------------------------
          Creating procedural world generation tools
          http://adamgoodrich007.tumblr.com/
          https://www.youtube.com/user/btektube
          http://about.me/adamgoodrich

          Comment


            #6
            They have talked about upcoming improvements to large world support for 4.6, but I haven't seen any specifics as to what that entails.

            Basically the whole landscape system needs to be exposed to blueprints so hopefully that is a large part of their focus. I am all about procedural access from blueprints, even if I don't currently have a use for it.
            Map Generator 1.0
            Map Generator 2.0
            Map Generator 3.0

            Comment


              #7
              Adam if your going to dive into it please keep us posted. This would be awesome.

              Comment


                #8
                From what I can tell, getting access to the underlying terrain capabilities in the editor is not currently feasible, and I am hoping as suggested by Zeustiak they they will expose it soon. In the mean time I have started on the next iteration of my system in Unity3d, and am implementing it so that it will be easy to port to UE later.

                Here is a screen shot of my WIP. It is a 2km x 2km scene. I have placed two terrain features into it as relatively low res procedurally generated meshes. One is fractal driven, the other is a heightmap that I imported from World machine (did that purely cause i want to support both).

                You physically select the meshes, move them, scale them, change the fractal generation parameters and generally lay things out the way you eventually want them to be.

                The final step after creating the layout is to generate the underlying terrain, texture it, and plant it.

                Cheers,
                Adam

                Click image for larger version

Name:	Grab 2014-11-08 113106.jpg
Views:	1
Size:	155.9 KB
ID:	1060750
                ------------------------------------------------------
                Creating procedural world generation tools
                http://adamgoodrich007.tumblr.com/
                https://www.youtube.com/user/btektube
                http://about.me/adamgoodrich

                Comment


                  #9
                  Here is my progress for this week :

                  Click image for larger version

Name:	Grab 2014-11-12 071540 TGen2 Progress.jpg
Views:	1
Size:	245.1 KB
ID:	1060904

                  And I just ran up a quick scene in Unity 5 using SpeedTree assets:

                  Click image for larger version

Name:	Grab 2014-11-12 051347 Speed Tree Hack 1.jpg
Views:	1
Size:	120.4 KB
ID:	1060905

                  With a video here:

                  https://www.youtube.com/watch?v=ADwyUVhpnz8
                  ------------------------------------------------------
                  Creating procedural world generation tools
                  http://adamgoodrich007.tumblr.com/
                  https://www.youtube.com/user/btektube
                  http://about.me/adamgoodrich

                  Comment


                    #10
                    How is your project going for Unreal 4?

                    Comment


                      #11
                      Originally posted by Lateris View Post
                      How is your project going for Unreal 4?
                      Hi,

                      Its on hold at moment.

                      I didn't get any sort of response that indicated that it was feasible without jumping in deep to the source code of UE4, so have focused on Unity instead.

                      Here's something i did with Unity 5 and SpeedTree over Christmas. Its a combination of procedural and manual.



                      I will come back to UE after the Unity version is complete.

                      Cheers,
                      Adam.
                      ------------------------------------------------------
                      Creating procedural world generation tools
                      http://adamgoodrich007.tumblr.com/
                      https://www.youtube.com/user/btektube
                      http://about.me/adamgoodrich

                      Comment


                        #12
                        Don't understand why people aren't trampling each other to death in search of these types of features.
                        Either way, here's hoping this type of functionality shows up on the UE4 marketplace soon...
                        Last edited by UnrealEnterprise; 05-31-2015, 05:38 AM.
                        ----------------------------------------------------------------------------------------------------------
                        What are the BEST Unreal Tutorials / Docs? There are none tbh... Here's why
                        Instead its better to just take projects apart (see the free 'creators' listed here)

                        Comment


                          #13
                          Originally posted by franktech View Post
                          Don't understand why people aren't trampling each other to death searching for these types of features.
                          Either way, here's hoping this type of functionality shows up on the UE4 marketplace sometime soon...
                          Actually its coming along really nicely and will be in the store soon, if you like Unity that is

                          It's been built in a modular way, so at some point maybe I will port it to Unreal.

                          http://forum.unity3d.com/threads/wip...-input.327342/
                          ------------------------------------------------------
                          Creating procedural world generation tools
                          http://adamgoodrich007.tumblr.com/
                          https://www.youtube.com/user/btektube
                          http://about.me/adamgoodrich

                          Comment


                            #14
                            Cheers for the update ...
                            ----------------------------------------------------------------------------------------------------------
                            What are the BEST Unreal Tutorials / Docs? There are none tbh... Here's why
                            Instead its better to just take projects apart (see the free 'creators' listed here)

                            Comment


                              #15
                              You might want to revisit it with UE 4.8 being out. It might support what you need?

                              I am brand new myself and started looking into UE4 again after the Kite demo at GDC.

                              Comment

                              Working...
                              X