250,000 Random HexGrid Tiles in Unreal (UE4/UE5)

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ย. 2024

ความคิดเห็น • 55

  • @knifeninja200000
    @knifeninja200000 11 หลายเดือนก่อน +2

    so glad you took the time to explain what instanced meshes are

  • @murnoth
    @murnoth 2 ปีที่แล้ว +4

    I don't know whether its that I know more now than months back, your common accent, or how well you explain and cover all this, but you are extremely helpful

    • @stayathomedev
      @stayathomedev  2 ปีที่แล้ว

      Thanks! Glad it's helpful!

    • @murnoth
      @murnoth 2 ปีที่แล้ว

      @@stayathomedev would you happen to know how I might be able to pair-up my grid tiles with an adjacency matrix to practice path algorithms on? Not for anything specific, I just want a way to visually see a shortest path highlighted and I'm just trying to get some kind of system to cross it over to tiles.

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

    Great video series. It's refreshing that you actually explain how the engine works and how to optimize. Most videos I see are hacky approaches which is annoying as beginner trying to learn the proper way to do things.

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

    Thank you! Worked great and I'm learning a lot. Gonna plow throw this series and see what I can achieve

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

    this comes really handy! thanks very much for the video!

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

    very nice, i work procedural workflow in blender and want to switch to and be able to create in unreal. unless there will be a way to transform geometry nodes system into unreal engine,
    until then, these videos are so helpful, thanks a lot, way you explain is clean and on point.

    • @stayathomedev
      @stayathomedev  2 ปีที่แล้ว

      Hey! Thanks! Glad you are finding them helpful. There are some procedural mesh nodes available in Unreal to construct meshes at runtime. You obviously have way more control in C++, but there are ways to procedurally generate geometry.

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

    Any chance you could also do a tutorial on how to make the really pretty water & grass materials like you did ~ 8:59?

  • @reiserthomas
    @reiserthomas ปีที่แล้ว +2

    @stayathomedev , great video. But there is one thing I don't understand as a UE newbie.. Where is BP_HexTile used exactly? BP_HexGrid uses the HexTile mesh to render the grid and I don't understand where I can use the BP_HexTile to manipulate the single tiles.

    • @Bloodwurm74
      @Bloodwurm74 10 หลายเดือนก่อน +1

      I think you are meant to drop the BP into your level directly. That's what I've been doing anyways. Since he builds the BP through the construction script, just dropping it into the level is enough to make it work. If you'd like the grid to not always be there, you'd probably want to find another way to spawn the BP in your logic. Hope this helps.

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

      @@Bloodwurm74 no it doesnt work I dont know how the BP_HexTile and the BP_HexGrid are connected

  • @łłłł-s2x5i
    @łłłł-s2x5i หลายเดือนก่อน

    Are there any tipps to further improve the peformens after 4200 tiles it needs quit a few sec to load and if I make like 10k I get no responce from UE

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

    So, I tried the changing the material color based on height, but it doesn't change the hex colors. I was asking on the Unreal discord, & someone was saying something about making sure a dynamic material instance was created at run time? Any idea what I could be doing wrong here?
    My elevation parameter also had a default value box underneath, could that be related?

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

    Lunch break over... Video is finished and just one bug... My instanced meshes are really small and I don't know why.

    • @stayathomedev
      @stayathomedev  2 ปีที่แล้ว

      Hey! Check the scale of the instanced meshes in the BP, both the parent object and the instances. Then check the size of the actual mesh being used. If you head to the discord server, you can send a screenshot and I'll help the best I can.

  • @chriss-fox
    @chriss-fox ปีที่แล้ว +1

    A small newbie question here,
    How do I make the connection between the Material and the Blueprint. I am a bit confused and I can't find the right words to search on google

    • @chriss-fox
      @chriss-fox ปีที่แล้ว +1

      After playing around by myself... I figure it out :))
      I just forgot to assign the material to the mesh hehe :3

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

      @@chriss-fox You could have also called Set Material after the call he shows to Set Material Mesh.

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

    Great tutorial, but it would be great to be able to reach the source files, they can't be found on your patreon side and the Discord link provided has expired or been used the maximum amount of times.

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

    I'm trying with just 10k instanced meshes (the chamfer cube) and its chugging pretty hard on construction, and whenever I click on the component in the outliner. Is that normal?

    • @ec1467
      @ec1467 ปีที่แล้ว +2

      Found IT. In CPP You have to set the UPROPERTY on the UInstancedStaticMeshComponent to VisibleDefaultsOnly
      UPROPERTY(VisibleDefaultsOnly)
      UInstancedStaticMeshComponent* InstancedStaticMeshComponent;
      If you dont the cpp will act way slower than the blueprints.

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

      It's definitely not fully optimized. Instances work great until you're in closer and half the meshes are behind you. I'd probably chunk it a bit more into segments so you're never loading more than so many at a time. Something to look into for the future. Thanks for posting the fix!

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

      ​@@stayathomedev Doing UPROPERTY(VisibleDefaultsOnly) hides the big giant array of transforms you get when you load up a bunch of instances. Apparently, that's a nono in the array control in the editor. It fixes ISM, HISM, and Light Weight Instance which all generate a big ol list of transforms. I haven't tried chunking yet it'll be something to look at If I need to proc gen more.

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

    By the way,How do I add rise and fall animations for instance? This question has puzzled me for a long time.I try to use "Random float in range"and add time line,sine etc.But it didn't work out very well.

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

    I am having an issue with my Tile_BP. I have set everything up in the same way, but for some reason when I check the "Instance?" box everything just dissapears. If I disable either the set node with Base Water Height float, or the Set node with Tile Height, half of the hexagon grid appears for either after compiling, however neither are effected by the height strength variable. Am I missing something? I feel like I've watched from 10:07 to 11:43 a million times and everything looks identical.

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

      Okay this is weird, they're just very very tiny. anyone have a fix for this? Seems that the scale is broken

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

    Which Kind of Instances are the best? ISM, HISM, Auto-Instanced or Light-Weight Instances?

    • @stayathomedev
      @stayathomedev  2 ปีที่แล้ว

      Depends on use case. I'm using instanced but may switch depending upon tile interaction. What's your goal?

    • @vicwaberub5297
      @vicwaberub5297 2 ปีที่แล้ว

      @@stayathomedev I want to make a procedural tile based game, but I want to manipulate the tiles. There are new light weight instances, but only one dev make two videos and they seems to have some problems until now. The light weight instances can be converted into actors automatically. Thats sounds interesting.

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

    For some reason my water tiles aren't getting the wave noise individually. Instead, the normals are being applied once to all of the water tiles as if they were one object. Can you point me in the right direction?

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

    i can not get the ISM to assign right color to elevation
    at all not sure what I'm doing wrong follow vid 3 times any one else having trouble 5.1

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

    Great video! Is it possible that the random height modification broke the Scale-option?

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

      Hey! I literally just checked because of your comment and...yes...I need to consider the overall scale and adjust the noise scale as well. I'll play around and post a fix.

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

      @@stayathomedev That explains why I was losing my mind trying to figure out why it stopped working haha! I've tried to recreate everything so far on my own and thought I messed up somewhere on the way.
      I tried to fix it by splitting the "New Instance Transform Location" in the "Update instance Transform"-Node and connecting the X & Y pins directly back to the width/heigh displacements but (seemingly logically) that resulted in the same problem.
      I'm working on a small project which will have tiled levels (but free movement) after not having actively worked in Unreal since ~4.19 so your channel is an absolute lifesaver!

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

      Just at first glance...the noise scale needs to decrease when the scale increases...will figure out the function and post it....For example...setting the Scale to 2 and the noise scale to .25 recreates the noise pattern to scale for me.

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

      @@stayathomedev After working on it some more it seems that my problem with the scaling of the hexes seems to have fixed itself somehow, but now with it working I see what the problem you're describing with the noise scale seems to be (with the effective noise getting smaller when the scaling is adjusted as the noise is absolute).
      Though I've also run into something else that I can figure out, after integrating noise via the add-on in Video 3 your hexagons are scaled in height while mine are just put in a different location (resulting in holes/flying hexagons) - I can't figure out when/where you made a change (if any) that results in this 😅.

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

      Here's a BlueprintUE link to the full hexgrid BP:
      blueprintue.com/blueprint/2nvflrv3/
      You might be adjusting the X and Y locations as well...the noise only affects the Z axis in the linked BP.

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

    Is your discord still active? Link is dead

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

    I followed the tutorial, though my tiles are still changing hight when dragging. I've deactivated the setting like you showed in BP_Tile, unfortunately it doesn't have any effect. Also, the BP_Tile child actors nested under BP_HexGrid in the Outliner are all named "BP_Tile", without different numbers. Is that the reason - and if so, how can I fix it?

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

      Did you uncheck the construction update on move option?

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

      Had the same problem as you, I fixed it by deactivating it in the BP_Hexgrid and not in the BP_Tile file. The Hex grid handles the generation, that's why it kept updating while moving.

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

    Great video again !! :)
    I have a lil question if you have time... I was working on a grid a bit like yours (and i would have loved to see your videos sooner xD) but i think i can't use instanced mesh ... because i need to access on each tiles separately (for having a context menu and other stuff like this)... so actually i just use a blueprint who spawn each tiles as actors, wich contains statics meshes... and for the performance, i just pray for the god "Nanite" xD Do you think there is a better way for me to deal with ? (sorry for my english)

    • @stayathomedev
      @stayathomedev  2 ปีที่แล้ว +2

      Hey! I'd have to check into Nanite and see what it does for rendering time. I've JUST moved up to UE5 so still playing around with things. Regarding your examples...you could use instanced meshes (depending on what functionality you need when accessing each tile) and whenever you interact with a tile instance (collision, click, etc) you can actually SWAP out that instance mesh for a static mesh actor that can be manipulated more easily. Then return back to an instance when done. You can also get decent mileage out of custom data values. I will actually be touching on the swapping example in an upcoming video because I want to be able to interact with each individual tile also!

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

      @@stayathomedev interresting ! Thanks for the answer, and i'm waiting for your next videos

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

      @@stayathomedev Haven't had the time myself to check it out, but there's a new feature since 5.0 called 'Light Weight Instances'. It suppose to allow you to swap between an Instanced Mesh and an Actor. So, much less manual labour.
      Also really good production on your first view videos 🙂

    • @stayathomedev
      @stayathomedev  2 ปีที่แล้ว +2

      @@iddkfa803 Thanks! I appreciate that! I've done some brief research into the "Light Weight Instance". Will definitely check it out more once we begin interacting with all these tiles we're creating.

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

    9:10 What is down there? >.

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

      What annoys me in such films is that a professional shows fragments of a blueprint and then we don't know why it doesn't work.

  • @realgergelykiss
    @realgergelykiss 2 วันที่ผ่านมา

    0:44 Media Offline

  • @waltch5711
    @waltch5711 4 หลายเดือนก่อน +1

    PLEASE FOR THE LOVE OF GOD LINK THE FILES TO THIS PROJECT CUZ THESE VIDEOS DONT SHOW SHIT

  • @joshr3079
    @joshr3079 6 หลายเดือนก่อน +2

    I cant get my instances to show any material... The height randomizer works fine, but no materials. I've watched the videeo multiple times and have exactly the same settings as you do in the video. Any help?