You should be WAY UP IN THE KZbin LADDER, these videos were crazy high quality and professional, thank you so much!
@koromire697 ай бұрын
Here is how to make it work with blender : 1. You first need to modify the exporter. Add a field for "w" (I will use quaternion but no worry it's easy) col = ['', 'id', 'tx', 'ty', 'tz', 'rw', 'rx', 'ry', 'rz', 'sx', 'sy', 'sz'] 2. As most of you know, when you work in blender with the x axis toward you, the z axis up and the Y axis to your left, the equivalent in Unreal is the same except the y axis is to your right. So add a minus sign in front of "y" location. Also Blender and Unreal doesn't have the same units, if you Use "Apply unit" when you export, add something to scale it : BlenderToUnrealScale = 100; data.append(obj.location.x * BlenderToUnrealScale) data.append(-(obj.location.y * BlenderToUnrealScale)) data.append(obj.location.z * BlenderToUnrealScale) 4. Instead of the 3 lines with data.append(obj.rotation_euler.x), here it what we'll need : Quaternion = obj.rotation_euler.to_quaternion() data.append(Quaternion.w) data.append(-Quaternion.x) data.append(Quaternion.y) data.append(-Quaternion.z) 5. Now you need to modify the unreal blue print structure (F_ISMImport). Add a field "rw" which is a float just as rx, ry and rz. Put this field before rx to make it the same position than in the csv file we wrotte with blender. 6. Finally modify the construction script of the blueprint : - The Break F_ISMData now contain a new field rw. Add a "Make Quat" node. Put the rw, rx, ry and rz component into the "Make Quat" node. - Drag the return value of the "Make Quat" node and put it into a "ToRotator" node. - Drag the return of the "ToRotator" node and put it into a "Break Rotator" node. - Drag the X, Y and Z of this node "Break Rotator" into the "Make Transform Node" Rotation X, Rotation Y and Rotation Z. 7 . Tips in the case you have issues if, like me, you have a separate blender file for your construction : * Export the object you're planing to use with x as forward axis and z as up axis. * If you have rotation issues after all this, right after importing the mesh you're planing to place many times, select it > ctrl + a > all transforms. It will cancel all the blender adaptation which are usefull in some cas but can completely f up your construct. And voilà ! Thanks to @renderBucket, appart those little adjustement for blender this tuto was very usefull to me and it improved my workflow a lot ! :)
@orencloud75987 ай бұрын
for anyone who wants to use euler in Blender, don't add "rw" and just change this: in-between "Break F_ISMData" and "Make Transform" add "Radians to Degrees" in between each of the 3 rotation nodes
@totheknee4 ай бұрын
Wait, in Blender, with the x-axis toward me, the y-axis points to the right. In Unreal, Y points left. But I know what you mean.
@espen990 Жыл бұрын
I ran into an issue where the instances didn't seem to rotate at all, and in the data table I noticed the angles were apparently very tiny. This was because Blender was exporting the angles as radians. I fixed this by adding three "Radians to Degrees" nodes between the "break" node and the "make transform" node in the UE construction script. Thank you so much for an incredibly helpful video!
@ice_queen910 ай бұрын
if you're like me and tried to write the .csv file manually in c++, be aware that ue5 requires a name as the first column of every row for some reason. something like this: writeFile
@mythos89889 ай бұрын
Hi I am stuck, Maya to UE5, all my objects z rotation are being flipped -90 is 90 etc I have tried wire up RZ RY and every other combination with no luck any ideas how to solve this ?
@ice_queen99 ай бұрын
@@mythos8988 oh, yeah. ue5 uses a different coordinate system than maya does (and different from the one i'm using myself) there may be an export to ue5 option in maya that can help you, but for reference: maya: x points to the right y points up z points towards you (backwards) ue5: z points up y points left x points towards you (backwards)
@lazerboy42717 ай бұрын
@@mythos8988 In Maya if you are exporting a FBX you can go in the options of the export and if you open Axis Conversion you can change the up axis
@kimholder13 күн бұрын
One note is that the way Blender units are meters and Unreal units are centimeters will cause everything to be all bunched together unless the Tx, Ty, and Tz are all multiplied by 100 using a Multiply node between the Break node and the Make Transform node. Some people might instead choose to change the Blender unit to 0.01, but I don't want to do that because I am using Send to Unreal to import most things, and it converts the units nicely to all be the same. Also it turned out I had to multiply Ty by -100, and Rz by -1. This is really a big help to me. I'll need to use it a bunch of times. I did my test as a Hierarchical ISM as that is what I'll mostly use it for - I suppose it doesn't need any adjusting in that case, right?
@sinonimos17902 жыл бұрын
I had problems with the location of the objects when using blender. They all appeared together. Multiplying the location by one hundred solved it. I guess it's because blender normally scales the static mesh. We have to do that step manually here. In case it helps someone.
@laststep35332 жыл бұрын
Hi! So once we've multiplied the location in Blender, it would be automatically correct in UE. Is that correct?
@nijq2 жыл бұрын
@@laststep3533 you could also multiply the location vector in the construction script in UE
@laststep35332 жыл бұрын
@@nijq got it! Thank you
@delko000 Жыл бұрын
yes one blender unit = 0.01 fbx unit scale. Before fbx export you have to scale by factor 100
@shawnbecker1026 Жыл бұрын
Thank you for this it's such an awesome way to do instances, how could I use the same method to instance several meshes to construct something like the building in part 4?
@LastIberianLynx_GameDev11 ай бұрын
Great video. Would it be better to just merge all the instances into one mesh?
@sytix14 ай бұрын
I am curious, how did you create the hand scene in maya/blender? Having to put manually so 12 000 bricks/cubes one after another in 3D modelling software is also not efficient. So did you use some tools to create that, could you share more about that under my comment?
@renderbucket4 ай бұрын
@@sytix1 took a hand model. Emitted particles on it surface. Copied/instanced cubes to the particles. You could also do the same thing with Mayas MASH as well. Also super easy to do the same thing in Blender or Houdini as well. 🙂
@sytix14 ай бұрын
@@renderbucket Amazing, thanks
@viviancrompton19208 ай бұрын
I am trying to get this to work with importing from blender, but when doing a straight x,y,z to x,y,z mapping, although the positions look correct, rotations are not. I have tried swapping axes, but end up with a bigger mess, and I am struggling with the maths. What transform exactly do I need to do to convert from blender coordinate system to Unreal when importing? I tried mapping -X val in Blender to Y val in Unreal, and y val in blender to -X in Unreal (leaving Z the same) for both position and rotation components, but it hasn't helped.
@gaguto4 ай бұрын
is it possible to have multiple ISM in a single csv file and to the same process? I have around 5-6 different meshes that i used to create a building, I would like to follow the same process in the video series, I would assume I need to specify in BP which ISM to instance and I would need a index specifying that, how can I export that information from maya ? would I need to create a specifc index telling which mesh is where ? if i use mesh instance in maya already can i get that information to the data.csv? thanks for the video, very clear and concise!
@hanneswerner4 ай бұрын
Is there a way to do this with animated objects as well? Like export the data for each frame and also import it for each frame?
@agj383 Жыл бұрын
I'm also having issues with the orientation. The weird thing is, some instances are correct, and others are not. There doesn't seem to be a clear pattern to the orientation issues. The Import Into Level is not a real alternative because it is only meant for loading an entire scene which is not practical if the scene is large. So there is a need to be able to export just chunks of the level at a time. The problem with Import into Level tool is that it creates duplicates of each static mesh each time you do it. And the reimport feature apparently does not work at all. Perhaps I am using it wrong. It would be great to get this importer working correctly with the orientation though, because it is a very simple and effective workflow.
@agj383 Жыл бұрын
It seems that conversion from maya to unreal coordinates is not as simple as just swapping Y with Z in the blueprint. That only works if there is only one rotation axis with any values. If multiple rotation axis has values, it ends up wrong. And the only way to correct is to swap other axis and add arbitray amounts to others. So it appears that there must be a formula that is needed to handle a full conversion. I havent been able to find anything yet though.
@GSProjects122 жыл бұрын
I do enjoy your videos.... as per your request: how can I get the dimensions (sizes) of a static mesh in UE? I know what my mesh dimensions are, but I want to get it procedurally, if I have to make changes to my mesh, for some reason. If you want to make a video of this, go for it, but a simple reply to this message to which node(s) to consider will be greatly appreciated.
@GSProjects122 жыл бұрын
I found a solution. There could be a more efficient method, but I found that "Get Local Bounds" have a Min & Max coordinate, by subtracting min-z from max-z I was able to find the height of my mesh... It works as a solution at the moment.
@fafatogames Жыл бұрын
Why you didn't make with "Editor Utility Widget"??
@keithstark8520 Жыл бұрын
Hi, are there any steps to get collision to work on the instances? It works on the static mesh itself (and also when they are batched together) I've tried a number of things in settings on the ISM and the generating BP. Thanks
@renderbucket Жыл бұрын
Just make sure the mesh being used for instancing has collision geo/collisions.
@keithstark8520 Жыл бұрын
Ah, I had that, what it ended up being is that the instance static mesh in the BP defaulted the collision preset to "block all dynamic". Once I set the to "Default" it was fixed. I had even tried to add a "set collision enabled (instance)" in the BP........arrrrrr.........thanks so much.
@Vode1234 Жыл бұрын
Works for the most part but I'm getting weird rotations in maya despite flipping them the same way as the video
@renderbucket Жыл бұрын
Make sure you aren't baking in rotations. It's a bit clunky. But the easiest way to get stuff in Unreal like this, is the last video in this series 4/4. It will go over how to export instances in a .fbx and how to load them into Unreal with all the instances recognized and setup, and then how to further convert it to (Instanced Static Meshes) with a few clicks.
@Vode1234 Жыл бұрын
@@renderbucket Well What I'm doing right now is I scatter with mash convert those to objects select those objects and then run your script to make the data table.
@renderbucket Жыл бұрын
@@Vode1234 Either way works, but check out the 4/4 video, it'll be a more efficient workflow in most cases because it won't rely on a blueprint and reading a data file. You just need to make sure your MASH is instanced Geometries before exporting to FBX. For that select your MASH, go to MASH, then Switch Mash Geometry Type. That should make it instances, then select that instancer and go to MASH, bake instancer to objects. Make sure Bake To Shape Instances is on. Then you will just have a bunch of instanced meshes. And you can export them as FBX with Preserve Instances on. Import into Unreal from the File Menu as shown in 4/4 Video and then make them Instanced Static Meshes using the Batch Feature.
@Vode1234 Жыл бұрын
@@renderbucket Thanks for the info I'm trying it out right now. What contexts would you use this method for importing vs the other?
@renderbucket Жыл бұрын
@@Vode1234 Not really a specific case in mind. But the part 4/4 method I find to be a pretty quick and easy workflow. But using the blueprint approach could be beneficial if you wanted to load in other info/data that the game could access. Or with some modifications could be a way to load large terrain scattering from other software's like Houdini. Its really more of just a thing I wanted to show so people can see that making custom loaders with blueprints can be pretty easy.