Jump to content

Photo
* * * * * 2 votes

Custom Building Models Development (Help Wanted!)

  • Please log in to reply
24 replies to this topic

#1 oppie

oppie
Awards
  
  
  

Posted 23 September 2013 - 02:58 PM

As you might have seen on the STEX (http://community.sim...74-bus-shelter/) I've recently had great success with a proof-of-concept custom building, which served as a test to see whether I had successfully identified all the different elements that make a SC2013 building. This is a very significant development since it marks the point at which I can not only confidently say that I know how to create a custom building model from scratch, I can also actually get a model from my 3d software into SimCity. However, as it stands this process is difficult and cumbersome, as a lot of the 3d modeling software and intermediate file formats (.obj, collada) don't support the very specific features I need to make our dreams a reality.
 
I'll go into the technical details in a bit, but first I'd recommend reading Ryan Ingram's blog post about how SimCity's buildings work in the first place. (http://www.simtropol...mcity-2013-r247). This might seem extremely difficult (and it is), although a lot of the most difficult work has already been done - right now what I'm looking for is a way to bring everything I've learned over the past few months together into a tool that supports building a completely new custom model from scratch like Maxis' gmax-based BAT did.
 
Techical Details
I'm going to skim over a few of the more nebulous concepts that aren't really necessary for understanding how buildings work. Essentially, each building model contains of three distinct texture layers - I'll call them the 'interior', 'exterior' and 'decals'. These layers are textured using 'sprite sheets'; a large square texture that contains all the smaller textures to be used on a single building. These smaller textures are then defined in each model element by defining the coordinates of the top corner, height and width of the sub-texture that needs to be extracted for the specific element.
HSTB6JW.png
 
You'll notice that even the sprite sheet that defines the color (the left one) only contains a masked area for each individual color of the element. The actual color is drawn from a palette that is attached to the model as a separate image. In essence, each 'element' of a model is defined as follows;
EEwScP0.png
 
Each vertex contains multiple UV coordinates for each layer, so in essence each vertex will have three sets of UV's; one that defines the interior layer (the rooms), one that defines the exterior layer (base texture layer) and one that defines the decal layer (top texture layer). The colors are drawn from the Color1, Color2, Color3 and Color4 values.
 
The Problem
All of this has knowledge combined has enabled me (through a lot of trickery and hard labor) to create my first new building model. However, as you can probably tell a lot of the requirements for a SimCity model are hardly covered by any 3d modeling software or export format. This is mainly where I'd need help - first of all I need to be able to create a new building model in any 3d modeling software according to these specifications and then I need to be able to import it into SimCityPak.
 
The requirements are as follows:
  • One mesh must be able to have multiple UV and texture layers
  • Normals, Tangents and UV coordinates must be able to be exported per vertex
  • Textures should be 'croppable' and cropping dimensions should be exportable
  • Preferably colors should be chosen in the modeling software itself according to an imported palette
As you can imagine, hardly any 3d modeling software I managed to get my hands on supported all of these features. Blender (http://www.blender.org) seems to be the best candidate since it's free and it supports multiple UV channels (and a very rudimentary cropping feature), but I'm not very familiar with it and I would probably need help with writing plugins to display the palette, make cropping easier etc.
 
Any help is appreciated, and if you need more information, I'll see what I can do.

#2 SimCoug

SimCoug
  • STEX Moderator
  • Town Planner

  • 1,867 posts
  • LocationNashville, TN
Awards
  
  
  
  
  
  
  

Posted 23 September 2013 - 04:48 PM

Congrats oppie, you are definitely on the forefront of SC13 modding and this breakthrough is excellent news.  I haven't personally played the new SimCity yet, but I've been keeping an eye on your modding progress and perhaps one day I will dive in thanks to the hard work from you and other SC13 modders.


SimCoug's Stuff: CJ - Lots - Mods


#3 gumoff

gumoff
  • gumoff

Posted 23 September 2013 - 07:56 PM

Great work Oppie, very little of what you're written above makes any sense to me, so unfortunately the only help I can offer is encouragement! However, I am seriously impressed, please please keep it up!



#4 crimsondesigns

crimsondesigns

Posted 23 September 2013 - 11:18 PM

I could be a good hand in 3DS Max.
I currently do full-time max Scripting and could likely identify/create tools to help authors in Max.

I can also likely help test models, as Max is capable of everything mentioned in your post.

 

I am just starting to dip into c++ and 3DS max and hope to start writing import/export for work and would be able to translate learning to another project like this.



#5 oppie

oppie
Awards
  
  
  

Posted 24 September 2013 - 11:01 AM

I could be a good hand in 3DS Max.
I currently do full-time max Scripting and could likely identify/create tools to help authors in Max.
I can also likely help test models, as Max is capable of everything mentioned in your post.
 
I am just starting to dip into c++ and 3DS max and hope to start writing import/export for work and would be able to translate learning to another project like this.

 

That sounds great! I've looked into the possibilities of 3dsmax myself, and while the multi-layered approach seemed slightly complicated to me, perhaps with the proper scripting and plugins, we can make a proper toolkit that will in the end allow us to seamlessly export buildings from 3dsmax to SimCityPak.

I was thinking of the following roadmap towards creating a set of tools;

  • First of all we'd need a proof-of-concept .max file that contains all the necessary elements which we can use to base our exports on.
  • Secondly we should make sure that all these elements are exported to a file format that SimCityPak can read (this is probably where a lot of scripting comes in).
  • The last step would be making the process of creating the .max file in step 1 as easy as possible.

If we can accomplish this, I can add the necessary code into SimCityPak to make the process of importing the building model into the game easier.



#6 Xyloxadoria

Xyloxadoria
  • This is where i would put my Origin Username. IF I HAD ONE!!
Awards
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

Posted 24 September 2013 - 12:06 PM

I could be a good hand in 3DS Max.
I currently do full-time max Scripting and could likely identify/create tools to help authors in Max.

I can also likely help test models, as Max is capable of everything mentioned in your post.

 

I am just starting to dip into c++ and 3DS max and hope to start writing import/export for work and would be able to translate learning to another project like this.

 

A few months ago MaxisGuillaume was in chat..What he mentioned is now in that article about how buildings work, except for one major detail: Maya.

 

 

I have used Maya some and know the basics of it. MaxisGuillaume never told me specifics,, but if i would have to speculate then I would say they using the Hypershade and the Maya Layered shader Of course the information i received is very  basic so i could be wrong. They one thing i know 100% for sure is that he said that they used Maya and not 3dsmax for this version of SImCity.



#7 oppie

oppie
Awards
  
  
  

Posted 24 September 2013 - 12:45 PM

A few months ago MaxisGuillaume was in chat..What he mentioned is now in that article about how buildings work, except for one major detail: Maya.

 

 

I have used Maya some and know the basics of it. MaxisGuillaume never told me specifics,, but if i would have to speculate then I would say they using the Hypershade and the Maya Layered shader Of course the information i received is very  basic so i could be wrong. They one thing i know 100% for sure is that he said that they used Maya and not 3dsmax for this version of SImCity.

 

 

It's absolutely correct that Maxis uses Maya. Ryan Ingram said as much in a reply to one of my posts on Reddit:

 

 

We use Maya with a plugin to let us run HLSL/GLSL during rendering; all the attributes aside from the two core UV sets are specified as parameters per-material which affect this shader.

Then there's an export step which glues all the materials together and fills in the rest of the data (from the original material's attributes)

 

However, since what ends up in-game is just triangles, vertices and a bucket load of metadata, in theory we can use any 3d modeling software we want as long as it can provide an easy way to create such models and allows exporting them. This gives us a lot of freedom (I've considered using Sketchup at some point) although of course I'll be looking at the option that's the easiest to implement first.



#8 crimsondesigns

crimsondesigns

Posted 26 September 2013 - 11:07 PM

While I haven't worked with Maya for a few years, it probably wouldn't be too hard to get the models into/out of it.
I could probably get my hands on a student copy, if required.

But likely we can create the data we need in 3DS.



#9 mazman34340

mazman34340

Posted 04 October 2013 - 07:45 PM

high_rise_alpha_image_by_mazman34340-d6j

I know Maya and Photoshop, but I do not have the time. :(

 

Also, I understand the concepts for modeling, UV'ing, and texturing but the three texture layers are confusing as hell yet sounds interesting at the same time.

 

The article is even worse. My head hurts.

 

Let me ask my professor about this and see what he says and plenty of other people in the Game Design department will know more about this than I do.



#10 oppie

oppie
Awards
  
  
  

Posted 07 October 2013 - 12:05 PM

For those interested in creating custom buildings - Below I'm going to dump some details that might be interesting to anyone who wants to create their own models.

 

  • First of all, for the time being I'm focusing on 3d studio max and creating integrated tools for exporting models to a format SimCityPak can read. Crimsondesigns is providing great help on this.
  • Obviously models will have to be low-poly and will eventually need multiple LOD levels
  • I'm using OpenCollada (https://github.com/K...oup/OpenCOLLADA) to export models from 3ds to SCP. The .obj file format that I was using before doesn't really provide the flexibility needed, such as including multiple UV channels and other parameters.
  • The textures can only be a cropped section of the sprite sheets mentioned in the first post. There are multiple sprite sheets already included in the game; look for RASTER type files in SimCityPak
  • Colors for the textures are chosen from predefined palettes
  • The interior (rooms) are mapped using UV channel 1, the exterior layer also uses UV channel 1 and the top layer (decals) uses UV channel 2
  • For the time being animated models are not supported

If you have experience with 3ds and think you have what it takes to start modeling, let me know - I'm interested in helping some experienced modelers get started to see if my process is adequate.



#11 mazman34340

mazman34340

Posted 08 October 2013 - 10:06 AM

Alright, what about .fbx files?



#12 TRuTHSeRuM65

TRuTHSeRuM65
  • TRuTHSeRuM65

Posted 14 October 2013 - 04:31 PM

OK - I'm in NO WAY an expert in 3D modeling - in fact I've never really done it, but modding for SimCity makes  me want to learn, and learn quick.  Should I start with Maya or 3DS?  I'll search for basic tutorials, but if any of you know of the BEST resources I'd be forever grateful if you'd share them.



#13 oppie

oppie
Awards
  
  
  

Posted 15 October 2013 - 01:53 PM

I've had some problems with my internet connection for the past few days (my modem died) but in the meantime I've been making some decent progress on making the process of creating buildings easier. I'll first create another building from start to finish myself and then release the tools here so people can start testing them and create their own custom buildings in the process. I expect that this'll probably only be another week, so keep an eye on this thread!



#14 mazman34340

mazman34340

Posted 15 October 2013 - 06:11 PM

No longer is this a low poly building with textures with Simcity, now its a whole new level of difficulty to mod.

 

I don't actually have simcity 2013 by the way. Is it worth buying now?



#15 Xyloxadoria

Xyloxadoria
  • This is where i would put my Origin Username. IF I HAD ONE!!
Awards
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

Posted 06 November 2013 - 08:52 AM

Id be interested in helping out, Ive used Maya and Max so i would be able to help out either way. I want to actually get my moneys worth out of SC2013, so hoepfully making mods would be the way to do that.



#16 DrSpaceman

DrSpaceman

Posted 16 November 2013 - 07:46 AM

Ewwww 3ds max? Blender is the way to go :P



#17 Bipin

Bipin
  • Member
  • Bureaucrat

  • 1,171 posts
  • ← I wouldn't touch that with a ten foot pole.
  • Locationis irrelevant unless you are some sort of stalker. In that case, drop me a line and we can hook up... ;-)
Awards
  
  

Posted 20 January 2014 - 09:38 AM

I'm sorry if this constitutes a thread necromancy, but I didn't see a more opportune place to post. As most of you know, I have a BAT thread; I have decent experience with 3dsMax and I know my way around the program fairly well. I'd love to help out with the modeling aspect and would be open to learning a few new things with programs like Maya/Blender which I do have limited, rudimentary experience with. If you need my help, let me know! One question I had was if a conversion process for preexisting 3dsmax models would be possible some time in the future?


bipin2.jpg         Need to contact me? Head on over: http://www.simpeg.co...profile;u=53285


#18 Tobse

Tobse
  • 01origin10

Posted 20 January 2014 - 01:33 PM

if you need help in blender.

i work with blender since 6 years ago.

my strengths are in the high polygon and low polygon modeling (Rendering too :) )

 

you can downlaod one of my mods and there you can see my mesh flow is.

 

feel free to contact me



#19 Bipin

Bipin
  • Member
  • Bureaucrat

  • 1,171 posts
  • ← I wouldn't touch that with a ten foot pole.
  • Locationis irrelevant unless you are some sort of stalker. In that case, drop me a line and we can hook up... ;-)
Awards
  
  

Posted 20 January 2014 - 04:31 PM

if you need help in blender.

i work with blender since 6 years ago.

my strengths are in the high polygon and low polygon modeling (Rendering too :) )

 

you can downlaod one of my mods and there you can see my mesh flow is.

 

feel free to contact me

 

Thanks for the response, my specialty is high poly as well, but I've recently been getting into low poly models with a focus on texturing via a heavy use of bump, displacement, normal etc. maps to make up for the loss in quality. I have only very limited experience with Blender, I'm not very familiar with the program at all. Despite that, I'd like to learn and experiment, so how would someone coming from a predominantly 3dsMax/Sketchup background see things in terms of familiarity?


bipin2.jpg         Need to contact me? Head on over: http://www.simpeg.co...profile;u=53285


#20 dcbenji

dcbenji
  • dcbenji

Posted 20 January 2014 - 07:23 PM

high_rise_alpha_image_by_mazman34340-d6j

I know Maya and Photoshop, but I do not have the time. :(

 

Also, I understand the concepts for modeling, UV'ing, and texturing but the three texture layers are confusing as hell yet sounds interesting at the same time.

 

The article is even worse. My head hurts.

 

Let me ask my professor about this and see what he says and plenty of other people in the Game Design department will know more about this than I do.

My head hurts as well. I'm really hoping Maxis is working on something we can use to make our own buildings and textures. Maybe its the next "Expansion". I would totally pay for it if it was relatively easy to use.



#21 Nicistarful

Nicistarful
  • LocationGermany

Posted 21 January 2014 - 05:18 PM

high_rise_alpha_image_by_mazman34340-d6j
I know Maya and Photoshop, but I do not have the time. :(
 
Also, I understand the concepts for modeling, UV'ing, and texturing but the three texture layers are confusing as hell yet sounds interesting at the same time.
 
The article is even worse. My head hurts.
 
Let me ask my professor about this and see what he says and plenty of other people in the Game Design department will know more about this than I do.

My head hurts as well. I'm really hoping Maxis is working on something we can use to make our own buildings and textures. Maybe its the next "Expansion". I would totally pay for it if it was relatively easy to use.

That's what Maxis/EA wants. "I would totally pay for it" - paying for everything and even the littlest things which are normally free. That's the wrong attitude. Normally a building creator tool, which had maybe even there at the beginning of the game release, isn't smth. You are paying for. And to say "I would totally pay for it" makes them releasing more things, which should be free. And even they wouldn't release a tool, cause they wan't the people to buy buildings. Like all the DLCs... *facepalming 100,000 times*

#22 dcbenji

dcbenji
  • dcbenji

Posted 02 February 2014 - 12:09 AM

 

 

high_rise_alpha_image_by_mazman34340-d6j
I know Maya and Photoshop, but I do not have the time. :(
 
Also, I understand the concepts for modeling, UV'ing, and texturing but the three texture layers are confusing as hell yet sounds interesting at the same time.
 
The article is even worse. My head hurts.
 
Let me ask my professor about this and see what he says and plenty of other people in the Game Design department will know more about this than I do.

My head hurts as well. I'm really hoping Maxis is working on something we can use to make our own buildings and textures. Maybe its the next "Expansion". I would totally pay for it if it was relatively easy to use.

That's what Maxis/EA wants. "I would totally pay for it" - paying for everything and even the littlest things which are normally free. That's the wrong attitude. Normally a building creator tool, which had maybe even there at the beginning of the game release, isn't smth. You are paying for. And to say "I would totally pay for it" makes them releasing more things, which should be free. And even they wouldn't release a tool, cause they wan't the people to buy buildings. Like all the DLCs... *facepalming 100,000 times*

 

I think there would be enough value in a tool that would help us make our own buildings and modify the textures to justify a price tag . I also don't mind paying for expansion packs that have a decent amount of professionaly designed models in them. Waiting for Maxis' new blog posts to give us a little more insight into how to design custom assets is going to be really annoying.

 

If someone isn't getting paid to make tools that are easy and fun to use the same way the developers got paid to design a great game that is fun to play I feel like its going to take a really really long time to get a lot of modding done :(



#23 Deed_Poll

Deed_Poll

Posted 17 February 2014 - 01:46 PM

This is probably all a bit premature, but what the hell!

I work for a packaging company as a designer of parametric models to produce box nets. Basically all the measurements of the box model are driven by global variables, usually height, width, depth and material thickness.

I have always thought that what SC needs is parametrically designed models for buildings which are driven by plot size / shape, land value, demand, traffic, tech level etc. I have been studying the rules of urban and suburban architecture, and I think with a bit more work and some help I could link in some randomization of variables and suppression of some features so that buildings randomly borrow the DNA of their surroundings when they are built. For instance, in city centres buildings are usually defined by negative space, so that the buildings are pretty much one 'mass' and this is sculpted away by roads, parks and public squares which form contingent spaces that span between plots. Conversely, in suburban areas buildings have 'shape' and the spaces between the buildings are more amorphous.

This is probably not applicable to SC13 mods, but I had an idea for a 2.5 dimensional city builder game that basically can only be viewed from a few angles (set by the player).

Basically buildings would be generated fractally / procedurally / parametrically and a high quality render would be taken of the model from the predetermined angles, and these would be used as sprites in the game. A simple 3d model would be retained for shadows, plus a simplified DNA code to allow for additional expansions in the building and commutivity to other buildings.

What do you think?

#24 DamienMB

DamienMB
  • LocationAustralia

Posted 17 February 2014 - 04:39 PM

What do you think?

 

Sounds way ahead of what modders can do in SC13 at this point, but an interesting idea nevertheless.

I was actually thinking the other day that in order to have 'realistic' urban areas in SC the buildings need to be procedurally-generated (or similar). Because real lots vary widely in profile and buildings are designed to utilize the given space, resulting in irregular-shaped "fill in" shops and houses.



#25 dcbenji

dcbenji
  • dcbenji

Posted 19 February 2014 - 01:01 PM

I'm Trying to correspond via twitter w/ one of the original devs of SimCity who left with Ocean Quigly. He sent me this presentation he did on the graphics/modeling development he did for the game. It might help has you work on your buildings sets.
 
 
The first part has a few really useful images about how the textures for the buildings are made. It looks like a lot more geometry is built seperate from the main mesh. This extra geometry is the "facade" (windows, doors, roof tiles, etc). These would obviously exceed the polygon budgets, but they are created so that their texture maps can add relief mapping and detail to the outside of the main mesh. So the geometry from the facade isn't used, but the depth, color, normal, reflection etc. info is.
 
One of the texture maps for the facade is a map that assigns a solid color to each element. For example, all the window frames are blue. This solid color is a placeholder so that the game engine can assign random colors from a simple bitmap palette to the window frames. I don't know if we need to  seperate these colored areas for our buildings or not. In the presentation, these colored maps are used in a special dev tool to help quickly randomize a bunch of buildings that will sprout up. My buildings are made of wood textures so a solid color replacement wouldn't work for the window frames, but maybe we have to do solid colors and that is part of how the game engine is able to make so many buildings and not load a colored texture map for each. On the other hand, the game still has to load a shat ton of texture maps with each building, so maybe it isn't an issue.
.
 
I'm not very clear on the interior light mapping. It looks like you basically use the inside of your mesh (or just a box, since this is only used for what you see in the windows), add a light or two tomrepresent the ceiling light or whatever, then bake the global illumination and ambient occlusion on a single  unwrapped UV texture.
 
It's nice to have a little bit more clarity to the process. I at least feel comfortable enough to model some windows and doors onto my shotgun shack. I just need to keep them separate from the original mesh.
 

Here are some images from the presentation:
Screen+Shot+2014-02-19+at+9.57.26+AM.png
Screen+Shot+2014-02-19+at+9.57.54+AM.png
Screen+Shot+2014-02-19+at+9.58.02+AM.png
Screen+Shot+2014-02-19+at+9.58.13+AM.png



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users