Confused person coming from CAD modeling

Hey everyone,

I’m taking a class in game design and I’m getting extremely frustrated with Unreal Engine as it seems to be lacking what I would thing are extremely basic features :confused:, but maybe I just don’t understand how to do them. Basically my two main concerns are as follows:

  1. There appears to be no way that I can set an object’s actual size in centimeters (UE4’s measurement units). Adjusting objects by an arbitrary scaling factor makes no sense to me.

For example, in SolidWorks if I want to make a wall that’s 6 feet tall by 12 feet long by 6 inches thick, I simply draw a rectangle, set the edges to be two of the dimensions and extrude in the third dimension. So you can make a sketch of a 6 inch by 6 foot rectangle and extrude it to 12 feet and there, boom, you have a wall exactly the size you want it. How the hell can I do this in UE4?

I know you can scale an object but I want to set the actual size. Setting the scale to 1200 x 5 x .1 only makes sense if you know that you have a 1 cm cube to start with, but being able to set the object’s bounds to 1200 cm x 5 cm x .1 cm makes sense no matter what your starting size is.

What if I have one set of architecture assets based in feet and then find another set of assets based in, say millimeters? Do I just have to randomly guess until things look right? Do I need to measure every single asset I add to a level? That seems asinine to me.

  1. How do you actually set things such as walls to be even? I know about holding V and dragging to lock vertices, but it seems most of the starter assets have their mid planes based off of the center of the object, so when you try to line up two perpendicular walls, they don’t line up flush but rather the edge of one wall sets to the center of the other. The picture below should explain what I mean. I could never get both edges of the wall to be flush.

wall.PNG

Another SolidWorks analogy: If I want to line up two walls, all I’d have to do is select the mating tool, click the faces that should be touching and in 6 mouse clicks I have even walls.

Again, maybe there is a way to do what I want, but googling has turned up no results for me. I also realize that the Engineering and Game Design worlds have different needs and requirements, but it just seems to me that these are necessary functions one would need in order to make something look half decent and they seem to be missing.

I apologize for seeming so critical of the platform but it’s extremely frustrating, as a beginner, to not be able to do something that seems like it should be extremely simple.

For your first question:

One unreal unit = 1cm

If you keep that in mind and have your assets created that way, then importing them should be respecting those measurements.

for your second question:

I don’t think i understood what you are looking for, but my guess is something like snapping tool. As of yet I am not aware of such a tool in unreal.
Maybe someone else can help.

But it’s like you said engineering and game design two entirely different worlds, so is VFX and game design, etc… And if you think what you are suggesting are “simple things” to implement i can name you a few dozen more ideas that i think are “simple things” that should be implemented in game engines : ), but lets not go there.

Generally, Unreal is not meant to be a place where you CREATE your geometry, but rather a place where you ASSEMBLE your geometry.
You’d use another tool, like 3ds Max, or even Inventor, to CREATE the geometry, and then export as fbx files to import into the engine to make a game out of it.

However, Unreal Engine does allow you to CREATE geometry and resize it in units, as long as you stick to BSP geometry.
When you create a BSP block, it has dimensions in X/Y/Z, which are measured in centimeters. If you type in a different dimension, it changes size. Texture coordinates are auto-generated so they don’t stretch/squash when you rescale the object.
That being said, using BSP geometry, while great for prototypes and “indie” stuff, is not the best path to achieve AAA-level quality games, for a variety of technical reasons that have to do with how modern rendering and game simulations work.

My concern with that is if you use assets that multiple people are working on and each person uses a different scale instead of basing it off of 1cm. That’s why I’d really like a way to set absolute maximum boundaries in the Unreal standard of cm.

A good analogy would be buying a “standard unit” of drywall from different sources. If you went to Lowes, Home Depot and a Local store and bought a “standard”, scale 1.0x1.0x1.0 sheet of drywall from each place, you’d expect them to all be the same size. However, what if Lowes’ “standard unit” was 1 ft x 1 ft x 1/4 inch, Home Depot’s was 1 yard x 1 yard x 1/2 inch, and your local store’s was 1 meter x 1 meter x 1.5 cm.

You’d be screwed. That’s exactly why you buy building materials in absolute, defined lengths (although let’s not discuss how irritated I get that a 2x4 isn’t actually 2"x4" >.>), i.e. 1 foot is 1 foot regardless of who makes it. I’d assume that at some point you would like to define the size of an object by a set of absolute bounds within UE4.

After all, if you designed a building in another program to be 12 ft tall (instead of 365.76 cm tall), and someone made a 60 cm tall end table and UE4 happened to interpret the height your building as 12cm and the table as 60cm, then you’d have to figure out the appropriate scaling factor, which in this case is 30.48 or 1/30.48 depending on which way you wanted to scale. Easy enough if you know how large each object is or should be, but it could become annoying if you have to do it often.

Sorry for the drawn out explanation, I just feel like I sometimes have a hard time getting what’s in my head onto the page without a lot of analogies.

Yeah, that’s exactly what I’d like to have. But like you said, I don’t think it exists

Haha, I never said they were simple to implement, just that I thought lining things up should actually be simple to do. I meant basic in the sense that they seem like the first things you’d think of. Especially if you’re trying to design something. The first thing you want to do with a building is make sure your walls are lined up and correct sizes.

That’s good to know. I do have an educational copy of Maya downloaded so I’ll try to figure out how to actually use it.

Knowing that, I’m a bit more at ease. I’m assuming we are just using the starter assets because it’s the first project in the class. It’s just that I’m used to making much more polished/refined models (albeit from an engineering background, not artistic) and it’s been bothering me that the few things I’ve taken as guaranteed features aren’t present.

Even if you have different measurements Unreal is not the place to make sure they match up, for example you can bring into a 3d app such as Max different measurements done on different projects into one cohesive cm unit project and assemble everything there making sure all fits before exporting them all into Unreal.

With that workflow you can solve the different teams working in different units problem, even though it is generally never good practice to do that.

But yes what i meant by earlier is that by the time you are done with game engines measurements and snapping tools are going to be the least of your problems. good luck.

The final units on UE4 are in centimeters. Inside 3ds max and maybe Maya you can change the “display” units so that the values you see are in inches but the values behind the display values are in centimeters (automatical convertion). So when you export, you will export a 3D model that is in cm scale. I dont think you can have a nice seamless workflow between CAD and UE4, there has been always problems with CAD and the conversion of its files to other applications. The best workflow is CAD > 3DsMax/Maya > UE4.