Procedural Generation in Unity

Поделиться
HTML-код
  • Опубликовано: 28 дек 2024

Комментарии • 46

  • @iHeartGameDev
    @iHeartGameDev Год назад +31

    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!

  • @fantasm0-
    @fantasm0- 20 дней назад +2

    You've earned a like and subscribe. Good little tutorial / intro to PCG.

  • @n00bslayherttv92
    @n00bslayherttv92 Год назад +2

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

  • @ha7anali313
    @ha7anali313 Год назад

    Way Way Better Than RUclipsrs Bro Thanks

  • @LifeCodeGame
    @LifeCodeGame Год назад +2

    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!

  • @amolnk
    @amolnk Год назад +1

    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?

    • @gameDev-is9ly
      @gameDev-is9ly 5 месяцев назад

      For both of them there's some plugins that help you import this asset's

    • @amolnk
      @amolnk 5 месяцев назад

      @@gameDev-is9ly do you know what plugin it is for blender?

    • @gameDev-is9ly
      @gameDev-is9ly 5 месяцев назад

      @@amolnk Houdini have their own plugin for unity if you search in RUclips you'll find it , and for blender geometry nodes the plugin is called " B engine " the Channel of inspiration tutors made a video about it

  • @WelshGuitarDude
    @WelshGuitarDude Год назад

    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 Год назад +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 Год назад

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

    • @jprice3486
      @jprice3486 9 месяцев назад

      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 Год назад +2

    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 Год назад +1

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

  • @bigjermini
    @bigjermini Год назад

    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

  • @aaaalord
    @aaaalord Год назад

    How can we bake it at runtime ?

  • @dreamisover9813
    @dreamisover9813 Год назад +1

    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.

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

  • @marcusmartinez423k
    @marcusmartinez423k 6 месяцев назад +5

    using System.Collections.Generic;
    using UnityEngine;
    #if UNITY_EDITOR
    using UnityEditor;
    #endif
    public class RoomGridGenerator : MonoBehaviour
    {
    public int gridRows = 10; // Number of rows in the grid
    public int gridColumns = 10; // Number of columns in the grid
    public float gridHeight = 0.1f; // Height at which the grid is drawn
    private FloorPlanGenerator floorPlanGenerator;
    public List gridPositions; // List to store grid cell positions
    void Awake()
    {
    floorPlanGenerator = GetComponent();
    gridPositions = new List();
    }
    void OnDrawGizmos()
    {
    if (floorPlanGenerator == null || gridRows

  • @ПавлоК-з9н
    @ПавлоК-з9н 9 месяцев назад +2

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

  • @ChokeHammer
    @ChokeHammer Год назад

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

  • @simonstabbryndum8854
    @simonstabbryndum8854 Месяц назад

    I don't understand how to it can anyone help me :(

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

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

  • @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 Год назад +1

      Can you share your code if you succeeded

  • @אורימימון-ע3ה
    @אורימימון-ע3ה Год назад

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

  • @mathiskunzel8616
    @mathiskunzel8616 Год назад +11

    Please give us the source code :)

  • @zes7215
    @zes7215 Год назад +1

    wrg