Giter Site home page Giter Site logo

Comments (4)

IceCreamYou avatar IceCreamYou commented on July 23, 2024

Glad you're interested in the project!

I just committed a new "steps" feature that makes an attempt at this. Try playing with it in the demo viewer and see what you think. It goes pretty well with the Simplex method and the EaseInOut filter. (Try increasing the maxHeight to get a better effect.)

The way this works is it does a filtering pass that takes the output from other terrain generation functions and divides it into levels.

I can think of two other approaches:

  • Something I call "feature picking," which is the idea of picking a random location and placing some kind of feature there like a mesa or hill. This seems to be a good starting candidate for mathematically modeling a mesa
  • Coming up with a method that could create "faults" along which significant height changes could occur, probably by using some variation on Brownian walks. This is nontrivial and probably not a lot better than what I just implemented.

I'll probably implement something that looks like the first approach at some point. 😃

from three.terrain.

erichlof avatar erichlof commented on July 23, 2024

@IceCreamYou
Wow thank you so much Isaac! The new steps feature is exactly what I was looking for! Playing around with the settings I was able to create mesas (that stick up like mountains, Monument Valley style), stepped layers (Grand Canyon style), and fault-line canyons with a smooth, flat top shelf that erodes down to another flat ground (Canyonlands NP style). Maybe a river could be placed on the bottom flat-shelf or ground level.

But in any case, this is really cool! Back in 2001 I made a terrain artillery-style game in OpenGL in C for Windows, called Virtual Bombard. Here are some old screenshots from my game:

Just messing around with Math.sin, .cos, .tan, etc I was able to get some pretty neat random terrains. But your terrain project goes way past what I was able to do just tinkering around with random trig functions. I wanted to re-do this game using Three.js and now I actually have access to an awesome terrain plugin!

Thanks again - I'll keep checking back for more updates. :)

from three.terrain.

IceCreamYou avatar IceCreamYou commented on July 23, 2024

Glad it's working for you! I'll look forward to seeing what you make 😃

It's also worth noting that the Steps filter is composable, so you can mix it in with other algorithms like DiamondSquare using THREE.Terrain.MultiPass if you want results to be a little less flat.

from three.terrain.

erichlof avatar erichlof commented on July 23, 2024

Oh I hadn't thought of that - thanks for the tip! :)

from three.terrain.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.