Leveldesign in Unity or Blender - Basic Questions

Started by
4 comments, last by Asphalon 4 years, 5 months ago

Hello @ all ?

 

let me introduce our Project. A 3D RPG in the Style of Dungeon Siege.

We are 4 Guys. Everyone of us has one Work Section: 

1. Story&Dialogues (A friend, published 2 books allready and wanted to join us)
2. Modelling in Blender (Its me, I had some months of learning allready)
3. Worlddesign in Unity (Beginner)
4. Programming (allready professional Developer, but not in Gamesection)

We will have to get an person for texturing ?

 

Now our problem.

The Levels wil be around 300x300 meter big. There will be portals to the next levels.

Should we create the levels in Blender only? Or should we create the World in Unity and just import

the Assets and Characters after I created them in Blender?

I often see that Game Developer are creating the whole levels in Blender and just place them in Unity.

But Unity has all the tools for wide and big scenery like Fields and Mountains.

 

Sorry for my english, I am german and sometimes the right words wont come in my mind ?

 

I hope you understand my struggle and can give me a little help.

 

 

Advertisement

Hello and welcome,

from an engine developers perspective, levels should always be declared in a format that the engine understands. I know many designers and artists want their tools and then have the engine do anything but most of the time this will not work unless you have an exporter into the engine format.

The reason is simple, it is true that for small levels you can propably have anything in one scene/mesh but for something like Dungeon Siege (and similar games) where levels are about to be something bigger (especially in DS 2 where you can travel seamless through the whole world) there has tobe some kind of streaming in the game. You don't want to load anything at once because modern games often have 100k+ objects in a scene that have to be rendered and managed, animations, trigger zones, physics. All of this consume certain amount of CPU power and the bigger your levels/ game the more CPU power is required to have it run at an arbitary FPS count.

So for RPGs, I prefer level streaming.

Game Engines like Unity don't support this by default, you have the API that is about to let you do it but you still have to manage your scenes by your own. Unreal however has something like streaming already built-in into it.

So my opinion is that you should build your levels in your game engine unless you have an export from blender to something the game engine understands

10 minutes ago, Shaarigan said:

...you should build your levels in your game engine unless you have an export from blender to something the game engine understands

Thank you very much for your help on this. It is exactly what i wanted to know ? Because we are very much at the beginning of our learning progress, we will design our levels midsize and then make hard portals to the next level, so it will not load all at once.

Do you think this is a good idea? With Portal i mean one big Gate which is the only way out of a level. the rest of the level is caged by Mountains or water, so the player has to take the portal. And after going through the gate, it will not show the rest of the old level.

 

It depends, if you have a lot of static geometry and prebake anything, then it will not have too much impact on your game. If you have a lot of enemies, items, interactables or dynamic stuff, then you should test at which point streaming is faster than relying on the SceneGraph. To not see anything doesn't mean it isn't there.

The SceneGraph in Unity evaluates if something is in view and schedules the hirachy for rendering so the memory is occupied anyways. It may not matter on PC platform but Console or Mobile games have to keep an eye on that. The RAM of such devices is limited, more than on PC.

From a level design perspective, an open world feels way better than room based maps but thats up to you to decide

Thank you for your great feedback. I will keep creating every asset in Blender and just import the .blend file and the normal/roughness/albedo maps into unity and there will be created the level. I like to have a bigger open world like level, so it feels more comfy to walk through.

 

 

This topic is closed to new replies.

Advertisement