Hi, been a while since I last posted, but I think I should do a quick little tutorial to help with the now prominent rise of Blender 2.8 and meshes in Roblox.
(Notice, the techniques here are also the same in 2.7)
The focus of this tutorial will be a pipeline of sorts of individual mesh importing from Blender 2.8 to Roblox Studio (Mass mesh importing will be discussed in a separate post). This tutorial will focus on mesh positioning and scale. So without waiting any longer lets get to it.
This tutorial will assume that the reader has a basic knowledge of 2.8 new ui features and tooling and mesh creation in general, but has issues with importing their creations.
Now the first important part is Scale, many of you have probably seen this popup when importing a mesh from Blender into studio.
Now Roblox and Blender have a big difference in terms of scale in both their respective modeling spaces. While a mesh may seem of reasonable size in blender, if you import it into studio and click “No” on the resize option, it may appear huge, for example, this modified starter cube in blender looks reasonable in size.
But the moment it is imported into studio, well, the proportions speak for themselves.
(For Reference, this is a 2000x2000 stud baseplate)
Now depending on the mesh you have created and its purpose, you can simply scale it down in studio no worries to the size you think is best, but for more precise building, it can be a headache to scale it to size needed.
A good solution, to help find have your meshes pre-scaled to the map you are creating is rather simple, and it involves having a point of reference made in studio imported into Blender. This can be a map you have built, or a simple asset made in studio. For this tutorial it will be a simple 512x512 baseplate and a Robloxian at a specific location on this baseplate.
With my simple baseplate and positioned Robloxian as a reference, I will export both of these by going to File>Advanced>Export As Obj
Make sure to save the file somewhere easy to find. Now back to Blender 2.8!
Here we now see the Reference I have made (The baseplate and Robloxian) are now in Blender, but we are not done yet, now you need to have everything selected and scale it down By pressing S followed by .01 .This will bring the reference baseplate and Robloxian to their true scale as seen in Studio to Blender, here is an after image showing how small Robloxians are in Blender from the same camera location when it was freshly imported.
Pretty small right? But however we aren’t done, this is important Rotate your reference from Roblox 180 degrees around the Z axis Not only when something from Roblox is imported into blender must be scaled down, it must be rotated 180 to face the correct direction as it did in studio. Failure to rotate your reference before you start modeling will lead to major headaches down the line. Now here with you’re references scaled correctly and facing the right direction you can model away. For simplicity sake I will model a slightly modified cube right next to the Robloxian to demonstrate the next part of this tutorial, positioning
Pay attention to the origin of this mesh (the orange dot) and the mesh itself from the 3d cursor (Which is currently located at 0,0,0 in blender) This will be one of the important factors in determining the position of the mesh when importing.
Now you export your mesh to your preferred file type (Obj, fbx, etc. I personally prefer fbx) insert in studio a meshpart (which will normally pop at at the camera’s location in studio) and import your mesh and you will see our familiar prompt again, but this time if it is a small mesh like what I have created for example the follow prompt will appear (in case of larger meshes again, click no on resizing)
Click yes and but oh no! For some reason the mesh isn’t where it was in blender, it’s the right size but it’s somewhere else instead of the location where it should be (by the Robloxian, which is in the same position in blender as it is in studio)
There are two reasons for this, the most important reason, is in Blender, the mesh’s origin (The orange dot mentioned prior) Remember how it was offset from the mesh? The origin of the mesh in blender was not set to the 0,0,0 location in blender, but at a random point, the easy way to fix this as follows:
Ctrl+A Apply Location it is also a good idea to apply Rotation and Scale This will be explained later as to why.
After applying the location the origin now is at the 0,0,0 location in blender it needs to be.
Now lets import it in again, don’t forget to insert a mesh part and…darn it it’s still not in the right location! There is one more thing neglected and that is the location of the meshpart when the mesh is imported.
When importing an individual mesh into studio, it will (for some reason) use the current location of that meshpart as the 0,0,0 origin. so it is important to have the meshpart moved to 0,0,0 in location in studio.
With this, now try importing your mesh and voila!
The mesh is now exactly where it is supposed to be.
Now That pretty much wraps up this tutorial, now couple final tidbits Applying Rotation and Scale and Origins in Blender
When modeling in blender, if you scale or rotate your mesh outside of edit mode in blender, it will affect its size and rotation it is when you export it into studio. Applying Rotation and Scale to the mesh will prevent this from happening.
Also relevant is the origin of the mesh in blender. For example, say you have a mesh in blender that is made up of three different objects. If their origins are not aligned to the same position you will run into a problem encountered by @Sindeerly in this forum post
Well I hope you will find this tutorial useful my fellow Roblox Devs, keep on building on.