Questions on 3d models

Discussion in 'Public Game Developers Forum' started by DarrenHollywood, Feb 1, 2010.

  1. DarrenHollywood

    Feb 1, 2010
    9
    0
    0
    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
     
  2. Flickitty

    Flickitty Well-Known Member

    Oct 14, 2009
    761
    1
    0
    iPhone Dev
    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.
     
  3. DarrenHollywood

    Feb 1, 2010
    9
    0
    0
    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.)
     
  4. MexicanJesus

    MexicanJesus Well-Known Member

    Nov 10, 2009
    316
    0
    0
    I'm already enjoying this thread. I know nothing of 3d modeling, so this is relevent to my interests.
     
  5. Flickitty

    Flickitty Well-Known Member

    Oct 14, 2009
    761
    1
    0
    iPhone Dev
    #5 Flickitty, Feb 2, 2010
    Last edited: Feb 2, 2010
    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):

    [​IMG]

    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:

    [​IMG] [​IMG]

    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.
     
  6. DarrenHollywood

    Feb 1, 2010
    9
    0
    0
    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)
     
  7. ziotoo4

    ziotoo4 Well-Known Member

    Jan 9, 2010
    86
    0
    0

    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
     
  8. Flickitty

    Flickitty Well-Known Member

    Oct 14, 2009
    761
    1
    0
    iPhone Dev
    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.
     
  9. EssentialParadox

    EssentialParadox Well-Known Member

    Sep 21, 2009
    602
    0
    0
    UK / Toronto
    I'm liking this thread a lot. Especially the example images.
     
  10. DarrenHollywood

    Feb 1, 2010
    9
    0
    0
    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.
    I'm going to use the picture below to make sure I have the lingo correctly. It's pulled from Polycount.
    [​IMG]
    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.
     
  11. etoiles

    etoiles Well-Known Member

    Your polycount example would be one draw call, since it is a single mesh with a single texture/material (I assume).

    If you had two separate characters sharing the same texture/material, it would be two draw calls unless you can merge the geometry of the two meshes before rendering (batching).

    If you have a single piece of geometry with a single texture, but different materials for various parts (because you merged geometry with different material names, or if you need different shaders on different parts of your object), then you will get a new draw call for each material.

    As for times to create models, it all depends on the complexity of the characters, of course. For a 1000 poly character, I would count 2 days for modeling/texturing, 1 day for rigging/testing/tweaking and 0.5 to 1 day for each animation. But it is really going to depend on your artist, art style, wether you can paint the textures or need to create a high res model to 'bake' them etc. If you want realistic stuff, it might take over a week just to model a higher res version. You will also want to schedule some extra time to allow for changes once the characters are in game and you can see what needs adjusting.

    Hope this helps.
     
  12. Venan

    Venan Well-Known Member

    Jan 13, 2010
    174
    0
    0
    I guess one big question - are you using an engine (like unity) or something else?

    How are you going to get the models into the game?

    3D is a big can of worms if you aren't familiar with it already. You may find yourself sucked into the world of matrices, cameras, quaternions, etc. and not spending any time on the game you want to make. 3D games are also much harder to optimize, since there are so many places that you can wind up having bottlenecks. Also, if you don't know what you're doing in terms of lighting and setting up your world, 3D games can look really, really bad. If you do have experience with this stuff, then ignore my warnings.

    Your poly-counts are high though, if you are talking about a number of units on screen at once. You will also need to consider if they are boned (most likely), how many bones are in each one and how many will be animating concurrently. LOD is only useful if you need the higher LOD version, e.g. closeups, but may not be worth the cost if you are going to be pulled out all the time.

    In terms of your original question, you'll need an artist to do the following:

    - Build the model
    - Texture the model, this may include things like normal maps if you get into writing shaders for 3GS class devices
    - Rig the model (add bones to it) if it's a character
    - Animate the model for each animation you need (run, idle, shoot, hit by weapon, scratch head, etc).
    - Export the model in the format for your engine.

    Beyond just low poly modeling, you'll need someone who is good with working with bones and able to animate well without requiring a ton of them. The rigging and animating though can frequently be an entirely different person since some are good at both (modeling and animating), or just one or the other.

    Anyhow, I could get into more specifics but I hope that helps.
     
  13. ziotoo4

    ziotoo4 Well-Known Member

    Jan 9, 2010
    86
    0
    0
    Polycount is a great board-even if they often go for higher res models (for PC mostly) the tips and tricks they share are appliable everywhere. Other interesting places are cgsociety.org (and its board cgtalk)
    Also, check out the Dominance War: it's a competition held every year between the most important forums. Each 3d or 2d artist partecipating must choose a forum to affiliate to-that will be his/her team. There's a lot of competition, and almost every work is above the average 3d models. Here too it's mostly next gen-but the basics are there.

    As for "how animations are handled": when working in 3d for the iphone you go for a low polygon number: that is you have to think carefully how to bend meshes with bones. Again, go for the basis with any tutorial, and apply what you found on the low poly. There are some tricks-but trial and error is the best thing to learn. Explaining those would go beyond my iron-typing will :) and i'm no master at all ^_^

    Basically when skinning a mesh you build a skeleton and then "paint" influence areas for each bone-like you would paint a texture-in a b&w map (Black is 0 influence, white 1-use grey shades for transitions). You can do that in any image editor or (at least, in Autodesk Maya) paint directly on the model.

    After you do that, you animate the skeleton. Doing convincing animations again goes beyond this post-basically you define keyframes, the computer interpolates them, you tweak the result. A lot harder than this :)
    this book is the bible: the studio where i interned this summer had one of those: and i can tell that each page is a real treasure.

    Lastly, you import the model in your 3d engine and add interactivity.

    Hope i covered it all :)



    Aswers may vary :) it all depends on what you're looking for.
    If you're looking for an isometric strategy games, then there is no need to make hi-res models, bake textures (optionally normals) and apply them on the low res one. So i would say (assuming 1 day= 8 hr work):
    1 day for modelling
    1-2 days for texturing
    1-2 days for rigging
    1 day for every 120-160 frames of animation
    Basically you could make 1 complete character a week-two if you lower quality, three/four if you have a terrific professional worker and reuse some assets (i.e. just change textures and use the same skinned meshes, or reuse animations). Again, very generic, i'm sorry.

    Every single image counts as a texture. That is a single 128*128 image, so yes.

    I think that on the iphone you won't use lights. You would use instead tricks like self-illuminating shaders, ambient lights andblob shadows.





    Whew, long :)
    if you need anything else... ^_^

    Fede
     
  14. ziotoo4

    ziotoo4 Well-Known Member

    Jan 9, 2010
    86
    0
    0
    Exactly: the most useful advice here is: start with the basics. If you don't know how to draw in 2d you won't be able to model and texture your models. If you don't know anatomy you won't be able to do convincing skeletons, if you don't have solid backgrounds you won't be able to light well, and so on ^_^

    As a side note, Venan, i was impressed by space miner's trailer. Are you using Unity, or a custom engine? And, most of all, how were you able to keep good performances while using reflective shaders? I assumed that on the iphone you're limited to alpha+diffuse for decent performances...

    Fede
     
  15. Venan

    Venan Well-Known Member

    Jan 13, 2010
    174
    0
    0
    Thanks!

    We use a custom engine.

    We're not using any shaders in the game currently. If you're talking about the shininess we get on the ship and enemies, we do that using multi-pass texturing with a separate pass for the specularity.
     
  16. Foursaken_Media

    Foursaken_Media Well-Known Member
    Patreon Indie

    #16 Foursaken_Media, Feb 3, 2010
    Last edited: Feb 3, 2010
    By the way, its TRIANGLES that actually matter, not polygons. I would say to get a good looking close-up of a human figure, you need at least 300-400 triangles to do that -- the texture is probably more important then the model itself assuming you have at least a REASONABLE mesh. From a distance, you can probably get a figure with about 200-250 triangles and still look good.

    As far as time goes, I'd say someone should be able to get a basic humanoid 300 triangle model up in about 3-5 hours, probably less depending on how they prefer to model. Texturing is another 2-5 hours, and animating just depends on what you're looking for. So you're probably looking at around 10-20 hours for ONE COMPLETELY ORIGINAL MODEL with a couple of animations. Of course it'll be +/- depending on the artist and what you want specifically.

    If you want to save time, there are shortcuts for things of course, so it shouldn't REALLY be 20 hours per model x 40 models -- such as using the original base model for all the others, and slightly altering them (if theyre all similar types of characters -- a lot of the differences you can simply get from a different animation set or texture rather then the model itself). Using the same UV map for each model so the texture process is GREATLY simplified across multiple models. If all the models are similar, many animations can cross over from one to the other, although there might be some cleanup (poorly animated joints, etc) if the models differ too much.

    So again, if you're looking at a time frame, VERY ROUGHLY, id expect around 20 hrs + around 2-10 hrs per extra model after the "base model" depending on how much they are going to be similar or different.

    Here is an example of the same base model being used in 2 different characters (mind you these are models being used in our upcoming iphone game, so are a reasonable triangle count). Along with the same UV map. So all I had to do in this case was change the proportions on the limbs, scale the giant up a bit (this took about 15 minutes), redo the texture map (1-2 hours), and redo the animations and he was good to go (3-5 hours).

    Again, keep in mind this is ROUGH based on what you said you wanted, and only from my POV as a 3d artist.
     

    Attached Files:

  17. helioxfilm

    helioxfilm Well-Known Member

    Nov 25, 2008
    123
    0
    16
    game designer
    Budapest, Hungary
    Hi,

    I hope you won't mind another newbie question. As a first learning project, I am intend to create a small 2D line drawing game. However, in this project not airplanes, or ships would have been controlled, but humans. The background is a simple picture.

    What would be the best solution for those tiny humans?

    I would like to animate them up to a certain degree as they are follwing their paths (basic legs-arms movements, full body turns, no face or other fine movements), and would like to achive a nice visual image. I would appreciate links for examples.

    As far as I know, Zombieville USA used skinned meshes. In Sentinel I like those tiny creature marching around... I suppose those are real 3D characters...

    About 30-40 humans would occupy the screen as the maximum... And I am using Unity iPhone Advanced...

    Many thanks for the advices...
     
  18. ziotoo4

    ziotoo4 Well-Known Member

    Jan 9, 2010
    86
    0
    0
    If it is a top down game, i would go with 2d sprites ;)
     
  19. DarrenHollywood

    Feb 1, 2010
    9
    0
    0
    When working on a project do you guys prefer to be brought in full throttle and treated like a member of the team, or more like a consultant?
     
  20. Foursaken_Media

    Foursaken_Media Well-Known Member
    Patreon Indie

    Zombieville USA uses vector based 2d animation, similar to flash, by the way.

    Generally speaking, I would say if the perspective is not going to change, then use 2d graphics simply for the sake of preserving graphical and CPU power. For example if the game is going to stay in the overhead perspective, there is no need to waste CPU power on 3d models, especially if you're trying to pack 40 characters onscreen at once.

    Thing with 3d would simply be performance. Even with a 200 triangle model (which would LOOK okay from a distance even though it would be pretty blocky up close), with 30-40 onscreen characters, thats 6-8k polys... which is pushing it. Easiest way to see if you can go the 3d direction would just be to throw in a non animated dummy model with 200 triangles and test the performance hands on. Can be anything, even a circle to test.

    What you also COULD do is create 2d sprites rendered from 3d objects to create a nice, 3d look without actually being 3d (you would render several "sets" of animation for each model such as left view, downward facing view, up view, etc). Mummy's Revenge used this method as a reference I believe. Also this game uses sprites that were rendered in 3d.

    http://forums.toucharcade.com/showthread.php?threadid=43962
     

Share This Page