Software for the Realtime 3D Modeler?
"There are other problems too: modelers that have no concept of polygon strips/fans or that make it very hard to avoid generating polygons that will never be seen (the inside surface of a pipe for example). Even if you have the target 3D hardware on the modeling machine, it's rare to have the modeling windows look anything like the finished product. I'm wondering if anyone has run across a good solution to this. Possiblly a modeling package more geared to hardware capabilities, or some way of adapting an existing modeler to make it more hardware friendly by blocking or modifying features that 3d hardware can't handle. It would seem such a package could be cheaper too, since it wouldn't have to support as many fancy features."
Are you looking for a modeller that will render as you work in realtime, or have a gamelike renderer that will render out in real time?
It does sound like you're looking for something more in-tune with hardware realtime rendering, am I correct in thinking this?
Most programs have an OpenGL/D3D/etc realtime modelling mode, so I guess what I'm asking is, are you looking for something that can give you an accurate representation of what it will look like when rendered in game, using a card's built-in shaders? I guess I'm just getting confused on what you mean by mapping. Are you talking vertex/polygon level procedural mapping, or texture mapping, or what?
I'm also asking these questions so I can guage what a low-poly/gaming modeller is looking to accomplish. All my 3d renderings are done in trueSpace, using raytracing or a hybrid of radiosity/raytracing.
WWJD.... for a Klondike bar?
nobody has converted quake into some sort of modelling program yet?
GoatPigSheep, the 3 most important food groups
I write engines now, but I spent a good 10 years as lead programmer of tools groups at various game companies (I distributed the first public reverse-engineering of 3ds file format, I think for version 2, had fun explaining that to a room full of lawyers... :)
I'm still dealing with these issues today. My current employer is starting a major project (MMORPG), we spent a decent part of the last year researching art tools. Ended up picking Maya, as its got a great C++ API that exposes darn near everything, as well as a great C++'ish scripting language for the technically inclined artists to use. (Disclaimer: I have no financial interest in Maya, etc...)
The problem is that it takes years to tune a decent editor - I started out in CAD/CAM/CAE and even I know better than to try and editor unless I've got a few man years to dedicate to infrastructure.
Unless the budget absolutely cannot handle it, I'd recommend taking Max or Maya and extending them with your own tools. Maybe even make some of them open source, like Pierre Terdiman did with his Flexporter system for Max, which saves a good man-year of work on 3ds Max exporter work!
If you are looking for ease of poly visualization Multigen's Creator or Performer are definitely my favorites, with some neat features like the ability to "shrink the edges" of the polygons to look inside your model and catch those annoying hidden faces...
depends on the future of game content tools.
... the list goes on.
Traditional content development is a long arduous pipeline. Skilled artists trained extensively in high end proprietary software packages create fat content chunks that get ground through this pipeline and end up in a game, presented via the engine, as polygons with textures or music or what have you. It's expensive, wasteful, and a prohibitive barrier to entry for indie developers.
Ultimately, the only part of the pipeline meaningful for a gamer is the output - what's in the games. But, the more flexibility and power a content pipeline is imbued with, the bigger the payoff is for gamers and developers.
So, the question then is how to we get from the grinding fixed pipeline to something elegant and useful. The best possible future is for content creation to change in a few major ways: to be immediate and in realtime, to be in the game engine itself, and to be mostly procedural to satisfy these constraints. This isn't simple, but here's a quick outline.
Part one requires the pipeline be as short as possible. Instant game feedback means no extra turnaround time for revisions.
Part two is to have our realtime zero-length pipeline in the game engine itself, so the game, which is the game content, is a self supporting environment. The engine becomes not only the output method, but the development host. The best way to change a game world is obviously from within the game itself (sound familiar? that's how the real world works).
Part three is the magic that makes this possible. Procedural content capability changes the entire outlook of what is possible to do in a game engine. Procedural content is more flexible (since it's programmable), more lightweight (since the descriptions are effectively code - even if you model them through a different interface), more distributable, more scalable, more unique, more immediate
The next John Carmack won't be a game engine guy, he'll be a game CONTENT engine guy.
And that, temporarily, is the end of this story. Game content creation is basically in the dark ages because these parts haven't fallen into place yet. Nobody has this together yet. Someday this will be real, and we'll look back and think of current content as being like coding assembly instead of using high level languages.
When game content is capable of really expressing what's in gamers' imaginations and dreams, well, then we'll have quite a party on our hands.
Blender doesn't even have undo/redo :-)
Don't even get me started on the lack of features in every other aspects. I still think it's amazing how people seriously compare simple open source hacks with commercial packages that are in a whole different legue. Photoshop vs Gimp, Blender vs Maja, Reiser FS vs Veritas, Postgresql vs Oracle.
Try Animation Master by Martin Hash ( www.hash.com )It uses a different approach to the whole process (patches instead of polys) and it's only about $300. (there's a renderfarm option too)The learning curve was a little steep, but I had no previous experience in any other package.
I've had to do a couple of posts because the lameness filter killed the acii art. This is a very brief example, there's far to much for a /. post
And you'll have to do a veiw page source for the correct formatting!
Here's a simple 2d 4 wall world in ascii
\ /
--- \ /
| \
| \
I'll call the walls
\ = A
-- = B
/ = C
! = d
draw a line through the world along line A,
this PARTITIONS the world into two BINARY spaces. B and D are on one side(the space infront) of the partition and and C are on the other side(the space behind).
so we have a partial birnay tree
A
/ \
B+D C
each node can only represent one line through the space
The space infront has two walls in it, B and D. So partition the space infront of A down line B. This gives you D infront of line B and nothing behind line B
The binary space partition looks like this
A
/ \
B C
/ \
D []
thank God the internet isn't a human right.
If i chose to split the space infront of A by line D instead of line B, i would have to break line B into two segments, B1 infront of wall D and b2 behind wall D The tree would look like this
A
/ \
D C
/ \
B1 B2
and the world like this
\ /
~~- \ /
! \
! \
\ = A
- = B1
~ = B2
/ = C
! = D
The principle can be extended to 3d using planes to split the space instead of lines.
part 3 in next comment!!!