For reference if you are returning: 1. In Maya, export the selection and make sure Preserve Instances is enabled in FBX options 2. In Unreal, use File -> Import Into Level 3. In Import into level options, Hierarchy Type should be Create Level Actors. Static Meshes panel shows only the static meshes while the Scene panel shows each instance. 4. The actor that is added to the level -> delete its group, select all instances, then 5. Actor -> Merge Actors -> Batch (this creates an actor in content browser you can reuse, with the ISM setup how you had them in maya)
@MrPiclu2 ай бұрын
THIS IS WHAT I WANTED, I tried importing via usd, nvidia omniverse, autoshot etc.... But I finally found this video and now I feel like i can sleep well THANK YOU SO MUCH
@joseabboud-26078 ай бұрын
This is by far one of the best videos ever that pushes forward one more step into level optimization. Fantastic technique, easy, smart and fast. Thanks a lot!
@fabriciogoulart456411 күн бұрын
Thanks a lot, I'm trying to work with the Hillside sample project materials and this tutorial helped me on some details that I didn't see anywhere else
@totheknee3 ай бұрын
I like that you use real examples of complex models, like the ones I have in my production. It's easy to find videos giving a basic overview of UE5 features, but ones that go beyond basic are hard to find...
@peacockgames43647 ай бұрын
I've been looking for an easy instance method like Batch for a while now, cant believe its taken me this many tutorial videos to discover that feature!
@tracingzimpossible Жыл бұрын
awesoem stuff, i dont think there in any better tut on this in youtube. great stuff and subscribed
@Johngeneric Жыл бұрын
Thank you so so much! This is excellent information, and absolutely concludes my questions I asked you last time. I had no clue that it was this easy creating the instanced meshes, I thought it required fiddling with blueprints and locations, but you can just turn the meshes into instances AFTER you placed them like you want in a scene, which is excellent. Thanks!
@jamaalsineke24053 ай бұрын
Awesome series. I wanted to know if you can add physics to instanced static meshes for example a brick and then make a breakable wall with the instanced bricks?
@RomanTimm2 ай бұрын
hey awesome stuff right here! Is there a workflow similar to what you showed in part 2, so that if I need to make changes in Blender and then want all instances to be affected by the changes in the UE editor? thanks!
@horiz25696 ай бұрын
Thank you for all your series of tutorials. they re really helpful to me
@markuskernocker39211 ай бұрын
Amazing, exactly what i needed to get started with modular parts!
@eduardoquintella86846 ай бұрын
Thanks, man! Very straight foward. I´ve been looking for this for a while. saved my day.
@arceyominyin Жыл бұрын
This whole series was great and exactly the information I was looking for. Much obliged.
@UnrealEngineLearn Жыл бұрын
Holy crap this was an awesome series. Thank you so much for sharing your workflow and knowledge! ♥
@MohammedRizwanH Жыл бұрын
Very useful video mate. One quick question. Is there a way to merge the actors into HISM instead of ISM???
@chiROC-k7c19 күн бұрын
Good tips and very helpful
@tsdouglas1Ай бұрын
Is this possible with Hierarchical Instanced Static Meshes from Blender to Unreal? I need the capability to LOD each instanced object. I'm making a detailed room in VR that needs to utilize High Res Materials up close and Low Res materials on the other side of the room. 45x15 ft room with modular pieces for walls. (I don't have experience making ISM and HISM. I will be following your tutorials.)
@PatrickGavin1 Жыл бұрын
Thanks. Great info. Is there much impact comparing nanite of instancing vs nanite of copies? Also why not use level instances instead instancing like shown in the video? Or packed level actors vs level instances vs regular instances
@G3neric_art10 ай бұрын
Good question would love to see some tests and comparisons on that.
@omgitsbats3 ай бұрын
Could you explain placing HISM during runtime, and how pooling or a queue is faster? I have been experimenting on my own, and it's much better with a queue but I'd like your opinion.
@psy237Ай бұрын
Ah you just clarified my confusion. I thought instanced static meshes is something different than merge meshes batch option, but that's actually the same, correct? Both are creating isntanced static meshes. Thanks for pointing that out! Thanks a lot for sharing :)
@geroldwaefler9485 Жыл бұрын
Very much helpful ! Thank you so much !
@berduran11 ай бұрын
great tutorial, thank you so much. i have a question about thsi instancing. when i creat LODs in UE5 and do give it a try, all instances of a static mesh changin its LODs together not individually.
@MLSK_UPRT10 ай бұрын
Cool tutorial, but what about Geo Nodes in Blender, would it work somehow with Blender procedural instances?
@Transcriptor2 ай бұрын
As in Blender can you convert instanced sm to full sm? (like arrays in Blender)
@theburlapchap36442 ай бұрын
Is there a method to switch instanced meshes based on a matched string. I'd like to be able to switch between meshes based on a custom row for names (with regex to remove the .001 or .005) I tried using a map variable with a find node but I can't seem to get it to work.
@SagunManandhar Жыл бұрын
Hi Thanks so much for the tutorial. BTW, is it possible to do instance in vertices of a alembic cached geo ?
@maxim4d5 ай бұрын
I cannot seem to find a way to programmatically add an ISM to the scene root (at least in blueprints). I try to create all ISMs from a data table for a level editor of my game, and later spawn instances of corresponding ISMs as user edits the level. There is an "Add Scene Component" node, but it is marked as "do not call manually - blueprint internal use only", and also does not seem to do the right thing. Is this possible at all, perhaps, only using C++?
@SpudHead42Ай бұрын
How do I do this if the meshes are imported as separate and instanced to themselves and have different orientations?
@ElbebebarbutosАй бұрын
Hey, when i batch item, the actor create "InstancedStaticMesh", but can i create "HierarchicalInstancedStaticMesh" ?
@RA-lw5gp11 ай бұрын
Hey there, thanks for the video. I have a question.. Maybe I missed it. But i'm trying to make streetlights, consisting of multiple ISM components (one per shape, which i then combine), but i'm not able to actually see a second instanced static mesh component. The first one renders and i can manipulate it anyway i want to so that i can build up a wall, floor, whatever. The problem occurs when i add a second ISM Component into my BP. That second and third component remains completely invisible
@RiverFox_YT10 ай бұрын
when you use batch, where does it store the instanced static mesh? ive done this to a building and now i cant find that instanced batched mesh anywhere in the content drawer. i need to sort out its lods but cant find it
@3dfromzero3 ай бұрын
FANTASTIC!!! Thank you!!👍👍👍
@BahmanJB Жыл бұрын
Thank you, appreciated!🖖
@tracingzimpossible Жыл бұрын
also have a question after nanite being introduced in UE% the requirement in UE5 changes a bit over UE4 like for example do i really need to make ISM of HISM with nanite mesh? hpw does it affect drawcalls in ue5 ?
@antonievandermeer345 ай бұрын
Absolutly perfect thank you
@AlexDDDDDDD7 ай бұрын
how to figure out to which batch actor selected instance is belong?
@namayewa1541 Жыл бұрын
hi, I tried that way for make instanced static meshes but if I selected a lot of different meshes it doesn't work with bacth of actor merge. but if I selected same meshes, it is work
@renderbucket Жыл бұрын
If all the meshes are unique then it can't instance them because they are not duplicates of the same information. If you have duplicates of a mesh (same geometry/file placed multiple times, then it will instance those).
@rasaidtsang4456 Жыл бұрын
i find that my instance static meshes are disappeared in the packaged game, do you have the same issue? or just my wrong setting?
@in2fractalout Жыл бұрын
ultracool series! super useful. thx
@chrisrams3D Жыл бұрын
Thank you!!! subscribed
@JamesCardonatweekaholic Жыл бұрын
Thank you so much!!
@Knasefrank Жыл бұрын
Great series! Thank you very much! subscribed.
@nemfir Жыл бұрын
Great tips and tricks! God bless you! XD
@shorafarahani Жыл бұрын
@renderBucket Question.. is there a reverse for it? Essentially changing the ISMs back to all the SMs it created?
@tryky3d4 ай бұрын
Hi, did you find maybe a solution (how to do the reverse action)? thanks :)
@shorafarahani4 ай бұрын
@@tryky3d i personally have not. But to be honest, I am currently working in a studio which our tech team has implemented this feature for us. So it definitely is possible
@tryky3d4 ай бұрын
Thanks, I'll ask further using the example. I wanted to make sure - and you probably know more than me. In the Sample from Epic "CitySample" most of the assets show as Instance. Extracting them to single Static Mesh (with preserved coordinates from Instance) using the option in UE is not possible?
@delko000 Жыл бұрын
Nice tip, thanks! 2 points though: 1) when exporting fbx from blender, everything needs to be scaled by 100. this is normally fine when importing a single fbx object into unreal. But when importing a fbx scene into unreal, it looks like the scene root is imported with 100 scaleup (expected) and all the hierarchical meshes under the root also scaled up 100 times, which results in them being scaled up 100x100 =10000 ! 2) any tips on how to export handmade collision volumes (prefixed UCX) from blender in the context of instanced static meshes?
@cesarmerchan3416 Жыл бұрын
Hey, this is amazing. I just realized one thing, when you delete one of the instances the other objects get locked and I am not able to select them again. Do you know why this happens?
@rafaelskiarteportfolio10984 ай бұрын
amazing!
@adityavikram1716 Жыл бұрын
Hey @renderBucket how do i bake shadows for instanced static meshes thank you
@renderbucket Жыл бұрын
Same as any other mesh. Just make sure the ism has its root and all submeshes set to Static.
@alapidis Жыл бұрын
I noticed the blueprints created as static meshes do not allow you to easily select them. If you click on them in the scene view, it selects the sub-component not the entire blueprint like normal static blueprints.
@KREAK878 ай бұрын
I have found a peculiar bug... when using this method Unreal always leaves one instance out. IDK why. It is the one that is not set to invisible after batching. You can see it in this video as well at 7:55. "FRAME_LINE_P1_629_" is left visible and I bet it is missing from the batched Blueprint 🤯 So far I have not been able to tell why one mesh is always left out. When trying the same bunch of objects again, it is always the same one getting left out. Yet nothing seems wrong with it... Can somebody confirm this happening?
@ДенисВоронков3 ай бұрын
In blender, import to unreal does not work correctly. If you import through the import menu, a group is not created in unreal, and all meshes are small. Despite the fact that units in blender are selected by default, but if you change them, nothing changes, the objects are very small. If you drag a group of meshes, the size is correct.
@gametnt_fun2 ай бұрын
Realy Nice
@ConradSly Жыл бұрын
Great tips! Does nanite affect this workflow at all, or is this strictly for non-nanite geometry? Nanite is virtualized geometry, a kind of instancing process as well in a way, but I wonder if this methodology, if it works with nanite, can help take the load off of actor count, which becomes more and more of an issue the more nanite geometry you use.
@carlosrivadulla8903 Жыл бұрын
I made the same question in the last video and I have the same doubt again. After u do this u convert the whole building into nanite?
@renderbucket Жыл бұрын
If the same nanite mesh is used many times in the scene weather its nanite or not you will get better performance as having that mesh being a instanced static mesh so its instancing those meshes, rather than just having them placed in the scene (it will reduce draw calls).
@renderbucket Жыл бұрын
@@carlosrivadulla8903 you could make the whole building a nanite mesh but what I have here is a building made from modular assets (pieces that fit together like lego) this way you can actually build many different variations of those buildings using the same pieces. What is done in this video is just taking those duplicates of building pieces and making them instanced static meshes instead of just static meshes. Which reduces draw calls and yields better performance in cases where a object is used hundreds or thousands of times. The guideline would be: - Is the mesh placed many times in the scene (1000+)? If yes then ISM/HISM is going to be beneficial. You can use Instanced Static Meshes weather the mesh is nanite or not. So its applicable for both.
@ConradSly Жыл бұрын
@@renderbucket awesome, so if you built your building with instances of dense displaced meshes, then you could import as nanite and follow the same steps to instantiate them?
@renderbucket Жыл бұрын
@@ConradSly exactly.
@dubwork6 ай бұрын
💪 wow really helpful !!!!!!
@Fto5F Жыл бұрын
What is the advantage of this method compared to Datasmith import?
@renderbucket Жыл бұрын
Haven't utilized Datasmith that much since its limited to 3dsMax, Revit.etc. But not sure If Datasmith instances or retains instancing. Datasmith is more targeted towards architectural and visualization workflows. This video is more about utilizing instancing in Unreal for better performance with large and more complex environments. And making sure if you have assets that are modular or that utilize instancing that they are being treated that way within Unreal and not loading in as gigantic static meshes or hundreds of individual objects.
@AHEVENZ Жыл бұрын
is there any way to unmerge instanced static meshes?
@tryky3d4 ай бұрын
Hi, did you find maybe a solution (how to do the reverse action)? thanks :)
@AquilesAdrianza Жыл бұрын
OMG - tremendo!
@Cryofluid Жыл бұрын
Excellent!
@bkscribe3 ай бұрын
Great!!!
@rsdkgarik4540 Жыл бұрын
THANK YOU!!!
@draicor Жыл бұрын
WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW
@haithamalkilany3785 Жыл бұрын
you are a genius !!
@haithamalkilany3785 Жыл бұрын
subscribed :)
@CGokce6 Жыл бұрын
whats the difference between this and prefabs?
@renderbucket Жыл бұрын
Prefab is just a re-useable group of objects. It can contain static meshes or instanced static meshes and other types of components. But each instance of a prefab will have its own draw costs (increasing draw calls). The benefit of instanced static meshes is that when drawing ISMs it draws all the instanced static meshes (duplicates) of a asset in one draw call. Whereas static meshes would require a draw call for each duplicate.
@CGokce6 Жыл бұрын
@@renderbucket I seee. No wonder my environments kill my pc. So prefabs is just basically the same as grouping objects. Just a different UI.
@dubtube66916 ай бұрын
❤👍
@fw190a8 Жыл бұрын
I don't believe this is possible using Blender. I have tried everything I can think of to export instance data to FBX, but every time it's imported, Unreal sees the identical meshes as separate meshes. I have DEFINITELY used instances with ALT+D in Blender, before anyone brings that up! If it is possible, could you explain how you achieved it? You just show it working in Maya and then say "but it's also possible in other software" - I'm not sure that's true unless I've missed something in Blender after many hours of effort.
@renderbucket Жыл бұрын
Just gave this a try with Blender to confirm and it seems to work. Things will have to be duplicated with ALT+D. So you got that all right. Now here's one thing to check. When you export from Blender as a .FBX, when you import it into Unreal go to File->Import To Level. That is super important, if you just drag in the FBX to your Content Browser it wont work. Try it out, if you run into issues let me know and I can make a video for it.
@teokim6298 Жыл бұрын
@@renderbucket I've tried as you mentioned. But it didn't work. Please, make a video for Blender users.
@alapidis Жыл бұрын
@@teokim6298 Disable apply modifiers in the export settings, that applies the instancing to the objects making them static.
@teokim6298 Жыл бұрын
@@alapidisThank you for your kind feedback. But it doesn't work for me. Am I missing something?
@alapidis Жыл бұрын
@@teokim6298 I don't think so, we were able to do it today by not applying modifiers or freezing transforms, and unreal processed it correctly when we imported it. We only saw 1 static mesh but it was alt+D duplicated around and came in properly to unreal and got merge -> batch as an instanced static mesh blueprint.