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 10 หลายเดือนก่อน +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!

    • @TNTCProject
      @TNTCProject  ปีที่แล้ว +1

      Yay, share your results!

  • @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

  • @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? 😅

  • @WelshGuitarDude
    @WelshGuitarDude 7 หลายเดือนก่อน

    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

  • @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 11 หลายเดือนก่อน

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

  • @amolnk
    @amolnk 11 หลายเดือนก่อน

    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?

  • @aaaalord
    @aaaalord 9 หลายเดือนก่อน

    How can we bake it at runtime ?

  • @brendancopot1025
    @brendancopot1025 10 หลายเดือนก่อน +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 7 หลายเดือนก่อน

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

    • @jprice3486
      @jprice3486 หลายเดือนก่อน

      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.

  • @ha7anali313
    @ha7anali313 ปีที่แล้ว

    Way Way Better Than TH-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 ❤

  • @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.

  • @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 :)

  • @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?

  • @kmsskyquake7330
    @kmsskyquake7330 ปีที่แล้ว

    HOLY FUCKING SHIT , THIS IS SO GOD DAMN BEAUTIFUL

  • @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 11 หลายเดือนก่อน

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

    • @KoopaTheQuick3
      @KoopaTheQuick3 11 หลายเดือนก่อน

      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 11 หลายเดือนก่อน

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

    • @tvrtkokaurinovic7370
      @tvrtkokaurinovic7370 8 หลายเดือนก่อน

      Can you share your code if you succeeded

  • @zes7215
    @zes7215 6 หลายเดือนก่อน +1

    wrg

  • @mathiskunzel8616
    @mathiskunzel8616 ปีที่แล้ว +3

    Please give us the source code :)