What has to be considered when creating 3D-Content for XNA?

Started by
1 comment, last by plusnoir 12 years, 3 months ago
[color=#333333]

I am working on a 3D mapeditor right now. Until yet I was working with some primitives (dummies) in order to check the functionality of my Editor. Now I have reached a point where The Editor is ready to be filled with actual content. f.e. Character and environment assets. As I am a one-man-army right now I have to do it by myself. There are some issues I don't have any clue about:

  • I guess assets should be as low-poly as possible. So when is a Mesh/Model considered low-poly? Or do I just have to adjust the Models to the performance of my Editor?


  • What other Information should be saved to the Models while it still is in the modeling software (3Ds-Max, in my case)? Materials, Light...?

  • How to choose the right scale for the Models? What is a reasonable size for models which are later loaded into xna?

[color=#333333]

Those are the questions I can think of. But if there should be something else that is important please don't hesitate to tell me.
[color=#333333]

Thanks in advance,
[color=#333333]

plusnoir

Advertisement
The answers to those questions can vary greatly and usually there isn't a right answer. Answers are highly subjective and tend to be based on what you're trying to do.


  • I guess assets should be as low-poly as possible. So when is a Mesh/Model considered low-poly? Or do I just have to adjust the Models to the performance of my Editor?

[/quote]

One possible triangle count I've heard for onscreen characters (think player models in Team Fortress 2...or any shooter) are in the 2-3 thousand triangle range. But this really depends on what you're trying to do in your scene (e.g. LOTS of moving highly detailed characters) and what the object is. An ammo crate for example, that you run over in a FPS game should not be as highly detailed as the weapon your character is holding. Using another TF2 example, the weapon that your guy holds in the game (called a "view model") is a lot more detailed than a weapon you see on other players, because that model is right in the player's face all the time. So if you have content in your scene that may just be background fluff, you want that to be as low detail as possible because then the player might not notice or care because they're not prominent/high interest objects.

Sometimes its also an illusion, where you have a wall that's literally several triangles, but the player can't go beyond it so there's nothing beyond it (because there doesn't need to be anything beyond it) so from the perspective of the player it's a complete structure, but if you go outside where the player can't go, it's not.

This is also another thing with lots of games, where they have some sort of triangle budget they try to define up front. In a TF2 game you're generally in a closed environment with a set limit of characters running around. So you only have a handful of highly detailed objects, and a somewhat detailed map, and props that can range from tens of triangles (e.g. structures in the distance, outside the map bounds...) to hundreds of triangles or thousands of triangles if its a highly detailed point of interest that is very rare. This may or may not fly right in say a MMO where you potentially can have hundreds of highly detailed characters in the same area...



  • What other Information should be saved to the Models while it still is in the modeling software (3Ds-Max, in my case)? Materials, Light...?

[/quote]

It depends on your model format. If you're working with 3DS, the default FBX (or X I guess..) model loader I don't think will do anything with cameras or lights in your scene. But basically it'll convert materials, node hierarchy (XNA seems to lump these in with "bones" to describe hierarchical transforms), as well as animations, that all can be used by the default XNA model. In XNA 4.0 you also get built-in animation.

However, you -may- want stuff like lights also imported (e.g. using 3DS as a sort of a scene editor), but you're going to have to tweak the XNA content pipeline for that I think.


  • How to choose the right scale for the Models? What is a reasonable size for models which are later loaded into xna?

[/quote]

This varies a lot. Some modeling tools don't actually have a notion of meters or feet, just "units"...whatever they are. Some editors like 3DS do have a notion of working in feet or meters, but XNA doesn't have any idea what units are. A position at (3, 10, -5) has no implied meaning, except what you make it as. E.g. Every "unit" is a foot or a meter (so (1,0,0) is one foot or meter along the positive X axis).

Generally to help keep scale, you use a reference. E.g. say you define a character to be Y in height, and when building level geometry, you place that character and ensure your doors/hallways are just right. For another TF2 reference, say you're making a hat for one of the player models, the common way to do that is to import the player model into your modeling tool, and build your hat geometry using the character's head as a reference.

This of course means if you're loading assets from different sources, you will encounter a variety of scales. Some will have huge scales, others small scales.
Thank you for taking the time and awnsering my questions.
Actually my plan was to load a animated character. He will be visible from a top-down iso-perspective mostly. But he also will appear in some close up views where you can actually see his face.

This topic is closed to new replies.

Advertisement