3D World Generation: Heightmap Tutorial
3D World Generation: Heightmap Tutorial
I started building out a 3d world generation project, with a goal of evolving this over a series of tutorials. We'll start this off with a heightmap tutorial, before moving on to more complex topics like procedural terrain generation, perlin noise and simplex noise, and infinite terrain generation in future tutorials.
This is a really deep topic in many directions, with opportunities to explore the procedural 3d world generation side of things with perlin noise and fractal brownian motion. We can iterate on generating terrain with oceans, rivers, and different biomes that reflect our own. We can look at planet scale and beyond with infinite terrain generation, or even modelling the planet as a sphere. There's also atmospheric scattering models, clouds, weather, and the potential for procedural plantlife.
This first video is a heightmap tutorial, where we cover the fundamentals of how to use a data source, like a heightmap, as an input to mesh modification.
Code's all available on github, take a look, fork it, use it, whatever.
What's covered:
* Mesh Generation
We cover using tessellated planes for generating terrain with height data.
* Heightmap Sampling
We cover the basics of manually sampling from a heightmap using bilinear filtering.
In the future:
This is intended to be part 1 in a series of tutorials on the topic of 3d world generation. I intend to explore the topic more deeply, looking at how to extend our terrain generator to include simplex and perlin noise, LOD's, infinite terrain generation. There's a lot we can explore here, but for now in the next tutorial I'll be going through simplex noise and perlin noise terrain generation with fractal brownian motion.
Github: https://github.com/simondevyoutube/ProceduralTerrain_Part1
#proceduralterrain #gamedevelopment
Видео 3D World Generation: Heightmap Tutorial канала SimonDev
I started building out a 3d world generation project, with a goal of evolving this over a series of tutorials. We'll start this off with a heightmap tutorial, before moving on to more complex topics like procedural terrain generation, perlin noise and simplex noise, and infinite terrain generation in future tutorials.
This is a really deep topic in many directions, with opportunities to explore the procedural 3d world generation side of things with perlin noise and fractal brownian motion. We can iterate on generating terrain with oceans, rivers, and different biomes that reflect our own. We can look at planet scale and beyond with infinite terrain generation, or even modelling the planet as a sphere. There's also atmospheric scattering models, clouds, weather, and the potential for procedural plantlife.
This first video is a heightmap tutorial, where we cover the fundamentals of how to use a data source, like a heightmap, as an input to mesh modification.
Code's all available on github, take a look, fork it, use it, whatever.
What's covered:
* Mesh Generation
We cover using tessellated planes for generating terrain with height data.
* Heightmap Sampling
We cover the basics of manually sampling from a heightmap using bilinear filtering.
In the future:
This is intended to be part 1 in a series of tutorials on the topic of 3d world generation. I intend to explore the topic more deeply, looking at how to extend our terrain generator to include simplex and perlin noise, LOD's, infinite terrain generation. There's a lot we can explore here, but for now in the next tutorial I'll be going through simplex noise and perlin noise terrain generation with fractal brownian motion.
Github: https://github.com/simondevyoutube/ProceduralTerrain_Part1
#proceduralterrain #gamedevelopment
Видео 3D World Generation: Heightmap Tutorial канала SimonDev
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![3D World Generation #2 (Perlin Noise)](https://i.ytimg.com/vi/U9q-jM3-Phc/default.jpg)
![Linked Lists vs Arrays, When They Suck, and When They Don't (Data Structures and Optimization)](https://i.ytimg.com/vi/34ky600VTN0/default.jpg)
![Atmospheric Scattering (and also just faking it)](https://i.ytimg.com/vi/JMUtQcJE2Pw/default.jpg)
![](https://i.ytimg.com/vi/gCrA-PoG1Bo/default.jpg)
![Three.js Lighting Tutorial (JavaScript) | Light Types Explained!](https://i.ytimg.com/vi/T6PhV4Hz0u4/default.jpg)
![I Tried Making a 3D RPG Game in JavaScript](https://i.ytimg.com/vi/SBfZAVzbhCg/default.jpg)
![Coding Adventure: Boids](https://i.ytimg.com/vi/bqtqltqcQhw/default.jpg)
![How Slow is JavaScript Really? JavaScript vs C++ (Data Structures & Optimization)](https://i.ytimg.com/vi/WLwTlC1R2sY/default.jpg)
![Why This 3D-Printed House Will Change The World](https://i.ytimg.com/vi/XHSYEH133HA/default.jpg)
![Procedural Plant Generation with L-Systems](https://i.ytimg.com/vi/feNVBEPXAcE/default.jpg)
![Loading Models (using Three.js) - Both Static and Animated!](https://i.ytimg.com/vi/8n_v1aJmLmc/default.jpg)
![3D World Generation #8: Floating Origins for Bigger Worlds (JavaScript/Three.js)](https://i.ytimg.com/vi/qYdcynW94vM/default.jpg)
!["metal-head in 6min" Mandelbuld3D - Heightmap Tutorial](https://i.ytimg.com/vi/TazVzkQgZ_s/default.jpg)
![3D World Generation: #5 (Texturing): Triplanar Mapping/Infinite Splatting/Blending/Bombing](https://i.ytimg.com/vi/rNuDkDhadfU/default.jpg)
![Spatial Hash Grids & Tales from Game Development](https://i.ytimg.com/vi/sx4IIQL0x7c/default.jpg)
![My First Blender 3D Artwork was TERRIBLE... Can I FIX IT?](https://i.ytimg.com/vi/7vn53QxlcRc/default.jpg)
![Superpositions, Sudoku, the Wave Function Collapse algorithm.](https://i.ytimg.com/vi/2SuvO4Gi7uY/default.jpg)
![Programming Perlin-like Noise (C++)](https://i.ytimg.com/vi/6-0UaeJBumA/default.jpg)
![Coding Minecraft in JavaScript](https://i.ytimg.com/vi/gRGtk8oF9hI/default.jpg)
![3D World Generation #7: Speeding it up via Threading (JavaScript Web Workers & Three.js)](https://i.ytimg.com/vi/a1L7k35EHIc/default.jpg)