Large world creation
Hi, my team of modellers recently ran into a problem that might take proportions in the near future...we are working on a large world modeled entirely in 3DSMax 6 and exporting it in to the engine....so everything is placed in Max. The problem is that we'll have 1000s of little objects that will make the scene. Ofcourse it's splitted in smaller regions...about 512x512m, but still the amount of objects is huge. We tried using XRefs but it seems the objects in the big scene don't always get updated(either if we use auto update or manual) also merging them in the big scene it's not a solution since the objects or their texture changes frequently. How do people usualy manage this? The size of the world cannot be reduced nor it's split size. Currently there are working around 5-6 people on a level simultaneous so what can we do? thank you.
You need an understanding of how normal games work, right now, you're importing a whole world area as a1 huge object into the engine, plus you're not taking any advantage you get from caching identical models...
gotta go to work, i'll explain it better from there...
gotta go to work, i'll explain it better from there...
http://www.strangefate.com
actually i don't import it just as one big object...the whole world is splited into patches of various sizes. Each patch has either a quadtree, octree or ABT associated depending on it's geometry, each patch is loaded as the players get's close to it. In this specific case it's no need to cache identical objects since i'm talkin about static geometry and there will be hardly any identical objects...or so many that it will be a disadvantage. Not the engine is the problem now...i'm talking from the modellers point of view...how to organize it in MAX. thanks
I see.
Usually you will have some world modelers doing the different objects and 1 Level Designer that puts it all together in a scene, noone else is going to edit the final scene but the Level Designer.
The objects have to be delivered with a UVmap and skin if needed, if not the LD can throw a tiling texture on them (standard world geometry).
That's the standard procedere, beyond that we have Perforce to check in/out files and make sure everyone has the latest version when someone updates anything, but that solution is probably a bit unrealistic for a freetime project. It's just never good to have several people working on 1 scene unless the tasks are clearly defined.
As games get more complicated there's sometimes someone doing the usuall LD work and someone else going in afterwards to add particles, better lighting etc.
Usually you will have some world modelers doing the different objects and 1 Level Designer that puts it all together in a scene, noone else is going to edit the final scene but the Level Designer.
The objects have to be delivered with a UVmap and skin if needed, if not the LD can throw a tiling texture on them (standard world geometry).
That's the standard procedere, beyond that we have Perforce to check in/out files and make sure everyone has the latest version when someone updates anything, but that solution is probably a bit unrealistic for a freetime project. It's just never good to have several people working on 1 scene unless the tasks are clearly defined.
As games get more complicated there's sometimes someone doing the usuall LD work and someone else going in afterwards to add particles, better lighting etc.
http://www.strangefate.com
well..this isn't actually a freetime project...and it's the same approach we used so far...but what if someone changes the texture for "that chair" or the chair itself? and say we have it placed all over the scene...wouldn't be XRef the way to do it? And i'm planing to have someone texture everything...and the other guys besides LD to model the objects, scene. But i'm affraid that everything will become huuuge and having collision meshes also placed in Max it will add a lot... And keeping files on server isn't a good option? thanks
I don't know how XRef works, i'm guessing that's a DirectX function (?).
But yes, referencing is usually the way you do it so edited models and textures get updated everywhere, plus referenced objects and textures can be cached.
You need a clear file and directory naming convention and structure if you're going to have a lot content. What is the best for you depends on the project.
A typical structure would be splitting the content based on their type:
Separate directories for buildings, vegetation, building inner decorations etc. If you have different races or cultures splitting those helps too.
Or, you can split them based on the level they are being used, tho if you have a constant world like in a MMO or Dungeon Siege that wouldn't work.
Depending on the expected amount of content you'll have to see how anal you want to be structured, if you're going to have a lot of vegetation as example, separating the trees/gras/bushes etc. into separate directories might be a good idea.
Also, all files related should have the same names, ie. smallchair1.3ds should have a skin named smallchair1.tga (unless it only uses a tiling texture).
Use descriptive names where possible, chair25.3ds isn't very helpfull, smallchair25.3ds, ornatechair etc will help in finding objects faster and break down the styles available some more.
If you're using other 2d files besides the color map (like a specular map, normalmap, collision mesh etc) make sure to give them proper names too ie. smallchair_c.tga, smallchair_s.tga, smallchair_n.tga, smallchair_c.3ds.
If you keep everything sorted properly all the smallchair materials and related objects should be together on 1 directory and always easy to find and change.
You should think of this a bit ahead as renaming and moving directories would most likely break a lot of references in scene files. Needs to be done tho, managing assets can get very time consuming and frusttrating otherwise.
Keeping files on a server is great of course, if you can afford Perforce or another asset management tool then it would make sure everyone has the latest files, plus keeps older revisions so you can revert to older builds anytime or bring back deleted files. It's pretty much a must have for any dev company.
But yes, referencing is usually the way you do it so edited models and textures get updated everywhere, plus referenced objects and textures can be cached.
You need a clear file and directory naming convention and structure if you're going to have a lot content. What is the best for you depends on the project.
A typical structure would be splitting the content based on their type:
Separate directories for buildings, vegetation, building inner decorations etc. If you have different races or cultures splitting those helps too.
Or, you can split them based on the level they are being used, tho if you have a constant world like in a MMO or Dungeon Siege that wouldn't work.
Depending on the expected amount of content you'll have to see how anal you want to be structured, if you're going to have a lot of vegetation as example, separating the trees/gras/bushes etc. into separate directories might be a good idea.
Also, all files related should have the same names, ie. smallchair1.3ds should have a skin named smallchair1.tga (unless it only uses a tiling texture).
Use descriptive names where possible, chair25.3ds isn't very helpfull, smallchair25.3ds, ornatechair etc will help in finding objects faster and break down the styles available some more.
If you're using other 2d files besides the color map (like a specular map, normalmap, collision mesh etc) make sure to give them proper names too ie. smallchair_c.tga, smallchair_s.tga, smallchair_n.tga, smallchair_c.3ds.
If you keep everything sorted properly all the smallchair materials and related objects should be together on 1 directory and always easy to find and change.
You should think of this a bit ahead as renaming and moving directories would most likely break a lot of references in scene files. Needs to be done tho, managing assets can get very time consuming and frusttrating otherwise.
Keeping files on a server is great of course, if you can afford Perforce or another asset management tool then it would make sure everyone has the latest files, plus keeps older revisions so you can revert to older builds anytime or bring back deleted files. It's pretty much a must have for any dev company.
http://www.strangefate.com
hi, thanks for your reply..the directory structure and everything is already in place, i'm asking most as i said before from the point of view of the modeller in Max. Anyone has some hints or suggestions? and at an advance level...the basics are already there...i'm talking about ways to ease the maintaince and developement of the world...in Max :)...thanks
PS. XRefs are either objects or scenes stored in a different file and can be "merged" in another scene..."merge" because it's only a "mirror" of that object/scene...so if that object changes in it's file...it's automaticly(or manual) updated in the scene that has a link to that object. Unfortunatly some weird problems occur while using it (by the book ofcourse :) )
PS. XRefs are either objects or scenes stored in a different file and can be "merged" in another scene..."merge" because it's only a "mirror" of that object/scene...so if that object changes in it's file...it's automaticly(or manual) updated in the scene that has a link to that object. Unfortunatly some weird problems occur while using it (by the book ofcourse :) )
August 30, 2004 03:09 PM
I see your problem, When doing some scene, I ran into this kind of problem, especially on my slow PC.
I haven't use Max for like 4 years now, only Maya, but what you do is turn your objects into box, just for the display, I am sure its under view somewhere in Max. What this does is speed up your rendering performance.
If that's not enough, what you do is create your own world editor, the best way really, 3DSMax or Maya or most of this content creation software aren't design for such large world.
Another way is just don't merge your scene, export it seperately, and merge them in your engine.
I haven't use Max for like 4 years now, only Maya, but what you do is turn your objects into box, just for the display, I am sure its under view somewhere in Max. What this does is speed up your rendering performance.
If that's not enough, what you do is create your own world editor, the best way really, 3DSMax or Maya or most of this content creation software aren't design for such large world.
Another way is just don't merge your scene, export it seperately, and merge them in your engine.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement