This topic is now archived and is closed to further replies.

Some Basic 3D Engine Questions

This topic is 5505 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I posted this on Flipcode a few days ago, and thought I''d get an idea on what the GDNet guys have to say. I''m writing a fairly simple Direct3D 3D engine and before I completely dive headlong into my research material, I just wanted to take a quick survey and get some perspective on the basic issues I''m facing from some of the more experienced devvers on the board. - First off, there are character/entity meshes and their animations. What format and tools do you guys generally use for animated meshes? I''m interested in specific file formats, as well as any utilities/converters you may use to ultimately get your data into said format. I''m an experienced MAX modeler and renderer, but I''ve got no real experience working directly with 3D engines so while I''ll obviously use MAX to create my meshes and animate them, I''m wondering what the best approach would be to get them running in my engine. - Second, what method do you generally prefer for basic, game-style character animation? I''ve heard that as recently as Quake 3 (although obviously not Doom 3), Carmack has been using raw frame-by-frame mesh animation, rather than any form of interpolation or skinning. I''m not too painfully concerned with dead-on lifelike movement in my characters, so I have no problem taking this approach so I don''t have to spend the next solid year learning how to code an IK skeleton system myself, heh. I would, however, like to take Carmack''s approach and add linear interpolation between the frames to smooth things about a bit (I say "add" simply because I''ve *heard* that Carmack doesn''t do this in his own games, but I could be wrong). - Third, where''s a good place to get solid information on spatial partitioning techniques aside from basic introductions? The engine I have in mind is relatively simple in the sense that I have no need for complex terrains-- I only want to work with building interior/city exteriors for the time being, so with the exception of occasional structural creativity, I''ll have primarily orthogonal environments. Specifically in the case of player/user interaction, I have no need for or intention to implement terrain following algorithms or any other sort of complex collision detection other than floors, primarily orthogonal walls, and perhaps the occasional staircase. - This also sorta leads into my next question, which is about the creation of the environments themselves. As a modeler, I have no interest in creating my own obviously watered down editor, because MAX has all the tools I''d like to leverage ready to go. I''ve done quite a bit of interior and exterior modeling with the program, so it''s really my first choice, but I know even Epic is using a custom environment modeling program for Unreal II and Tournament 2003 for example, which leads me to believe that an off-the-shelf program like MAX has some drawbacks. I also know that using a program like that makes it difficult to set up your own custom level proprties like portals (although there is always MAXscript). - Lastly, what sort of partitioning techniques do you suggest? Like I mentioned above, I''m working with building/city-style environments, but I would like the ability to blend from indoor to outdoor scenes (although in a lot of ways they won''t be all that different due to the expansive interiors and somewhat claustrophobic exteriors I''d like to create). Anyway, I''m new at 3D but I''ve been coding 2D games and other stuff for years, and I have plenty of 3D theory under my belt, I just need to finally sit down and apply it. So my point is you don''t have to worry about me asking anyone to write an engine for me, or explain every last detail, or anything like that. I know these are complex questions with complex answers, and I primarily plan on learning it on my own, but like I said it''d be great if anyone could share some of their own experiences, preferences and advice. Thanks!

Share this post

Link to post
Share on other sites