I'm having huge difficulties getting my head together in designing a level.
How do you guys approach this? Do you model in 3d modeling package and then import to UE? Or model in UE using placeholder boxes and then replace the boxes with more advanced meshes from 3d app?
I want to make portfolio piece of old factory floor in Unreal Engine 4.
So I tried both ways. While I can get grids to work, I'm having huge workflow issues.
If I make something in 3d app and need to change it (likely) it's huge hassle. Using 3D app only won't give me enough "feel" of the level, so I need to check the playability anyway in various modeling stages.
If I use UE4 to block out a level, I have no way of getting that information back to the 3D app right? So that I could make sure of the scales?
Of course we can have pen and paper to remember the dimensions and model to those.
Any thoughts?
Replies
Level blockout can be done with bsp brushes or placeholder meshes too. Both works.
Just select all you need and go up to File>Export Selected
I haven't use BSP since i bought this some time ago, it's a real time saver: https://www.unrealengine.com/content/809286aff4014f94bb2d010ed72f8bf8
I believe the key for games is to make them as modular a possible, working on assets that by themselves don't do anything but combining them together in the engine gives you a lot of flexibility to create anything you like.
This channel is really good also: https://www.youtube.com/user/Futurepoly/videos
But in the end the process involves a bit of back and forth between the 3d application and the game engine: you always have to do some adjustment to the geometry after you test it out in the game engine.
That said, I try to explain you how the workflow I usually use to design a level (hoping that can help you to figure out a process that works for you).
[Note] I don't pretend to be a master neither I invented the workflow, however in the past I did a lot of research on this topic, studing and trying different workflows.
One of the best workflows I found was the one explained by Naughty Dog's environment artist David Baldwin in the CG Society workshop Environment Modelling for Games.
First I try to summarize the workflow in short (bear with me, I will try try to make sense, I promise):
1) Block out the level using BLOCK MESHES (= simple geometry shapes).
2) Replace each block mesh with PLACEHOLDER MESHES (that usually hold a little bit more detail compared the block meshes).
3) Refine each placeholder mesh to become the final GAME MESH (this should be the artistic part, where you tackle modeling, UVs, sculpting, texturing, etc.).
4) POLISH and OPTIMIZE the art so that the level looks right and the performance are good.
Ok, now, according to what you said above I think you have some trouble with the point 1) and 2).
1) First define a scale reference mesh (usually a human size mesh).
Then start blocking out the level using simple geometry: this geometry usually is called "BLOCK MESH" and is meant to help you design the level areas, the main landmarks (that could be buildings, natural elements or objects) and the spaces. At this stage don't think about any detail, simply try to put in simple shapes and spaces the ideas that lie in your mind.
You can design this geometry with both BSP (directly in the game engine) or in a 3d application.
However consider that sooner or later you will have to create the geometry in the game engine, so personally I prefer to avoid BSP geometry and go with the 3d geometry from a 3d application.
The final goal of this phase is to have the block meshes in the game engine to test out:
- scale
- proportions
- open space vs closed spaces
- collisions (maybe it's a little early to think about those, but the sooner the better imho).
- level gameplay / game flow (this is generic I know, but this topic is pretty wide)
You will certainly find many things to fix that are not easy to spot working in the 3d application (or with BSP) without running through them in game with your character.
At the end of this phase you should have a rough version of your level, that can be pushed forward in the next phases.
Note:
- Some people prefer to model the level block mesh as unique mesh for the whole level: the benefit of this approach that you import only one mesh in the game engine, so is fast to make adjustments and fixes in the 3d application, then reimport the whole mesh in the game engine and test it out again.
- Some other people prefer to have separate block mesh pieces (or BSP brushes), to be able to modify smaller chunks and test them out.
I think that you have to test out these 2 different techniques by yourself to decide the one you prefer.
2) Now you can take each block mesh geometry and create the "PLACEHOLDER MESH" geometry for each element (this means that each component will have its own 3d file): this type of geometry is a little bit more refined and should give you a better idea about what that object is going to be (still without having enough detail to be the final game geometry).
Once each placeholder object have been modeled in the 3d application you have to replace the blockout mesh with the placeholder mesh in the game engine.
Remember to test each placeholder mesh in game, making sure that scale, proportion, collisions, pivot placement for each object and general level gameplay work fine.
Once this phase is completed you should have a playable level made up of single placeholder components, that will be then detailed during phase 3.
The cool think is that now each element has its own 3d file and each element is already in the game engine.
In phase 3 will be just matter to replace each placeholder mesh with the final game mesh.
I hope this rough explanation can help you: if something is not clear or poorly explained ask and I will be happy to clarify it.
Btw if you want to see a different workflow, that start using BSP you can have a look to UDK Modular Masterclass by Tor Frick.
There are also 2 interesting courses from 3D Motive:
- Modular Building in UDK
- Set Construction in CryEingine
Another tutorial on this topic I bumped into a while ago is the following Digital Tutors course: Creating Game Interiors using MODO and Substance Designer. However I have never found the time to watch it, so I can't tell you for sure how good it is.
The last resource I suggest you is the website World of Level Design: the website is around from a long while and in there you can find a lot of tutorials guides and hints about level design and environment building.
I hope this helps (and sorry for the wall of text). :poly124:
If something is unclear, just ask.
It's really great, I can definitely see myself using it to block out scenes and new assets. It seems faster than trying to jump between UE4 and a model package during the concepting and block out phase, especially if you are testing gameplay along with designing a level.
For me it makes sense to make modular pieces like pipes in 3D modeler without uvs or such, and build level with them. If I model to grid, they will snap. Since most of these modular assets are not so complicated anyway, for me it makes sense to pretty much model them ready from the beginning except uvs.
As I have placed them in UE4, if I reimport one asset, all of the instances get updated if the place and pivot point don't change. in this way it's possible to improve on assets after tons of instances are placed in level. It's just important that the pieces stay in place.
I also realised that if I make a kit, it makes sense to texture the entire kit at once and make the pieces share same texture, this should be good practise I guess. Even though I have been doing this just a week I already realise the value of modular assets. It's such a snap! (pun intended) to work modularly.
If I have understood correctly, it might be possible to make two materials, "standard rust" and "crazy rust", for example. Then use vertex paint on instances to add rust for variation. am I right?
I think the best way for you to know the way to work is just by doing it! Making mistakes and learning from them is huge, then for the next environment you will work faster and so on.
This is my approach:
The level below was done in modo and keeping the scale awareness was achieved by using human scale models positioned where I need them. I am also using the po2 grid in modo and UE4.
I can test this level or any part of it by exporting to UE4 and keeping the pivot point right in the middle of the "level area" so all the mesh positions are identical in modo and UE4. So if I export one of the rooms it's pivot is offset to the centre of the world and the mesh position is in the same place in UE4 just like it is in modo.
For testing stairways and things I just export into UE4 and update it silently via modo if there are any adjustments needed.
This is all a level "block out" and when I am happy with the game area I start to work on the details for each room or area. The corridors are modular and are complete so they are out of the way and I can work more on the details and blocking out the upper levels.
It helps if you have a basic 2D plan on how you want the level to look like starting from the ground up or you can just get stuck in and start putting it together.
Good luck
Well the choice to build "modular" components or not it depends on the type of environment you are working on: in certain cases although you want to have meshes that can be repeated in the environment (like rocks or stones or trunks, light poles, etc.) they don't have to fit perfectly together as for exaple a wall and its corner.
What I want to say is, don't get trapped by the modularity thing.
It's a good practice for environments to have a set of tilable textures to be reused on many different objects around the level (like concrete, stone, metal, wood, grass, etc.)
Then to make the tiling less apparent or to make the surfaces a little bit more interesting you can use a second texture in the material blending it with Vertex Color (however the effect depend on how subdivided is the geometry) or with a Mask.
On this topic I suggest you to watch the following tutorials (even though they were designed for UDK most of their principles are still valid in the new Unreal Engine):
- [3DMotive] Advanced Mesh Paint in UDK (by Ryan Smith)
- [3DMotive] UDK Materials - Part 1 (by Ryan Smith)
- [3DMotive] UDK Materials - Part 2 (by Bill Kladis)
Good to know ZacD, thanks for the feedback.
I was wondering myself if to give it a shot but I was unsure if I really needed a tool like that. :poly121:
Yes it's very simple :poly121:
Once your mesh is imported go to the collision settings of the mesh:
Use complex collision as simple will give you per poly collision so it's not recommended for a final mesh, I just use it for testing and create proper collision meshs once the mesh is final.
cheers