Procedural Generation in Unity

Поділитися
Вставка
  • Опубліковано 16 бер 2023
  • Join us on this PCG adventure and learn how to create unique and interesting experiences with procedural generation!
    We'll discuss the key differences between procedural and random generation, and how to use randomness to your advantage. We'll also demonstrate how to use a parametric approach to generate a procedural room for a fantasy dungeon, and show you how to render it using the "DrawMeshInstanced" API.
    Above all, this video aims to intrigue you and to show how you can think and design procedural content.
    Also, please note that for demonstration purposes, some error checking and optimization steps have been omitted from the code shown in the video.
    Useful resources:
    Practical Procedural Generation for Everyone - • Practical Procedural G...
    Kate Compton - Let It Grow: Practical Procedural Generation From The Ground Up [PROCJAM 2015] - • Kate Compton - Let It ...
    Procedural Building Generation with Grammars - • Procedural Building Ge...
    DECORATE 3D DUNGEON - www.archmagerises.com/news/202...
    Procedural Buildings, Board To Bits Games -
    • Procedural Buildings, ...
    Real-Time Monster Evolution -
    • Real-Time Monster Evol...
    Used asset for the room:
    kaylousberg.itch.io/kaykit-du...
    Discord:
    / discord
    secret: MILESTONEREACHED
  • Ігри

КОМЕНТАРІ • 40

  • @iHeartGameDev
    @iHeartGameDev Рік тому +24

    What a wonderful introduction to the subject! Loved the video 😍 Thank you both for putting it together!

    • @TNTCProject
      @TNTCProject  Рік тому +1

      Thank you so much, Nicky, appreciate it!

  • @n00bslayherttv92
    @n00bslayherttv92 11 місяців тому +2

    Thank you. the style in which you explain and then pause so we can look and understand is really appreciated thank you subscribed!

  • @LifeCodeGame
    @LifeCodeGame Рік тому +1

    Wow, this looks like a great way to create some really cool and unique experiences! Can't wait to see what I can come up with!

  • @dreamisover9813
    @dreamisover9813 Рік тому

    Intersting topic and video! I've done some procedural mesh generation in Unity before, but only really light stuff. There are many amazing projects and assets though out there which always impress me

    • @TNTCProject
      @TNTCProject  Рік тому

      Thank you :) What kind of stuff did you do?

    • @dreamisover9813
      @dreamisover9813 Рік тому

      @@TNTCProject For example generating a slightly curved track for an endless runner type of game, so it curves a bit in random directions to make it feel a bit more varied. There weren't many rules, each track segment was just a rectangle made out of 2 triangles to have a certain width and length, it followed a path that would often change its angle slightly in a random direction.

  • @user-il9qe5kc7n
    @user-il9qe5kc7n Рік тому

    Amazing! can you explain more about the monster part? and how i can create it

  • @ChokeHammer
    @ChokeHammer 11 місяців тому

    This is a brilliant tutorial; really helped motivate me! Thank you! ^.^
    One question though, how does one get this to work in URP? It appears drawmeshinstanced does not work with custom shaders in URP, and instead just doesnt render any of the meshes. Any advice? 😅

  • @bigjermini
    @bigjermini 9 місяців тому

    Do you have the full code to share? I'd like to learn more on this and be able to use it.
    Some things I don't understand is:
    How are you calling "create walls and render mesh"? Not in update as it would constantly keep trying to build it.
    as well as some of the variables

  • @ha7anali313
    @ha7anali313 Рік тому

    Way Way Better Than UA-camrs Bro Thanks

  • @elenagalloni9146
    @elenagalloni9146 Рік тому

    Wow I really loved those dungeons! I'll try on my own, adding some procedural dragons 😏
    Also, the horned monster is super cute ❤

  • @amolnk
    @amolnk Рік тому

    Can we use houdini to create such systems? I had created procedural systems using geometry but, for now at least, unity does not let me import the node system from blender. Does houdini work?

  • @WelshGuitarDude
    @WelshGuitarDude 8 місяців тому

    I'm struggling with uvs when it's a curve.. How the heck do you make correct uvs for curved meshes especially if the curve is longer or shorter than default uv length such as a fractional part to the length of the mesh

  • @brendancopot1025
    @brendancopot1025 11 місяців тому +1

    This video really helped me improve the project I'm currently working on, it was very educational and inspired me to research more into instanced meshes. I was wondering how you would handle adding colliders to your walls and other meshes instanced in the scene as I am struggling to find any resources online about this.

    • @jingkai6730
      @jingkai6730 8 місяців тому

      it could be already part of the prefab in the possible Objects list

    • @jprice3486
      @jprice3486 2 місяці тому

      I'm wondering the same thing also, I am looking into adding compound colliders on top of the meshes using the same m4x4 data, but this method seems like it would be taxing on performance.

  • @1JMGames
    @1JMGames Рік тому

    Amazing video bro! Keep it up! You should make a step by step tutorial on how to do this!

    • @TNTCProject
      @TNTCProject  Рік тому +1

      Thank you!
      Maybe, but I don't want to be tedious

    • @1JMGames
      @1JMGames Рік тому

      @@TNTCProject i for one would love it! Good luck on your next video!

    • @ObsessiveGames
      @ObsessiveGames Рік тому

      @TNTC I personally really want to create the procedural generation like you did with the walls streching the way you did it. I am going to go through your videos in hopes of achieving this. I will jump in your discord and if there is any more pinpoint videos you can point me to, then I would love that!
      Thank you for this video, was so great watching it through.
      Also maybe even if you just have the git repo for how this was achieved as a sample would really be helpfull 😁
      Edit: I just tried joining your discord link on your banner, it says the link has expired. Could you update it please :)

  • @SketchpunkLabs
    @SketchpunkLabs Рік тому

    What math did you use to warp a mesh on a curve for the roller things? it had a ui with a "curvature' value. Curios how you curved the red rails with the silver rollers

    • @TNTCProject
      @TNTCProject  Рік тому

      Well, the rollers (cone sections) are instantiated meshes, just like the wall of the room. Each red rail, however, is a single generated mesh. For each roller, we created a point and generated a basic mesh around it. We used the same technique in our procedural ivy video.

  • @aaaalord
    @aaaalord 10 місяців тому

    How can we bake it at runtime ?

  • @kmsskyquake7330
    @kmsskyquake7330 Рік тому

    HOLY FUCKING SHIT , THIS IS SO GOD DAMN BEAUTIFUL

  • @user-zs9cl2to3x
    @user-zs9cl2to3x 2 місяці тому

    Great video, however what I entirely don't understand at all is why not to publish a code somewhere in github?

  • @therealpeter2267
    @therealpeter2267 Рік тому +1

    Awesome vid bro, but... who uses camelCase in c# for functions? 😭

    • @TNTCProject
      @TNTCProject  Рік тому

      Thank you!
      Hahaha, everyone should, don't let me even start to talk about code convention :P
      ~ Erik

  • @Raccoon0710
    @Raccoon0710 Рік тому +1

    Can you please share the code?

    • @Raccoon0710
      @Raccoon0710 Рік тому

      Actually I have developed wall generation and circular wall generation in those 3 hours :) but I don't understand so far: how did you bend meshes for circular house. Did you subdivide that mesh in blender and bend it in code?

    • @KoopaTheQuick3
      @KoopaTheQuick3 Рік тому

      @@Raccoon0710 what data structure is used for things like room and wall size?

    • @KoopaTheQuick3
      @KoopaTheQuick3 Рік тому

      Nevermind. I figured that part out. Now I just need to figure out how to reflect the results properly to get 4 walls instead of 2

    • @KoopaTheQuick3
      @KoopaTheQuick3 Рік тому

      @@Raccoon0710 I'm completely stuck on the createFloor function. Any help would be greatly appreciated

    • @tvrtkokaurinovic7370
      @tvrtkokaurinovic7370 9 місяців тому

      Can you share your code if you succeeded

  • @zes7215
    @zes7215 7 місяців тому +1

    wrg

  • @mathiskunzel8616
    @mathiskunzel8616 Рік тому +3

    Please give us the source code :)