Your lecture is not only technically excellent but also inspiring. At least for me, you will be remembered as one of the best artists of the 21st century.
@SuperchargedW123 жыл бұрын
Yeah. Look at his recent video. I watched it three times in awe of his extraordinary intellect.
@SandwichEmperor2 жыл бұрын
XD best artist of 21st century LMAO
@lemonke81322 жыл бұрын
best artist of the 21st century 💀 chill dude we're only 22% of the way through it
@Kenjuudo Жыл бұрын
@@lemonke8132 23%
@Riplatki10 ай бұрын
@@Kenjuudo24%*
@raslin2k8 ай бұрын
This video, around seven years ago, sparked my love of procedural generation, and even got me to start coding, wanting to fiddle with things. It popped up in my recommended feed and I just wanted to give some appreciation to Sebastian for helping me get into coding
@PetersKotstube8 жыл бұрын
I think that's the best video rating I've ever seen on youtube. 1504 - 0
@weisss946 жыл бұрын
Was macht peterskotstube hier??
@paulob.d.12105 жыл бұрын
Peter? Wat maschst du den hir????????????????????????
@kyraaa__5 жыл бұрын
Help the Germans are coming!
@dataexpunged39145 жыл бұрын
Skycloud zu spät
@dataexpunged39145 жыл бұрын
verdammt wenig deutsche antworten hier.
@dmaasin233 жыл бұрын
Too many wasted searches to find procedural generation, until I found this treasure. Well done sir, it's very clear and understandable. I'm gonna implement this later.
@javiercalderonmarquez11818 жыл бұрын
This is one of the best tutorial series I've ever seen. Thank you so much for this useful information
@eggseatpegs7 ай бұрын
8 years old and still a fantastic video
@Ctlyst06 ай бұрын
just asking, does it still work in newer unity version?
@eggseatpegs6 ай бұрын
@@Ctlyst0 probably not so i just download the version he is using
@Ctlyst06 ай бұрын
@eggzeatpeggz oh okay i see. I was currently on part 10 and so far so good
@karoel1233 жыл бұрын
my teacher send me this playlist and now I have 2 weeks to implement this in opengl, wish me luck
@HeyItsBoofy3 жыл бұрын
so, how'd it go?
@aurk99563 жыл бұрын
how'd it go
@nutme3 жыл бұрын
he ded
@G4M5T3R3 жыл бұрын
@@nutme F
@Someoneyeeted3 жыл бұрын
@@nutme F
@upgames13135 жыл бұрын
I remember watching this video over 2 years ago while starting to dabble in procedural generation. It opened my eyes how cool and amazing programming and math can be and I haven't looked back since. Thank you for this amazing piece of education and for inspiring me in my journey to learn programming. ps. it's my third time watching the series and I'm still learning more from it!
@lcarusLives8 жыл бұрын
I am so hyped for this - hopefully I'll have the time to tag along with this series. Looking forward to it, cheers!
@ulur3 жыл бұрын
By far the best video on KZbin about procedural landmass generation!
@kristianthaler65253 жыл бұрын
That fly-over at the start with reflections on the water and all really made me want to learn. And your simplistic explanations are extremely helpful. A+
@williamdowling77183 жыл бұрын
This is the highest quality science concept/math/programming/simulation content on KZbin. Anyone who disagrees can fight me.
@adamarzo5598 жыл бұрын
You always come through with high quality informative tutorials. Definitely one of the better Unity tutorial channels.
@ealy354510 ай бұрын
great introduction. it's nice to see what exactly we are gonna do and get before we start instead of just jumping in a tutorial where you only see the result at the end.
@John-kl8jt5 жыл бұрын
Outstanding tutorial. Excellent knowledge of both programming and unity.
@medoingnerdstuff Жыл бұрын
Just wanted to say thanks for this. It's brilliantly easy to follow and has helped me to understand why, when I followed other tutorials on the subject, things weren't working.
@N0tVen0s9 ай бұрын
Oh my god, man you are so cool, even after 8 years this tutorial is the best, thank you so much you are the best too)
@splintercat7gaming5 жыл бұрын
This is a really good explanation of Perlin Noise. I had to research this on my own some months ago. This makes it seem so easy. Thanks.
@filipv4u8 жыл бұрын
Man I love all your tutorials you're spot on. I'm really looking forward to this one. I would also be really interested in how you would create biomes or caves and place trees or other items in the world, and what we can do to control the generation.Cheers!
@thecakeredux4 жыл бұрын
It's been four years, but I can give you a quick, yet unspecific answer: As long as your algorithm is deterministic, you can use it to do whatever you like. Pathfinders, for example, can be used to generate caves, all you need is specify the condition that needs to be met in order for two points to be connected and what condition has to be met for the pathfinder to consider a point as an obstacle to get around, and you can generate caves. Biomes can be created, again, by perlin noise. There is no reason why perlin noise would only dictate height, it can just as well dictate biome.
@regfinley71112 жыл бұрын
Sorry this turned out to be a bit of a novel. So I started this tutorial about 2 or 3 years ago and nailed it! I cant say enough how much I appreciate it. I was a bit bummed out when I notice no water was included. A few years later I decided to tackle the issue my self and put it on the back burner (I got stuck). And dare I say I recently got it working but the only problem is the water is not effected by the lod system due to the Texture2D heightmap generation. So water in the distance is the same as up close which is a minor cost that I will have to pay ;). I kept a eye on the profiler and it runs at a consistent 60 to 100 frames on a 8gig laptop with a gtx960. The problem I was having was when the seams for the terrain mesh are stitched together. Long story short my solution was to duplicate the entire process then insert the word "water" to each script that was used for the mesh generation. I then used a water tile plane as the "mesh container" instead of generating a texture2d with perlin noise. :) I noticed that I was getting errors due to a HeighMap which I changed to WaterMap and it always returned null. And I couldn't figure it out until I commented out the if statement inside of UpdateTerrainChunk() which I changed to UpdateWaterChunk() at if (lodIndex != previousLODIndex) along with one of the last lines of the script at ThreadedDataRequester.RequestData So everything is visible and hidden when it is needed but the lod always stays the same. Not a huge deal as I am Ok with what is happening in the profiler. I realize this is a old tutorial but I don't care. Thank you! thank you! thank you! I will post a video on my personal channel if anyone is interested in seeing how I did it. :)
@jairussorensen15262 жыл бұрын
For those of you wondering, this whole series still works in 2022.
@ChunkyPotatoGobrr Жыл бұрын
thanks man legend
@justchuck84085 ай бұрын
still works in 2024
@SKRUBL0RD8 жыл бұрын
That was really informative. I thought Perlin Noise was above my head but you just explained it very well. Thanks!
@Dorbellprod3 жыл бұрын
No more Muck. Just follow and appreciate the tutorial series.
@conrad3o63 жыл бұрын
ayyy I've seen you before :D
@conrad3o63 жыл бұрын
and as a dani's basement staff i agree 😔
@Dorbellprod3 жыл бұрын
@Kesbot 306 😔😔😔 Anyway hello! :D
@ineeda12step923 жыл бұрын
Count me in on Patron. You produce superb tutorials and I very much appreciate you sharing your knowledge in a way that I can absorb. Please keep up the great work!
@Sycenx8 жыл бұрын
I never comment on videos, but these are so incredibly good that I have made an exception. Love it!
@peteconquer7 жыл бұрын
This is one of the best tutorials ever.
@clemguitarechal3 жыл бұрын
Most useful short video ever about noise !
@pandacommando35405 жыл бұрын
This is by far the best explanation of heightmap noise I have ever seen. Thanks! :)
@mj20688 жыл бұрын
awesome tutorial. i didn't get much education, but i always wanted to programming. lucky for me, with the mighty power of the internet and people like you, sir, Sebastian Lague, i think, my dream might come true. what do you say, my friend. :) (apologize for my poor English. big THANK YOU all the way from China. )
@EnricoPietrocola8 жыл бұрын
That's some signal processing theory explained perfectly in 3 minutes, can't wait for the other videos
@iansarmiento234 жыл бұрын
Dude, I've been researching Perkin noise and you just explained it like simple maths
@Foub12348 жыл бұрын
I watched your pathfinding series and was blown away. I am really excited for this series and hope to learn a lot on this subject so I can implement a feature like this in my current project
@vezmo75008 жыл бұрын
Nice! I was actually looking for Perlin noise for a camera shake pattern! This series will probably help me understand the theory about it
@TylerFerraro8 жыл бұрын
Your videos are always the perfect balance of theory/concept and actual code. Keep up the great work, looking forward to watching this series unfold.
@ezoray2 жыл бұрын
This was a breeze to incorporate into my project, mucho thanks.
@mrpotato8196 Жыл бұрын
soo many episodes o_o LOOKIN FORWARD TO IT! I got an idea to make a system in which you make your own noise map, step 1-Learn terrain generation Step 2- Find a way to make a custom noise map
@17devstudio38 жыл бұрын
That's exactly what I needed. Thank you
@ristolaukkanen53248 жыл бұрын
+17Dev Studio Same here
@xXWhatzUpH8erzXx8 жыл бұрын
Sebastian, you're by far the best KZbinr when it comes to making Unity tutorials. Anytime I see a new video on your channel, I get so pumped! You just post the best ideas.
@kalixzee75052 жыл бұрын
I was super inspired to start going through this series and after watching this video I decided I need to go and learn more about curves. I remember briefly talking about Amplitude and Octaves in high school. But it's been a while and all these terms are confusing me. You have an excellent teaching style though. I'm afraid I'm just a bit behind.
@wexoriann8 жыл бұрын
never thought that procedural generation works with this principle nice explanation, nice intro
@Badders19775 жыл бұрын
Absolutely fascinating. Thank you.
@xylonbeta45176 жыл бұрын
very informative, always wondered what happened behind the scenes of these fractal landmass generators. Now, to add small tectonic "history" to it
@NeilRoy7 жыл бұрын
Very nice idea. It reminds me a lot of combining sound waves to produce different sound effects.
@mohamedsalbi27593 жыл бұрын
Omg man this guy is an angel to me
@GodVenn5 жыл бұрын
Your videos are really clear, well explained and interesting. I love them, please keep'em coming!
@Strongfinger777 Жыл бұрын
Important Things you should know before starting this Tutorial... 1. There are script changes missing in some of the videos that can cause you headaches. You will need the source code he provides in the notes to compare to your own from time to time. 2. He breaks the Falloff Map feature at the end when he reorganises all of his scripts. It no longer affects the terrain mesh. 3. Everything to do with textures in this tutorial will be useless for a lot of developers, because he hard codes his system to only use the One Shader we create during the lessons. And the Shader in question only supports Albedo maps. No Normal maps or Specular maps, like Roughness, leaving the textures looking very flat, boring and retro. EDIT: 4. He breaks the Terrain cleanup at the end too. He really should playtested his changes at the end.
@alrogast Жыл бұрын
Thanks for the warning. Excellent tutorials, based on them I made the generation of a limited world from chunks. But then I don't understand at all what to do with texturing the world. Could you give advice on which way to look, or there may be links to tutorials on texturing meshes. Thank you.
@Strongfinger777 Жыл бұрын
@@alrogast No worries. Unfortunately I just stuck with one built in material with one texture with normal map and roughness, which you can still apply with this system. I just threw out all the texturing and the shader from this tutorial and plugged a preferred material into it, which will still work. But its only one texture over the whole landscape. It works fine for my game, because its set in hell and looks all volcanic, but unfortunately for an earth like world its not appropriate. I tried adding normal map support Sebastians very basic shader, but I couldnt figure it out. Sorry m8. I dont know what else to try. Hollistic 3D has a couple of tutorials that uses a very similar technique for texturing, but its for actual Unity Terrain, not anything else. But at least it had normal map support. :) Oh, another thing Sebastian breaks at the end is the terrain cleanup. Bits start getting left behind again. I dont why he didnt playtest the play mode at the end. Programmers should never assume their code is just going work.
@eldenisrael12337 жыл бұрын
I come from china,Thank you for your course!Benefited from it,Thanks again。
@chewysnipes63764 жыл бұрын
Thank you very much for your tutorials on this subject. The subject matter was great; the presentation was ok. You move very quickly through some topics, often deleting or renaming code in less than a second and immediately scrolling away from what you just did, which makes coding along with you rather tedious, with having to stop and rewind the video to see what you had just done. But all-in-all, a very good tutorial for beginners, and I will continue to follow you to see what else you might come up with. Thanks again.
@77DragonSlayer953 жыл бұрын
Thank You VERY MUCH for putting French Subtitles !!! My English is not good enough yet for me to catch every specific terms related to programming.
@ZionistHunter998 жыл бұрын
im itching for this series...itching
@beepisinthezipper95038 жыл бұрын
Always wanted to know how to do this. Can't wait for more videos.
@2011jiqbal8 жыл бұрын
wow.... u are such a good teacher... thank you so much for sharing this awesome post
@Pumpk1nGn4t2 жыл бұрын
This video : Exist Dani : D O N T M I N D I F I D O
@luisramosdev8 жыл бұрын
Jesus, so well done! What a great explanation, can't wait for the next one!
@MakeWithData8 жыл бұрын
This is awesome! I really enjoyed the more mathematical analysis, and I can't wait for the next part!
@Youshisu4 жыл бұрын
Dude, that was most practical use I have found on YT today :D
@LoopCoupe3 жыл бұрын
Wow That Was Really Cool
@TheGamerzXChannel8 жыл бұрын
Awesome! Keep them short and stuffed with information!
@QuickFingersGames8 жыл бұрын
really great job man, really clear voice recording, and a great explanation of what additional octaves do in proc gen, will be watching this series :)
@deezle86663 жыл бұрын
Very nice and helpful serie ! I'd like to go further by inplementing biome generation but i don't know how to do it. I've thought about creating other noiseMap with different parameters (like FallofMap) but i struggle makin this spawn randomly on the terrain and not in only one chunk. Thanks for the help
@tacopacopotato66198 жыл бұрын
great video, youtube needs more stuff like yours
@geekygamer39544 жыл бұрын
If anyone needs help with understanding this video, try ignoring the red graph. Imagine each octave layer as separate land generations. all that's happening is it's adding the value from the graph, onto the main grid. and the "lacularity" is how much each value is. and each curve. is how much the value goes down. the more curves, the less impact it has because when you hit enough curves, it balances out and becomes an average value. note: lacularity also scales down the graph. so basically its like you're compressing a spring. laid out, the spring is very long and can go very up or down, but compressed it becomes a straight line. persistance is just the multiplier. it multiplies how much each value occurs. it takes the coil, and repeats it. for example, if you have the number 16. with default layering, the single square value is (x + 16). with persistance, it's (x + y(16)) you multiply the 16 by the persistance.
@geekygamer39544 жыл бұрын
for basic understanding (without persistance or lacularity), the graphs are litterally added together. combining the graph: y1 + y2. take the first graph's value and add it to the second graph value. it's supposed to represent the graph getting darker as it gets closed to 1.
@petrkassadinovich27058 жыл бұрын
Thank you Sebastian!
@dougwarner596 жыл бұрын
Even though you never explicitly said so; I assume that persistence should be less than one and Lacunarity should be greater than one to obtain the desired results. Anyway great video and I can't wait to learn more.
@IvanPaulovichDotNet3 жыл бұрын
This series is so incredible, well explained, funny that I can't stop waiting for more. BTW I am using the ideas from here into a game made with Swift+Metal. Thank you!
@animusqt8 жыл бұрын
this is great always like watching ur tutorial videos cant wait for it
@BastienGIAFFERI8 жыл бұрын
Another awesome tutuorials/courses incomming !
@GregoryTheGr8ster4 жыл бұрын
I was messin' with this subject in 1994. Sadly, the AI that my game needed was an insurmountable challenge, so I abandoned it. Still, I regret that I did not continue to work on the terrain generation feature. Also, I realized that if I want truly natural terrain, I'd need to become a geologist. I'd need to know densities and other physical properties of the Earth's crust, and also the forces that act upon the crust. That would be a big task.
@BurakkuHishou5 жыл бұрын
Just picked up Quixel mixer and i noticed these on there. It's great to finally have a way to understand each value.
@migueld79168 жыл бұрын
That's exactly what I was looking for! Subscribed!
@aquavitale35517 жыл бұрын
God I've been searching for such an advanced level tutorial for months! Thanks, mate, great course!
@perhaps57392 жыл бұрын
untill then, cheers! me watching this 6y after it was released: oh boy I can't wait
@redletterdays85342 жыл бұрын
Not sure if this is being monitored anymore, but I'd like to find a way to generate a whole new landmass with a keystroke. I'm sure I can figure it out through research, but thought it would be easier just to ask first on the off chance there's an easy answer. Thanks for such an amazing set of lessons... I'm having a great time learning from the series and the projects...
@bennet42138 жыл бұрын
You have the best Tutorials Man , Thanks For The Good Work :)
@darkscorpio81665 жыл бұрын
these graphics are amazing I wanna play this
@ConnorMoody8 жыл бұрын
Love what you're doing, keep up the good work Sebastian! :)
@indoxperia8 жыл бұрын
Really cool tutorial series
@Owl902 жыл бұрын
Amazing content. Thank you!
@alek34744 жыл бұрын
Very good explanation
@pokemrstark70892 жыл бұрын
I know nothing of what's being discussed her and know not why this is recommended to me after 6 years....
@Zvrra Жыл бұрын
I never did figure out how to "save" the generated terrain. I'm going back through them all though.
@danh96765 жыл бұрын
I want to make sure I have this right. Octaves is essentially the number of layers. Lacunarity is essentially the scale of that layer(octave) Persistence is like the opacity of that layer(octave) Is that correct?
@gaz0z5 жыл бұрын
If you are to additively combine those 2D layers of height maps in an image processing software. Yes, those would be the exact parameters you'd be playing with.
@riguidixrodriguez10905 жыл бұрын
It's an amazing concept of logic and sense of the world, this is what i love Programming, i gladly thank you for giving "purpose" to a little dizzy head xD, i would take Oriented Object and try all the concepts i can know in m daily basics.
@sanspressions6 жыл бұрын
Merci beaucoup Sebastian
@lordlutti47158 жыл бұрын
this is very interesting and helpful! I cant wait for the next video! really great stuff!!
@NotPalliot Жыл бұрын
Cool! Now to figure out how to add this to my game
@AaronTheGerman8 жыл бұрын
I can't wait for the next part!
@KaletheQuick8 жыл бұрын
Perfect. just what I was looking for.
@nolan__c95624 жыл бұрын
This guy has a similar art style to astroneer, cool!
@077tutti Жыл бұрын
Would love to see this but with Wave function collapse instead of perlin noise.
@SlayPlenty5 жыл бұрын
So how would DOTS or ECS be applied on this?
@Xelvielll6 жыл бұрын
You are now my God, and I shall worship you and pay tribute to your altar.
@a7medgameryt3492 жыл бұрын
Thx to seb and abdullah for the arabic captions (cc) :)
@GamersGoneExtinct8 жыл бұрын
Great that's almost what I need but there is a small problem I need it as a endless map (or very big) whit out oceans I can have only lakes. PLS HELP!!!
@mitchw68838 жыл бұрын
Been looking into procedural generation and perlin noise to generate height maps for terrains recently and I think this series is exactly what I have been looking for! Also it looks like you textured the terrain by giving individual polygons a color based on their height or noise value, if this is what you used then I looked into it but couldn't find no solution
@Siausalas8 жыл бұрын
Awesome video!
@dionbridger59445 жыл бұрын
Excellent stuff
@BigPapochka123 жыл бұрын
Спасибо что сделал перевод на русский!!! Im from Russia!)))
@dark_teddy2 жыл бұрын
Hey, can you make a video for procedurally generate objects. Like trees and grass.
@Neronix178 жыл бұрын
I was literally just looking into adding this to my project yesterday, so awesome timing. I don't suppose you're covering how to include prefab assets on the terrain? I don't mean generating them like the terrain though, I mean like a predefined object in a specific set of coordinates and having the generation accommodate that object with the correct height of terrain.
@adamevans13128 жыл бұрын
Just a guess but after your noise maps are generated, edit the value for the area you want effected to a constant in a circle radius or something along those lines.