★ TouchArcade needs your help. Click here to support us on Patreon.

Questions on 3d models

02-01-2010, 01:59 PM
#1
Joined: Feb 2010
Posts: 9
Questions on 3d models

We're ramping up for a fast paced real time tactics game that will be based on Reaper Miniature's Warlord franchise. Planning some of this out got my gears turning on 3d modeling.

We are going to need a minimum of 40 different character models on top of terrain and any buildings we want to include. Detail of the models won't be a priority, except on some of the giant monsters.
How long does an artist need to prepare that many character models? (I know this is vague, but I'm looking for vague answers)

More than anything, I'm a developer who hasn't worked with 3d artists before. Is there anything I should know? What do you like to know when you go into a project? What are usually the biggest problems you run into?

Any help would be great, and I apologize if any of this has been asked before.

-Darren
02-01-2010, 04:26 PM
#2
Quote:
Originally Posted by DarrenHollywood View Post
We're ramping up for a fast paced real time tactics game that will be based on Reaper Miniature's Warlord franchise. Planning some of this out got my gears turning on 3d modeling.

We are going to need a minimum of 40 different character models on top of terrain and any buildings we want to include. Detail of the models won't be a priority, except on some of the giant monsters.
How long does an artist need to prepare that many character models? (I know this is vague, but I'm looking for vague answers)

More than anything, I'm a developer who hasn't worked with 3d artists before. Is there anything I should know? What do you like to know when you go into a project? What are usually the biggest problems you run into?

Any help would be great, and I apologize if any of this has been asked before.

-Darren
This is a really vague question, and it will generate really vague responses. This would be like asking a coder how long it would take to implement Feature X or Feature Y.

I like to know what the capabilities are in terms of structure and animation. This can include UV (texture animation). Are bones supported, for standard animation? What are we looking at in terms of polycount, detail and speed? Overall, is the 3D absolutely necessary? (cite reasons 2D will not work).

Standard libraries have reduced the need to ask a lot of questions. if your game fully supports the Half-Life model system, I already know a lot of its basic capabilities.

Biggest problems I've encountered? The coder tries to take away too much control for the sake of a feature that is completely unecessary. For instance, the original Half-Life models had their speed built into the model itself. That's fine for an FPS, or where an absolute speed is not necessary. However, if you try to use that model system for anything else, it quickly becomes an annoyance.

A ragdoll physics platformer:Flickitty
The artist: randall schleufer
Twitter: @FlickittyiPhone

02-01-2010, 11:32 PM
#3
Joined: Feb 2010
Posts: 9
You're exactly right that I'm being extremly vague, and I apologize. That's mostly what I'm trying to figure out, how not to be vague. I don't even know what questions to ask about 3D modeling to figure out if it's what I want or need.
Thanks ahead of time for even replying, because it's already helped.

Doing some research I think we would want 1,000 polycount. Maybe lower since at times we would expect to have 20+ models on screen.

Detail is important up to the point where you have to tell a Knight with sword and shield apart from a knight with a two handed sword. Even though they would be wearing the same armor.

Animations is something that I would want included.

I'm not familiar with speed being part of the model. It's not something I would want since that is something that would be considered in game balancing.

I don't know what this means, "Are bones supported, for standard animation?" Can you help explain?


(I'm not saying that 2D wouldn't work, but it's 3d that I know very little about. So I'm trying to learn, and hopefully others pick something up also.)
02-01-2010, 11:48 PM
#4
I'm already enjoying this thread. I know nothing of 3d modeling, so this is relevent to my interests.
02-02-2010, 01:02 AM
#5
Quote:
Originally Posted by DarrenHollywood View Post
You're exactly right that I'm being extremly vague, and I apologize. That's mostly what I'm trying to figure out, how not to be vague. I don't even know what questions to ask about 3D modeling to figure out if it's what I want or need.
Thanks ahead of time for even replying, because it's already helped.

Doing some research I think we would want 1,000 polycount. Maybe lower since at times we would expect to have 20+ models on screen.

Detail is important up to the point where you have to tell a Knight with sword and shield apart from a knight with a two handed sword. Even though they would be wearing the same armor.

Animations is something that I would want included.

I'm not familiar with speed being part of the model. It's not something I would want since that is something that would be considered in game balancing.

I don't know what this means, "Are bones supported, for standard animation?" Can you help explain?


(I'm not saying that 2D wouldn't work, but it's 3d that I know very little about. So I'm trying to learn, and hopefully others pick something up also.)
Oops, I assumed that knowledge of 3D was already present. In that case, you probably asked the appropriate question, since you didn't know where to start.

I haven't played around with 3D for a couple years, so I'm not up to date on the latest technologies and libraries.

Let's start with polycount. What is your average viewdistance? The viewdistance of an FPS can oftentimes be much closer, so more detail is needed. In an isometric/orthogonal view, the viewdistance is much further and requires less detail.

1,000 polys seems kind of high to me, but I really don't have an idea of what the viewdistance will be. Remember that a LOT can be accomplished with simple texturing.

You can also use LOD (level of detail) which is what a lot of current games are using to keep their polycounts in check. LOD is level of detail, and based on the viewdistance of the model, the poly counts will increase for more detail or decrease for less detail. This causes a little more work for the modeller, since they need to keep track of LODs at each step, even if LOD is automatically generated (you don't want a persons head to disappear).

For an idea of how viewdistance can affect things, here are some extremely low poly models that I created almost a decade ago for a mobile game prototype. This model runs at about 110 polys and it is about as low as you can go for a fully animated human (using a bone structure):



To get an idea of what these actually look like at their proper viewdistance, including their texture. Also, keep in mind that this is basically what an LOD will do- it could reduce your 1000 poly model to 110:



The barrels in the background are not even close to being cylindrical. From all angles, they appear to be, but it is mostly a trick of illusion using texturing and a carefully constructed mesh.

The bone structure is exactly what it sounds like. It is a structure beneath the mesh that allows you to manipulate the skeleton for animation. The mesh it bound to these 'bones' and follows the animated skeleton. Keyframes can be used, and all motion is interpolated, similar to the way Flash works, if you are familiar with Flash animation.

For the model examples above, the bones allowed me to create attachment points. The guns, helmets and backpack are all separate models and attached to the player in realtime. This is important, because the objects are completely separate from the main body, yet they follow the character precisely through crouching, running, turning and drawing the weapon.

This is already getting too long, and it barely even scrapes the surface.

A ragdoll physics platformer:Flickitty
The artist: randall schleufer
Twitter: @FlickittyiPhone

Last edited by Flickitty; 02-02-2010 at 01:07 AM.
02-02-2010, 02:16 AM
#6
Joined: Feb 2010
Posts: 9
Thanks for taking the time to answer.

About how long does it take to create models of that caliber? What about models in the 200 to 500, or the 600 to 1,000 range with similar animations?
If you're keeping track of LoD, how much more time do you think you spend on the character?

When it comes to animation, is it easy to copy animations from one model to another? Like if a knight raises his sword into the air, is it easy to copy that animation to a giant werewolf, so that he raises whatever weapon he has in his hand.

(Honestly I could ask questions all day, I'll try to hold back)
02-02-2010, 05:21 AM
#7
Quote:
Originally Posted by DarrenHollywood View Post
About how long does it take to create models of that caliber? What about models in the 200 to 500, or the 600 to 1,000 range with similar animations?
If you're keeping track of LoD, how much more time do you think you spend on the character?

When it comes to animation, is it easy to copy animations from one model to another? Like if a knight raises his sword into the air, is it easy to copy that animation to a giant werewolf, so that he raises whatever weapon he has in his hand.

Hi Darren! Some answers:

If you plan to have 20+ models on screen, you won't be allowed to use 1000 polys per model.
The Unity Engine (one of the leading for the iphone-although there are some other alternatives, like Torque 3d, Oolong or Shiva; or you could write your own) allows a rough estimate of 10.000 polys on screen before the lag starts.

Also, another thing you must keep in mind are draw calls. The Iphone processor, despite being more powerful than, let's say, the DS, in terms of number of polys, cannot render more than one model a time. That is, each model is rendered separately and then arranged into the complete render. As you'll understand, that means that the engine will have to render x times a second, where x is the number of models (mesh+texture) on screen at once.
Each material on each mesh causes one draw-call per frame, per light that affects it and per camera that sees it.. (So, if you have 1 mesh with 1 texture, it's 1 DC. If you have 2 meshes with 2 textures each, it's 4. If you have 2 meshes with 2 textures each with 3 lights on them, it's 12.)
If you don't want your framerate to drop drastically, you cannot bring on screen more than 20-25 draw calls (optimistic estimate).
To sum up: no more than 10.000 polygons on screen, no more than 20 draw calls per frame.



For the second answer: the time depends on ability, detail, experience, references, ecc. ecc.
Working with the iphone will take less time for textures (you only need to generate the diffuse map and the alpha-no reflections, normal maps, ecc. ecc. Yet, the optimization (read: take away every unnecessary polygon) will require time AND experience. Making bones for a low-poly character is hard! and making the textures look crisp and detailed even if you're allowed only 1024*1024 sheets, most likely shared between models to keep the draw call count low...is even harder



The third answer: you can transfer animations between characters sets without too much hassle-but often you will run into problems (i.e. in the example you cited: the werewolf will have bigger arms than the king, so there will be interpenetrations with his head, torso, ecc. ecc.) and will have to tweak them-wich can take as much time as redoing them from scratches.




40 models is a lot. I suggest you to do an isometric game with 2d graphics ^_^

Oh, and don't spend too much into development's cost on the iPhone. If you can do it all in-house, you'd better not hire freelances. They will cost you a lot of money: are you sure you can recoup it selling a miniature-based game?
Too often in this kind of trades, the only one earning is the freelance ^_^ the dev will often work hard for months to find that the market snobs his game as "it's not .99 cent", "i want more updates", "i prefer farting boobs" and so on don't get too keen on your own ideas, and don't think too big: what i learned in my researches is that, on the appstore, only cheap games recoup their budget: big (and expensive to make) games will need hype, a major publisher, or a lot of luck, to recoup their developing cost.

Just my 2 cents,
Fede

Proudly beta testing Pirate's Gold!
02-02-2010, 04:51 PM
#8
I agree with everything ziotoo4 said, especially regarding the optimization.

Getting extremely low-poly models requires a lot of time, skill and experience. Given 1000 polys, almost anyone could produce something fairly decent. However, a person with experience can do a lot more with that same number of polys.

LOD is automatically generated these days. But you still need to pay attention to details that are dropped out and adjust things accordingly. This is similar to MipMapping (textures) if you are familiar with that method.

Bones/Skeletal structure can be applied to multiple meshes, however this doesn't always work. If you have a character with wider shoulders, you'll end up with problems. If you have a character with a bigger gut, you'll have problems.

In the case of my meshes above, these are confined to a very specific set of animations. Standard running, walking and aiming (gun) are supported. Crouching and lying prone is supported. However, the shoulders are not constructed in a matter to allow the arms to go above the head. Swinging an object like a sword would not work with these meshes- it would require at least 4 more polys, maybe 8.

A ragdoll physics platformer:Flickitty
The artist: randall schleufer
Twitter: @FlickittyiPhone
02-02-2010, 08:29 PM
#9
Joined: Sep 2009
Location: UK / Toronto
Posts: 602
I'm liking this thread a lot. Especially the example images.
02-03-2010, 11:20 AM
#10
Joined: Feb 2010
Posts: 9
I agree, getting to see Flickitty's models in and out of game really helped put things into perspective. I would love to see more low-res models if others have any to share. Mention how their animations are handled also.

I know everyone has been dodging the "How long does it take?" question. I don't expect anyone's answer to that to be something that's written in stone, but it would be helpful to know how long some project you're proud of took.
I ask because if I wanted 40 models I would need a general idea of how much time in advance I need to hire the artist or how many I would need to meet my deadline.


I want to make sure I understand the explanation Draw calling correctly. Please correct me if my assumptions below are wrong.
Quote:
Each material on each mesh causes one draw-call per frame, per light that affects it and per camera that sees it
I'm going to use the picture below to make sure I have the lingo correctly. It's pulled from Polycount.

Mesh = the wire mesh of the figure
Texture = The skin of the mesh. Is the entire square considered one texture, or would each piece of it be seperate? So do the arm, helmet, and body count as 1 or 3 textures?
Camera = View point into the game
Light = How ever many dynamic light points the affect the model.