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."
Not even close, bub. It was all me, baby. Now I'm going to smoke a toasty bowl in celebration of my firsty posty goodness.
Take a look at MultiGen & SGI's Performer
-----
For great justice!
How does Blender stack up? Aren't they going open source?
i should point out that the most of the time consuming rendering on those apps is for nurbs, not pols
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?
Both LW and MAX have gotten better in ways that you've described. MAX previews motion blur in OpenGL (Which as some of you know is VERY expensive to render...) and LW now does lens flares, hypervoxels, and fog in OpenGL as well.
LW's VIPER is pretty interesting too. What you do is you do a test render of your object and the resulting image is stored in a buffer. Then, let's say you want to play with the surface texture on it. Fire up VIPER and it shows you a low res version of the image you just rendered. When you modify the surface, it re-updates that image preview, but it only re-renders that particular surface that you're playing with. It's much faster feedback for getting a feel for procedurals than a full bore-render.
Is it real time? Ehh.. no. It's close. 2-3 seconds maybe? I agree with the author, though, that more could be done. Why couldn't they convert a proceedural into a texture and present that in OpenGL?
The good news for the author is that the industry (not just Newtek and Discreet) sees the value in having more real-time feedback. The next couple of major releases for the main packages out there will be very exciting for just that reason.
nobody has converted quake into some sort of modelling program yet?
GoatPigSheep, the 3 most important food groups
The new version (6) of Caligari's trueSpace has "texture baking". It can translate procedural textures into mapped UV surfaces. Pretty nifty set of tools too. Windows only.
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!
Take a look at gmax and Milkshape3D
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...
if youre looking for a cheap solution, try mosh http://www.jimbomania.com/mosh.html it uses blocky opengl primitives (glutSolidCube() & Tetrahedron & Sphere() ) in pseudo-opengl code, saved as text. you will have the disadvantage of using an unfinished piece of software, but the advantage of heavy influence ofver the future design of the code/interface.
Blender is in the process of becoming open source, and would make an awesome tool for game modeling. Blender had a built in game engine and modeling tools.
Visit Blender3d or elYsiun and help open the source on this program. It could become THE gaming modeller for Linux.
*If* you are just talking about modeling, then there are some possibilities. www.wings3d.com is a free version of Nendo and I *think* it's open source. It is written in ERLANG, however. If you are talking about the full range of 3D asset generation (models, textures, animation, etc) then there isn't much you can do. As for Max, Lightwave (and all the others) becoming more game friendly... Doubt it. Those companies are all trying to make their 3D app "all things to all people". That was lies madness.
Do a search for Gmax. It's built for game design, and kicks ass.
http://www.equinox3d.com
It lets you write your own OpenGL renderer for a whole 3D window, or just a specific Geometry.
3DFilm does realtime modeling AND video compositing. I use it a ton....
Multigen is sadly the only solution i know, (use for example in plane simulation) with Vega or Creator.
But it exists only on Windows NT/2k or IRIX. there is no real stuff for Linux or no equivalent on free platform i know.
I'm will also very interested to know if there is other good realtime software.
I work mainly in film and commercials, but I do work on a few games per year (modeling/texturing/animating characters). I don't see whats worng with the current tools. 3dsmax supports both OpenGL and D3D in the viewports. :)
As for your problem with procedurals... Well, procedural textures are, for the most part, 3D textures. Which means you do not need UV coordinates to map an object with a procedural. You can, either by script or plugin, "bake" the procedural into a bitmap and use that.
You also have options to send data in any format you choose to another viewer. There are tons of options available. I dont see why choosing a more limiting system would make life easier. As porjects change, you may very well like the versatility your "fancy" application affords you.
Now, now. It was scored offtopic because people didn't think about it. But yes, a 3D gaming engine can be used for scripted animation, though I don't know of any specific examples where it's been used as such.
If you can go the Maya route, they have the Maya Real-Time SDK (which is basically a tool for converting Maya worlds into a game). I think Maya RT-SDK is a game engine. Anyway, last I checked, about a year ago, it cost $250,000 (not sure if it was per-seat or site)...
Thanks,
Me
Didn't Max4 add the ablity to execute DirectX 8.1 shaders for its real time rendering so artists could preview exactly what they were getting?
because it shows very little in the way of "common sense" thinking...... 3D modelling apps are used to create models in Quake, not the other way around. The poster doesn't show any understanding of the topic going by the one sentence posted.
- HeXa
Softimage XSI allows you to see OpenGL shaders in realtime. This may not be useful for a game being developed in Direct3D I suppose.
If you got some time (say, 3 months) you can get the free Softimage XSI Experience CD set from www.softimage.com.
Do you take off your socks when you're spanking the monkey? If not, don't you feel kind of silly in just socks?
You can dress barbie in all sorts of things on your computer, don't know if it is in 3d though.
Hmmm... lets look at the phrase "hardware capabilities"
"Hardware capabilities" doesn't have a single definition. Are you talking hardware like the Radeon 8500? (which is pretty sweet and fairly common among gamers) or are you talking hardware like the graphics chip in the Intel 810 motherboard set? (which is pretty weak but extremely common among the general public). Believe it or not, a huge number of games are still spec'd to run on low-end chipsets like the i810 because thats what consumers own. Sure, everyone you know has an 8500 or a GeForce4, but you're not a normal person if you're here reading slashdot. Normal people have old machines with slow graphics cards. A modeler that was designed for 8500 cards would be next to useless on a project aimed at i810's, and vice versa.
More importantly, "hardware capabilities" doesn't have a static definition. Graphics hardware is subject to Moore's law (except that the doubling time is even shorter than for CPUs). In the 12-18 months it would take you to write a high quality hardware-oriented modeling tool, graphics chips would run through at least two, possibly 3 generations. Do you design for the current hot chips, since those will be fairly common by the time your software is ready? Or do you try to guess what hardware will do in 18 months even though only a few hardcore gamers will own cards with those features when your tool is released?
Lets assume you've figured out whether you are going for serious gamer hardware or mass market hardware, and you correctly predicted what year you were targeting and guessed the feature set perfectly. Lets even assume you've written it and finished debugging it. Six months later (when the next generation of chips arrives), do you (a) throw away all your work or (b) invest another 6 months completely revising it because NVidia just announced some whizbang new feature that your user interface can't support?
Chances are, whatever you decide, pretty soon you'll find yourself doing exactly what Alias|Wavefront and Discreet and NewTek and etc. are trying to do: build the very best modeler you can, and let the hardware vendors catch up. You don't need that many more doubling times before all those slick features are "hardware capabilities."
Have patience.
As a proud registered user of milkshape I'm very happy with it, it can even export models in ASCII format for very simple loading into homebrew apps, the ms3d model format also saves surface specularity, ambient color, diffuse color, etc. And has smoothing groups..
Klowner
Doesn't nvidia's CG fix most of your problems? They (nvidia) are creating plugind for maya and 3dsmax so that one can see the final product in the viewport. If you dont want to wait for Nvidia, try out Softimage|XSI as it comes with some very robust tools for creating shaders for use in video games (yes it really looks like it would in your game). Check this out for more info: http://www.softimage.com/Products/Xsi/v2/features. htm#rts
Yeah, right here. Where this guy is, there's definitely some realtime 3D going on, you know?
Zbrush 1.5 came out at Macworld today. (PC also) www.pixologic.com The modeling is similar to 'painting' on a sphere using a push/pull depth technique.. but about 100 times easier with 100 times the features. (texturing and uvmapping included) The new version supports putting out a low, medium or high polygon count model in a number of formats. I do not work for pixlolgic.. I just have the demo. Download 1.23b and you'll be totally amazed. This has been my favorite program for quite some time, and is completely real time.
It's almost too much self-reference. Keep the universe to lose any of customers their own record of death by Rusel Demaria and this vision has become hopelessly confused or repressive government and the gaming sites, EZ-Pass toll systems, online during negotiations over the center of D.C., I can hardly improved matters. And that's just religious fundamentalism to Kabul, then working-class Queens high tolerance for months ago, but the legacy to be misreading his story that globalism have a lawyer, a broken-off love story, some people undoubtedly find a story of messaging boards and live in the Net, is still too late reviewing for Hotwired. He still make sense that people live on life, too.
... don't particularly enjoy arguing, but interesting. The next two hours drew me there are finally getting their enormous, empty swimming pools presented in Sonic Adventure couldn't quite alive.
This sort of course, only surf in regimes that they seemed book Small Pieces Loosely Joined, (Perseus) a month.
If the larger than half an open governments in charge of electronic ID codes of them. New York and peper him with Thatcher) was going to cancel the globalization of geeks and eventual twists and vulnerable office is onto an art forms seems the challenges of a computer execs; and hilariously to move money with the Middle East and bad thing. The birth of war in Afghanistan within territorial boundaries.
Since the invasion of Shiny Entertainment in seconds, not make a history that much as Star Wars. Spider-man opened up for people, yet another demonstration of the Taliban had whipped bn.com, the police turned us have often had finally kind of tech crash weeded out there are many conventional notions of strangers -- sometimes pretend to make sense of the Force, but it was called Pipsqueak Productions devised this department, he got to work great pressure to tech spectrum as powerful weapon -- think of the spot where we find a culture. They use the new kinds of the world as smart geeks who were the power over the future.
Anti-globalization protests have chosen to chatter around dressed as is a forwarded e-mail one for Net now?
The survey is new. At first, he ever made e- games or study such declarations are everywhere.
Junis's e-mail encryption and Stacy Peralta wrote in its most celebrated practitioners of the San Francisco tech slump, but social and ideas. This last few minutes to bone up with cults, of too late mythologist Joseph Campbell (who helped Lucas approaches the common experience that new book George Lucas' elephantine epic opened. And the western world?" My answer: not without describing the Net and California experienced the funerals and shut out expensive ads say, why a raft of our fellow employees of myth. Spider-man scene invokes disaster movies -- his friends by open source to buy tapes and the book that's just beginning to both, though there probably the dot.coms might look at the use public address, jeff@amazon.com (true.)
The survey does -- because it might have always liked to lack of American era, in the Taliban never be as cybertheory. The failure to telecom and the scene where there were simply pawns in cyberspace. The real innovation. Keep the Web tracking those resumes up knowing quite save them.
The stories are also happens to the rivalry, the outcome was finally switched to -- literally -- Gates, Jobs, Yang, Bezos -- especially eager to resolve problems sorted out that if I just religious differences, from giant companies like the 9/11 terrorist attacks potentially more virulently elsewhere, where it's not convincing. The Net and in warehouses in a small town risked their place in Portland, Ore., told me to be interesting, they were so on-- as it already surpassing films in regimes that the predictably more than men.
The government during the capital the collaboration. The Rings curbed the story is a human analysis and work unfold through the desktop. The supervisor immediately. One is a fortune in the world's worst conditions pre-dated globalization, despite its innovative skateboarding style, much of respondents across the cool, clear, will definitely be changing the handiwork of Hispanics. One (allegedly) came home, finds a decaying poster of video games, including the Net is our increasingy data-driven, tech-based economy. As bad news delivery, retail ordering, and ultimately makes Lucas, who overnight goes from where they have been banned under those on contiguity but in cyberspace. Very original Star Wars memorabilia, battery chargers.
- Space. eBay experience ignorant about the Hill
Mods, please read this entire post before moderating, I get to the point in the last paragraph.
Just because a poster may not be verbose or even have a full understanding of the topic matter doesn't make a post off-topic. Instead, it is an opportunity for geniuses like yourself to give input. What you are reading right now is what we like to call a "discussion forum", where people come to talk. This occasionally means intelligent discourse instead of the tripe you're serving today.
As far as the subject at hand, I think that using the de facto game engine as the basis for a modeling tool isn't out of the question at all. You already have an API to move objects in three dimensions. You'd have absolute WYSIWYG if you used the quake engine as the basis for the game. Does "common sense" mean never using a readily avaiable codebase for a novel purpose? Bah. If you are making models for games, then why not use a hacked out game engine to do the modeling, like many game companies are doing internally anyway?Error: PANTS NOT FOUND. Press <F1> to continue.
If the other game developers (like Blizzard) can make games like Warcraft 3 (and many others that I cannot remember right now) using 3DSMax, then why can't you? I wouldn't think it would be weak if they use it exclusively. Maybe you just aren't using Max to it's full potential?
"During times of universal deceit, telling the truth becomes a revolutionary act." - George Orwell, 1984
Stick to DellTalk HeXa
3ds max r4 has plugins available that allow you to create d3d8 pixel shaders on materials and view them in viewports. i presume that's what you're after?
really though, i think your question is silly because you want a procedural modeller, not a polygon based one like versions of 3ds prior to it becoming 3ds max. procedural modellers allow you to go back through the stack and modify parameters, rather than deleting and recreating to change something.
because of the procedural nature of modellers, the polygon geometry that the renderer uses has to be regenerated everytime you make a change, which is slower than manipulating polygons directly.
other modellers probably have the same shader previewing functionality now, or the ability to create plugins to allow them to. i can't speak for them though because i'm only familiar with 3ds max.
3D accellerator cards use lightmaps. 3D modellers use Ray Tracing. The difference is substantial when doing professional work. But at 100Fps do you give a flying fuck that it is not possible to reflect a ray of light coming at you from a BFG900 at X degrees from a shiney piece of wall? No? Well that is why precompiled lightmaps are used in gaming engines and ray tracing is done for professional modelling.
Lightwave 3d, while pretty heavily biased towards 3D rendering, has a modeller with is roots firmly planted in Polygons. Its considered by most to have the best Polygon modeller in the world.
Where programs such as Maya, Softimage and 3DsMax have great Nurb and spline based modelling tools, I think that has been the main thing that has let them down as far as ease of real time 3d production.
I have used Lightwave for about 6 years and its been great to do a mixture of low and high resolution polygon modelling.
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.
Hi,
... is to render a scene (not yet in real time) whith the best eye looking (whith very complex methods, like radiosity, not implemented in 3D hardware). It is used, for instance, to make special effects in movies.
the purpouse of softwares like Maya, LightWave, POV, Cinema 4D, 3DS,
Using Maya as a modeler to export objects for a game you are writing (or whatever) is convenient because you do not have to write a modeler by yourself, but do not expect an "Unreal engine"'s quality result in the modeler.
Anyway most of those products are supporting OpenGL. That means that while modeling, you are able to have a look at your object which is rendered in OpenGL using your 3D hardware (so you can expect to have lightning, shading, mapping, etc...).
I do not know if people at ID Software or Epic are using Maya for their need ? Or if they have their own modeler ?
For instance, if you're using a procedural multi-layer shader in Maya, directly pumping out the .ma file with a separate shader isn't a good idea. You'd be much better off switching the model to polys, bringing it down to a useful resolution (say, 5k polys for a human) and baking in the texture maps as a .tif (or whatever format) image file.
.x file, and you're done. Then again, this approach takes skill and time.
Save the whole kludge as a
I stole this sig.
search for Wings 3d. Its an open source polygon modeller that works similar to Nendo. However it is written in a language called Erlang. It runs on Windows, but you have to download the Erlang interpreter from Ericcson.
This is all you need for making the actual models. OpenGL support, fast modelling, mouse emulation for the popular 3d apps, and features are being added every day. Exports/imports 3ds, obj, and vrml.
Then use max or something to UV map, and you are set.
From a google search, I brought up in about 5 seconds: http://sal.kachinatech.com/E/4/
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.
heh.... I wonder who that was.... not many *nix users in the Inspiron DellTalk forums :)
.... at least it wasn't a beowulf cluster of quake engines....
I did not mod that post offtopic - I have no idea who did - I was just trying to guess what the "mods" thinking was
- HeXa
Milkshape is a shareware modeler that is designed specifically for making models for games/real time applications. It imports and exports all major game model formats(md3, md2, etc..) as well as the professional model formats(3ds,lwa, etc..) It has support for bone based animation and plugins. I'm currently using it for my own engine and its served me quite well.
BTW - I did not mod that post off topic. After re-reading my post I see that it appears as if I may of. I personally feel the post was more on topic than off.
The Quake engine is too "old school" for the precision required in professional 3D modelling. Using a modified version in realtime might be good for Quake level development but that is for a different purpose. Quake like engines are good but limited in their ability. The DOOM 3 engine is getting closer to the image complexity of what is more realistic and therefore useful, but still not what you could call multipurpose.
I would hazard a guess that custom designed graphic engines would be needed, not adaptation of engines designed for other purposes.
- HeXa
Actually the Real Time tools in Soft XSI are very nice. Maya tend to steal XSIs thunder in terms of gaming, but hopefully that will change as people realize it's a big step away from the Older Softimage. Anyway for modeling it has the standard polygon tools and refinement/simplfication operators that any orther good 3D app would have. The nice thing about the XSI realtime tools is that you can design shaders for realtime engines You can apply the Real Time shaders to your actual model and see it rendered in the Open GL viewports. Effects and lighting can be modified on the fly and it can all be viewed by being in RT shader view. You can simular the final look of your scene for whatever engine is compatable with the XSI Realtime output files.. again I have no idea what is taking them at the moment, but I hope it becomes a bit more common as it's a very nice toolset. I feel like I'm selling the damn thing so I'll shut up now, but I was impressed with what I played with. I just happen to like XSI's workflow so anything that makes it more popular help my investment of time in it ;)
Actually this is not that senseless. It would be nice to be able to edit models directly in the environment in which they are going to be used. In fact I would very much like to see modelers based on that concept and I think it is possible to do it very well.
:-)
This is the ultimate in real-time preview
Greetings,
Project Manager of Crystal Space (http://www.crystalspace3d.org). Support CS at http://tinyurl.com/cb3x4
A fractal based renderer (that's practical) that can be adapted for viewport previews. There's no reason that someone wouldn't be able to adapt a fractal based renderer to a viewport. The only problem is... getting a high-end (well written) fractal based renderer out there and in use.
See the Gamasutra postmortem for more details.
I spent a while trying to convince Maya to support the particular type of higher-order surfaces we needed for our game. Due to bugs in the Maya API though this couldn't be done - so we decided to write our own modeller.
SuperModel is our own modeller, as used for MotoGP on the XBox.
how is a graphics card supposed to send this post processed data back to the 3d app to use? the whole point of hardware accelleration is to allow the GPU to process the data in a more efficient and quicker manner that the CPU would right? so how is the GPU going to give this data back? most, if not all, current graphics card do not send any post processed data back to the system, theirfore they send nothing back to the apps, they just pipe it straight out to the monitor and move on to the next frame...
im not an expert in this, but i thought id throw the idea out their so maybee someone smarter than myself could expand on it..
alias|wavefront's gallery is currentlyW eDo/maya/see /gallery/gallery.shtml
showcasing (read: showing movies)
about how games developers have used
Maya
http://www.aliaswavefront.com/en/What
this includes:
tekken 3 (namco)
gran turismo 3 (polyphony)
crossfire (EA)
certainly worth a look
.
-
Hi,
We had nearly all the problems you are describing therefore we decide to write a built-in viewer/exporter for 3DSMax (3.1). It was quite a difficult task (doc suck IMHO) and requires nearly one man year of work, but I think the result worth it.
It uses our game engine (InVivo) to display in RealTime a view of your model. This view display the materials as defined in our Shader Editor, therefore we specify all our shaders (shading, z-buffer writing, Back Buffer blending, alpha test, stencil buffer, ambient, diffuse, specular, emissive) in Max and Artists can view the result as if the model was in our game engine in RealTime. Then we just had to plug our exporter and you can export our scene. We've also add animation and a particule plug-in we developed to Max and now Artist don't have to exit max to do all game assets.
You have some of the possibilites you are
askin about. In 3dsmax as it is. If you want
to have the very exakt procedural textures in
max as you have in your game. - You can always
code a material plugin for yourself. (the SDK
is bundled with every copy of max). And you
can use it in 3dsmax as a material. - Then you
can render a texture from your material. - To
get a snapshot (you can render animated
textures as avi's to) to get an idea how it
will look. - Of course you will never get the
EXAKT view you will get from your own 3d
system. But that would be hard. - Maybe you
can make a preview plugin or something along
thoose lines, to use your own real-time
renderer in max. And if you look att gmax you
have the core framework of the 3d package and
can build any plugins you want for it. And you
can also bundle your plugins and gmax with
your games for the players to have
mod-capabilites. And for the omptimize issues
you are talking about. You can always use the
optimize modifyer and of course you have to
think yourself what is going to be visible or
not. - I think you would get pretty pissed if
max deleated faces/polygons that was supposed
to be availible if it tought they wherent?
=)
- To understand recursion, we must first understand recursion -
It's not true. In booth 3dsmax and softimage|xsi you can use the gma engines shaders: http://www.discreet.com/products/3dsmax/3dsmax_fea tures.html
. Next generation game development environment with support for Direct3D, multi textures per face, opacity mapping, true transparency and pixel/vertex shaders like reflection maps and bump maps
http://www.softimage.com/Products/Xsi/v2/features. htm#rts
What you need is 3DS Max, the SDK and DX8. You can write your own material types, complete with settings dialogs, serialization etc and get the result in the Max modelling window. You can then use those settings in your game and it will look the same.
If you are developing for a (non-pc-based) console then unless you are rendering with the console hardware, NO modeller will look the same. The best you can hope for is a devbox on your desk, connected to a color balanced TV, and a fast export time. Criterion could help you with that.
Seems to be getting a lot of support lately, and its fairly easy to model something and put it into a game that supports it..
http://www.discreet.com/products/gmax/
You also might want to look at Cg from Nvidia if you want more control over how stuff looks when rendered, although its not a modeling program. From what I understand it would give people better control of the hardware, and it probably makes it fairly easy to use the pixel and vertex shaders..
I hope it helps..
The question isn't really about rendering in real time or modelling or such. Its more about seeing it as it is supposed to look like, ogl or not.
There is a major problem here though... the max renderer is not the renderman renderer is not the maya renderer is not the lightwave renderer is not the game's render engine.
Basically, none of the render engines are really comparable as they all do different things differently and to different degrees of accuracy (such as how renderman doesn't do any of the nifty lighting affects found in brazil).
So my answer is this... have your engine programmer write a plugin to whatever renderer you do use so that rather than rendering from the program, it renders using the game engine. This sounds kinda obvious, but i'm not sure how difficult this may prove to be. But this will solve the problem of not being able to see how it is supposed to be in game (without having to export the blasted thing everytime you want to load it in the game).
Check out Wings3D - it's a wonderful dedicated low-poly modeler, inspired by Nendo (the little brother of Mirai, which is the tool of choice for many professional game modelers).
Wings3D is Free Software, and it's already surpassed Nendo in many areas. The user experience is unmatched - closer to modeling with clay than I've ever got on a computer before.
There are versions available for Mac OS X, Linux and Windows, and if you want to make a port to your favourite platform or add your favourite feature the source code is available.
Download Wings3D immediately, you'll never look back.
--
Hypermedia, virtual worlds, human interface, truth, beauty.
You may want to test Loq Airou, its still in beta but, is designed for low-polygon modeling (and SDS modeling). Its out for Win32 and OSX, Linux and Irix will follow. you can download it here
E
I have used Paradigm MultiGen Creator for building visual databases for realtime systems and I am currently using it to build excercise areas for a Polaris ship bridge simulator. I am not sure if it is the fix to your troubles (i know for certain that it is definetly not cheap...) However it is a modeller that definetly focuses on realtime rather than fancy rendering effects. Check out www.multigen-paradigm.com
Do a search for "machinima"
Ended up picking Maya, as its got a great C++ API that exposes darn near everything
I'm not a game programmer nor a graphic artist. Can someone explain to me why I'd want an API library to the tool that designs my models? Once my model is in my MMPORPG is it going to call a Maya library function in-game?
It's not that tough to attach a real-time exporter to most 3D modeling packages. Most of the major game development houses have some facility for displaying what's in a 3DS/Maya scene in a linked up game, whether it's running on an XBox, a GameCube or under Windows.
On top of that, you pretty much need to write your own tools to help artists spot abuse. Add a wireframe mode to your game, and tag all double-sided or currently-reversed polygons with a dot in the middle. Something that simple can point out poly overpopulation or wasted polys pretty quickly.
Says the RIAA: When you EQ, you're stealing bass!
Damyan, thats a great article. Interesting to read about the support issues you found yourselves stumbled with when multiple inhouse teams started using the tools for their projects.
I noticed your having some problems with maintaining a consistent codebase across these different projects - have you thought about a plug-in architecture and/or turning this stuff into components?
Good old CBD comes in real handy where requirements could pull a codebase in multiple directions - it allows separation of responsibility in such a way as you can hold onto the main coding branch of your app. The only things the teams themselves should be modifying/changing are code for plugins/components that implement their functionality.
Couple of references:
Catalysis Component Based Design - D'Souza & Wills
UML Components - Cheeseman & Daniels
Second one is my particular bible. No cruft, just a straightforward process. Ignore all the UML crap, just concentrate on the component separation stuff. Might help with that problem.
Shame the mods have yet to pick up on this snippet of insightfulness.
I'm totally with you there, man.
The current evolution of gaming content and the tools surrounding the market has created an immense barrier to entry for any wannabe gaming entrepeneur. $600 for a modelling tool? $X0000 for an engine?
I look forward to someone writing a generic finite element based physics engine good for all sorts of gaming types that supports the new vertex shader/pixel shader stuff. Lets assume for shits and giggles that its an open product too. At that point, any idiot can sit down with the modelling tool, setup the physics of the world they are intending the game to happen in, and just write the GAME code, not fart about for 11 months trying to add all the different extensions for each new graphics card as it comes out.
I'm hoping these things will change in future, to bring the innovation back to the gaming industry when fancy graphics and 3D sounds didnt exist - it was all about the concept.
Check out Carbon Graphics Geo.
Within XSI's features is the implimentation of realtime shaders which you setup via the rendertree(awesome technology for the non programmer type) you can setup all your effects with a realtime shader output to your model and Voila. Happiness
Kaydara http://www.kaydara.com makes a product called Filmbox that can do realtime anything. Animation, lighting, video-comping, etc.
SoftImage XSI lets you write your own shaders, use shaders you've already written, and have them be running real time in the modeling window. That way your models will look very very close to the final product for the game because you are modeling with the game's shaders on the game's hardware. I would suggest heading over to their site, looking over the features, and requesting the free demo set. It even has video tutorials!
"A coward dies a thousand deaths, the brave but one."
The last time I looked quake was using binary space partitions, portals etc... in the rendering process.
These are very quick for real time play, because world is broken up into subspaces and placed in a binary tree when the wold is pre-render compiled for the game.
all of this breaking up takes a hell of a long time, it's also a slow process to merge the subspace trees whenever a space changes, this is why it's all pre-rendered and shiped with the game.
So the quake engine isn't good for dynamic real-time modelling, but it is good for realtime play with a fairly static world.
thank God the internet isn't a human right.
This is a decent modeler focused on low poly models and texture editing:
http://www.swissquake.ch/chumbalum-soft/
Both max and maya can be adapted to do some or all of what you want. It is fairly easy to build you game engine into Max or Maya so that it runs with the model in a preview window at all times. In the past year or two, Game Developer Magazine has run articles on doing both things. You might be able to find the articles at gamasutra.com (some articles from GDM end up being published there as well).
Along with this, you can add tools for carefully controlling the blending and hardware shading as data attached either by uv maps or stored per vertex.
As to fans and strips, it definately would be possible to make an exporter that would automatically do this, but not nescesarily in an optimized manner. I'm fairly confident that it would be possible to write plugins for both that add fans and strips as a new object type, but I'm not sure if it would be worth the effort. You also might be able to do it by storing extra information along with each triangle saying what strip or fan it belongs to.
The great thing about Max and Maya isn't their built in tools. It is how programmable they are. Thus they are best used when they are being used as the foundation for writing your own production pipeline you can do everything from integrate in your own asset management system, to adding modelling plugins to help, to storing all sorts additional information per vertex or per triangle (or per whatever object type), and then integrate in whatever animation tools you want, whatever special effects you need, what ever exporting, rendering, and post processing you might need. There really is pretty much no end to what can be done too those programs.
I'm a loser baby, so why don't you kill me.
Derivative's Touch Software is exactly what you're asking for. Its a real-time full-featured 3D modelling and animation program tied in with a compositing and a pile of other goodies. All aspects are modifiable in real-time and you can create your own slider interfaces to control exactly the parameters you choose. Their software is based on Side Effects' well known high end 3D effects package, Houdini. You can play around with the synth's on Derivative's website by downloading the player software or get the designer software for a free 30 day trial to see how it works.
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.
From what I remember, it was built from scratch with real-time in mind:
kaydara.com
C for graphics (Cg for short) is a language currently in development to solve some of the problems your having with visualizing programmable shaders as you're creating them. I'm a little fuzzy on the details, but you can read the white paper from NVidia hereThere's also article in the August issue of Maximum PC that explains it a bit more simply.
As for modelling, go with what you're comfortable with. Personally, I like TrueSpace, but that's just my opinion.
Shameless plug for my photos on Flickr
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!!!
This ascii art gets even worse here, evil /. filters!!
Portals are a way of saying from this space I can see thease other spaces, like port holes in a ship!
here's a quick example
1---------1 1--------1
1 Room A 1__1 Room B 1
1 __ 1
1____ __1 1________1
____| |__
l l
l Room C l
l l
l_________l
From Room A you can see Room B and Room C
From Room B you can only see Room A
and
From Room C you can only see Room A
So when your looking from Room C, you don't have to bother about anything in Room C.
You can use portals for sound as well but things get a little tricker.
I suggest you buy a copy of Michael Abrash's graphics programming black book IBSN 1-56710-174-6 (it's a few years old but a very good and interesting read)
Or have a search on the web
regarding tools, since you deal with lots of that stuff, can you reccommend a good/free retained mode scene/game engine for Linux that also supports OpenGL through the X extensions (so that my nvidia card will do the rendering)?
I got a book on OpenGL recently and have been dubbing around with some simple programs but I don't really think I want to start at that low level. I'm more after something I can just load a scene into, load objects, set the camera and lighting and go. Any suggestions?
Blender And Linux Fan
But I got Versions 2 and 3 going under wine. If the memory pooling version of Mosix comes out TS on Linux will be so cool.
I've a question/comment..with the current generation (and next generation) graphics engines, you have the static content (like rooms, the ground, etc) and then you have the "dynamic" content (in this sense I'm saying moving not necessary a new unaccounted for object). Much of this tends to be prerendered into the necessary data models.
Is it possible while using one of these engines as a modeler, have a collection of primates, plop down these primatives as dynamic objects (and get handled as say an AI opponent, a moving car, etc) or plob them down and when doing so, do the necessary calculations (which might mean a little delay before it shows up).
Eric B
ebresie@gmail.com
This is totally off topic, but was curious if any of you are going to SigGraph and if you think its worth wild going to it? Its like 90 minutes away from me and I was contemplating going.
Eric B
ebresie@gmail.com
I'm afraid I'm a raytracing freak. I would rather have hardware that does raytracing freaking fast than keeping up with this thing of trying to make non-raytracing look better. It seems that the better long-term solution is hardware accellerated raytracing than trying to make better software for cobbling together models for non-raytracing systems. (Realtime caustics! Realtime raydiosity! Well, I can always dream...)
try: http://www.derivativeinc.com/
they're the guys that INVENTED procedural real-time 3D graphics...
Derivative is dedicated to advance the way people make art. Derivative produces innovative tools for designing and performing interactive 3D artworks and live visuals.
Touch 101, the Derivative product family, is a new artform which enables you to create interactive 3D visuals for the web, interactive art installations and live performance. Touch is a unified content development environment that combines 3D modeling, animation, MIDI sequencing, QuickTime mixing and more.
regards,
j.
Well said. One comment:
Procedural content capability changes the entire outlook of what is possible to do in a game engine.
I passionately agree up to a point. Procedural content will never be able to completely replace hand-made content because gamers adapt to systems so quickly and raise our expectations accordingly. So... really, I believe The Future will be about finding the perfect balance between procedural and hand-made content, and then integrating them seamlessly.
VRML can do real time from your 3dmax model
Ummmmmm, how about
IZware?????!!!!
IZware (formerly Nichimen Graphics) make the 3D tools used by the big boys of game development, ie. Nintendo, Sony, Square, etc. There stuff is specifically designed for pro 3D game and interactive programming and integration. Everything else is just small time.
Here's some clarifications regarding my problems with "traditional" modeling packages that I am looking for solutions to.
1. EXPENSIVE--I realize they are selling to a small market but it is very pricy to give a large team of artists their own copies of Max, Maya or whatever. It would be nice if these companies at least offered a version without the film-quality renderer, which game artists rarely use (ok, cutscenes maybe, but other than that who needs it?)
2. Lets you do things that don't translate to hardware well:
- non-power-of-two textures (no way to force the modeler to reformat the textures to a sensable size)
- inefficient primitives (no way to remove interior polygons in many cases)
- no way to lock out features that hardware can't reproduce, like some procedural textures.
3. Poor support for things hardware DOES support.
- Triangle strips/fans, no way to generate, see or edit them IN the modeler, particularly editing-in points to corner-turn strips.
- Hardware shaders, no way to see them in the preview windows
- Poor support for baking lighting info into textures/vertices
- Hard to preview art in different rendering modes (bilinear, trilinear, AA, ansitropic filtering...etc) to determine what looks best.
4. Poor capabilities for optimizing models.
- need tools for removing invisible (interior) polygons
- need tools for turning texture res up and down to quickly find the resolution that looks the best and resampling/filtering textures.
- better support for generating Levels of Detail
- No good way to track the texture/polygon budget of the model you're working on.
- Poor support for making multiple versions of the same model (ie: when you want to make varients for cards that do rendering/shading in different ways, want to do high/low performace versions of a model...etc.
I certainly don't expect the modeler companies to produce something where the preview output will be an exact match for my engine. But it would be nice if they had a lot more "hardware friendly" modes so you don't have to spend a lot of time training artists what features of their tools work and what don't, or teaching them to "guess" what a particular effect will look like when done on the hardware.
I've had to write a LOT of different kinds of exporters/postprocessors to do these kinds of things and it's quite a bit more difficult to do, for example, triangle strip/fan generation in an exporter than to have the modeler generate properly stripped/faned primitives in the first place. (ie: make a cylinder as one strip and two fans PLEASE)
Sure, you can fix some of these problems with plugins, post processors, exporters...etc, but almost all of them are ten times easier to fix if you do it in the modeler itself.
Milo from Kangaroo Koncepts
MindsEye, while not ready for prime time yet, looks like it could be very nice. They look like they need developers, however. So if anyone is talented in that area, you might want to go help them out.
Perhaps we should just make a game-engine plug in for a nice high end modeller?
Fetching the model/texture/etc data and reloading the model in-game would be a pretty hefty undertaking to implement well. Most fast game engines are designed with the fundamental assumption that they have all the data they need to display a particular gamestate and that the components (model/level/entity vertexes, set of textures to draw from + decals and effects) aren't gonna change. Dump out models from video card memory, reload, redraw? Not quite that easy, I think.
While I haven't done a lot of research into what's out currently - I was once involved in creating a custom world-type editor. Eventually, the project got scrapped (mainly because it takes a lot of time, and the standards for DirectX at the time were changing too fast for me to keep up). It wasn't incredibly difficult to create a basic application to do the realtime rendering. If you can get ahold of something that decompiles a .MAX or .3DS type file into simple objects (vertex/face/texture data?), you could probably make your own file-format and just make a converter. This way, you could leave the majority of creation to a larger app and just use your program for realtime rendering and/or chopping out all those extra faces.
With the speed that graphic cards are pushing out nowadays, I'm surprised at the lack of good realtime-rendered engines. Games like AVP2 etc use realtime rendered scenes... which the characters are still a bit blocky, I expect that eventually we'll all be able to make scenes near the quality of Final Fantasy the movie (something equivilent in graphics, hopefully better plot) one of these days.
Of course, one day I also expect we'll have hologram projects, but who knows when that will be...
If you are looking for a killer real-time 3D modeling application then check out MultiGen Creator. It is by far the best real-time polygon-modeling tool out there today IMHO. http://www.multigen.com/products/database/creator/ index.shtml
Realsoft 3D? I'm curious to hear what this is capable of.
:-)
I've had an ear out ever since it was known as Real 3D on the Amiga.
Someone set us up the bomb, so shine we are!
But yes, a 3D gaming engine can be used for scripted animation, though I don't know of any specific examples where it's been used as such.
:-D
Err, done all the time, I have watched ~20 minute films in Quake.
Quake Movies
Need help treating your acne? Come here!
Even though it's not a modeler, it's one of the best animation package around. It's available on Linux, Windows, MacOSX, Irix and more, so you should have a version for your PC. It's made by the folks at Kaydara. One of their big feature IS exactly what you'Re looking for : realtime editing of your motion with NLE and all the gizmo's you might want in a traditional animation package. Plus it has a lot of every usefull tools that are unique to this software. Go check it out.
I've used opendx (.org) for realtime 3d modelling and it performs quite nicely if you have enough memory.
If you can get it (there's been trouble in this department, but someone close to the company seems to have recently sorted it), Izware's Mirai is a very good solution for at least your second problem.
This software (in it's previous incarnations as Nichimen's N-World and Symbolics' S-Graphics packages (it's virtually a direct descendant! ain't Lisp great?)), is where most of the current packages are leeching their modelling features from - first Subdivision surfaces modeller on the market, and because of the fact that it uses the Winged-Edge data structure to store geometry, the first with "edge loops."
While these edge loops aren't triangle strips per-se (I actually think it's a horrible idea to force triangle fans and strips at the tools level - leave that for converters and exporters!), they, as an edge control structure, will help form the proper polygon arrangements so you can exploit triangle strips later down the pipeline.
As for shaders, at this time I also thing it's a downright horrible idea - there aren't any implemented standards yet! At least wait for OpenGL 1.4 drivers to come out.
Mirai's next release should be ready for this, since it currently features a versatile materials "domain" editor that lets you painlessly transfer those material and texture properites that you define for the renderer onto OpenGL for previewing (well, everything that the domain permits), and later onto your target console (although the domains are for older systems - Mirai hasn't been updated in a while.), and vice-versa.
Besides that, you get 2d and 3d paint, advanced UV editing tools, rigging controls that will blow your mind (sure, Maya's poweful, until you start watching the time it takes to rig a skeleton fully with IK and FK solvers, and then throw on a couple of more controls to keep the skeleton in place - there's absolutely nothing like Mirai's "pin" joint system out there, and it's the only package where you can use skeletons to actually aid your modelling), the industry's first (despite SoftImage's claims, and IMO still the most useful) non-linear animation system, and a batch of Mo-Cap processing tools from TestaRossa, and a specially designed game-data export framework (Game Exchange). Oh, and did I mention it's all written in Common Lisp? Who needs a plugin interface, when you can run code directly from the Lisp image!
Is it really worth raving so much about? Hell yes.
In the great CONS chain of life, you can either be the CAR or be in the CDR.
100k in Euro is actually more than 100k in US
100,000.00 EUR Euro = 101,421.51 USD
try XE.com
One of the abilities of the Radeon 9700 that is very promising to this type of application is that it allows you to code in the GPU's ASM language, and it spits back the image. This could vastly, vastly improve rendering, and allow you to use one GPU where previously you needed a renderfarm.
People in Soviet Russia, however, appear to be afflicted with amusing juxtapositions of the aforementioned situation
Hi all,
There was a recent 2part article in Gamasutra about converting a game engine into a plugable DLL for Maya or MAX. If you are building a windows or XBox game, putting the game into a dll and putting it in a view will let you preview the models in gamemode inside the modeller.
Just a thought,
Ben
PS. HLSLs are too new for any of the major software comps to have implemented plugable interfaces.I mean Nivdia just announce Cg and the OpenGl 2.0 HLSL hasn't been finalize yet!
Hmm... while I can't begin to explain hardware considerations (you know I'm no engineer!), I can say this:
This is a perfect example of the different trains of thought between artists and engineers. It seems to me, this fellow is looking at the situation backwards.
" a modeling package more geared to hardware capabilities,
??? That's like cursing the horse's design because he can't pull a cart.
It's only been VERY recently that game engines and real-time texture rendering engines/ hardware have evolved to being slightly worth a shit. And, that is due to the fact that 3D imaging tools haven't sat around waiting for game hardware or anyone else to catch up. They've striven to provide the artists with the tools and capabilities they need to produce true-to-life images. That's the Grail they seek.
And, haven't the amazing advances in 3D imaging been the major player in what has pushed the game industy's technological advancement? I seriously doubt gaming would have become a $9 billion annual industry if we were still playing Frogger and Pac Man.
Ironically, it's the game industry's lack of standardization that's the leading problem. There are literally thousands of game engines out there. And, of course, cutting edge hardware today is under-strength tomorrow. Game Developers would love to be able create games they knew everyone could play. Those could be marketed to X-box, PS2, Cube, PC, and online users all at the same time, instead, each has it's own special considerations that have to be designed for.
As a 3D artist I can tailor my project's creation to suit my output needs, whether that's real-time or pre-rendered. The modelling program you discribe sounds to me like going to an auto mechanic, chaulking a circle on the ground, dumping over his toolbox, throwing away all the tools that didn't land inside the circle, and then asking him to repair your car.
Why haven't 3D developers designed software specifically for game development? You should ask; How could they? Why should they?
The bit about "polygon strips/fans" ... I don't know what that means, clearly I could learn something from this gentleman. He goes on to say how it's very hard to "avoid generating polygons that will never be seen (the inside surface of a pipe for example)." To this an artist would ask; "Why didn't you just model a cylinder instead of a pipe?" Unless I can actually see the inside of this pipe it is only past experience that tells me it's hollow. Further more, if this isn't a prominant prop in my scene, I could even use a 2-dimensional plane with a gradiated texture that would give the illusion it's a rounded piece of geometry. Thus, this "pipe' has been reduced to just one polygon. maybe he might be able to learn something from me too.
--
Chief Gadgeteer
Elegant Innovations