Free 3DS Max R4 Normal Map Plugin
by Logan Foster · in Artist Corner · 08/09/2002 (12:57 pm) · 17 replies
I hate to be the one to be a PR boy for a company, but I figured that this would be intersting news for a lot of people.
Discreet has recently released a plugin for 3DS Max R4 that allows you to generate, assign, and use normal map functionality (this feature was just added to newly released 3DS Max R5) though the support of DirectX vertex shaders in your 3DS Max materials. You can download the plugin for Max R4 from Discreet Sparks.
For those of you have have been under a rock, there has been a lot of talk recently about normal maps, primarily thanks to Doom 3 which uses this method to generate its models. Although Torque does not support this feature right now it is a strong possibility that it could in the future and thus it is nice to know that options to do stuff like this (from an art standpoint) are available.
Logan
Discreet has recently released a plugin for 3DS Max R4 that allows you to generate, assign, and use normal map functionality (this feature was just added to newly released 3DS Max R5) though the support of DirectX vertex shaders in your 3DS Max materials. You can download the plugin for Max R4 from Discreet Sparks.
For those of you have have been under a rock, there has been a lot of talk recently about normal maps, primarily thanks to Doom 3 which uses this method to generate its models. Although Torque does not support this feature right now it is a strong possibility that it could in the future and thus it is nice to know that options to do stuff like this (from an art standpoint) are available.
Logan
About the author
#2
There's a nice thread about it here, which talks about Crytek's Polybump.
I'd also recommend checking out Garage Gamer Afrohorse's demo. Unlike Doom3 or Polybump, his doesn't require a vid card with 1.1 pixel shaders. At least, my Radeon 7200 runs it fine.
08/10/2002 (5:35 am)
Imagine taking your favorite high poly model and lifting the skin from it. When you take the skin, it also "lifts up" all the tiny details--nostrils, wrinkles, etc.--and turns it into a bumpmap. Take that and wrap it around a low poly model, then put a new skin on top of it and voila! There's a nice thread about it here, which talks about Crytek's Polybump.
I'd also recommend checking out Garage Gamer Afrohorse's demo. Unlike Doom3 or Polybump, his doesn't require a vid card with 1.1 pixel shaders. At least, my Radeon 7200 runs it fine.
#3
Our artists use free normalmap tools from Nvidia such as BumpMaker that generate the normalmap from a bumpmap. There is a Photoshop plugin as well. We put up a short tutorial on how to use Bumpmaker at our site. This method is all done by using textures rather models. Creating bumpmaps from high-resolution models is another avenue that looks very good and something we'll probably experiment with.
There is also displacement mapping which adds polygon detail, whereas bumpmaps/normalmaps are a trick of lighting.
Project Shadow
http://www.vaevictisgames.com
08/10/2002 (7:00 am)
We have already added bumpmapping to the Torque engine so you can see the results of normalmaps in our game. In this in-game screenshot, the intricate details on the weapons are done using normalmaps.Our artists use free normalmap tools from Nvidia such as BumpMaker that generate the normalmap from a bumpmap. There is a Photoshop plugin as well. We put up a short tutorial on how to use Bumpmaker at our site. This method is all done by using textures rather models. Creating bumpmaps from high-resolution models is another avenue that looks very good and something we'll probably experiment with.
There is also displacement mapping which adds polygon detail, whereas bumpmaps/normalmaps are a trick of lighting.
Project Shadow
http://www.vaevictisgames.com
#4
You had to add the ability to bumpmap to the engine code itself, right?
Another source that has some comparable tools to Nvidia's is ATI, too, for anyone looking.
08/10/2002 (9:57 am)
Very nice.You had to add the ability to bumpmap to the engine code itself, right?
Another source that has some comparable tools to Nvidia's is ATI, too, for anyone looking.
#5
08/10/2002 (10:48 am)
Thats correct, Torque does not support dynamic per-pixel lighting effects. We modified the rendering engine to get those effects in. There are some other features that we are working on which can produce some nice effects that we'll announce later. Our goal is to create some great atmosphere and ambience. With all the great new hardware, it is an exciting time.
#6
08/10/2002 (10:53 am)
Well, good to hear that you've added all these nice features to the engine... but will there be any explanations HOW you've done it, or even some tutorials or resources? I'd really like to hear some details, e.g. how you've done the dynamic per-pixel lighting ...
#7
08/10/2002 (11:08 am)
It isn't so simple to explain how it is done. This is not a feature that is easy to add into the engine. We modified the renderer quite a bit to get dynamic per-pixel effects in. That means more than just bumpmapping, but also specular mapping and dynamic shading effects so we have an entirely new lighting system in place.
#8
08/11/2002 (10:09 am)
Ouch, I'd always assumed torque had that already. Is it likely it'll be added anytime soon or is it something that the coding teams are always gunna have to do themselves if they want it in?
#9
08/11/2002 (11:22 am)
As far as I know, there are no plans for such things in torque, so yes, every team would have to make their own version of the dynamic effects... quite a bunch of wheels :)
#10
Seriously, Paulb, I didn't expect it to be simple, but some explanations of the major steps of your achievements could be really helpful for the comunity here... there are quite a lot of people here interested in this and trying to come up with different ways to do it... so it could be really eye-opening for them to hear how you've done it...
08/11/2002 (11:31 am)
OR, a team which already *has* done it could share their ideas and concepts... Seriously, Paulb, I didn't expect it to be simple, but some explanations of the major steps of your achievements could be really helpful for the comunity here... there are quite a lot of people here interested in this and trying to come up with different ways to do it... so it could be really eye-opening for them to hear how you've done it...
#11
To be quite honest, I doubt there are enough games ready enough to even have this implemented. Don't get me wrong--I'd use it if it were coded, but I really do think there are higher priorities to look to.
08/11/2002 (11:46 am)
Before we all have to run out and buy the latest Radeon or GeForce, maybe we can let GG finish "overhauling" the old engine. EMBMs on Interiors would be very nice, or AI... or whatever they have in their plans.To be quite honest, I doubt there are enough games ready enough to even have this implemented. Don't get me wrong--I'd use it if it were coded, but I really do think there are higher priorities to look to.
#12
08/11/2002 (1:22 pm)
We are open to getting our enhancements into Torque but it is something we'll need to discuss further with the GarageGames staff.
#13
08/12/2002 (3:04 am)
@Paulb: i really understand you.
#14
08/12/2002 (3:36 am)
@Paul: I'd be interested to know if the modifications you've made require the same level of hardware as the doom3 engine does, or to anyone else, if theres a way of implementing such a feature without the need for top of the range hardware.
#15
08/12/2002 (12:53 pm)
Andrew, we're trying to support a wide range of hardware. There'll be options to tune down details. Its really up to the developer to decide how far they want to push things. Currently, we have it so you can toggle per-pixel lighting on and off.
#16
08/12/2002 (6:28 pm)
Someone aught to point Melv May to this thread. He'll have it in game tommorrow.
#17
@Paulb: This must be the 10. post you write something like: "We really wanna discuss with GG about adding this new feature"... ARGH! I can understand why you are so proud about your nice little feature, but please share it with the community...what are you afraid of? Your game-project is way a head of everybody else here, so why don't help other developers and save them from re-re-re-re-inventing the wheel!? When you say "discuss" with GG, are you then talking about getting paid for the feature? I'm sure the brilliant staff of GG could code a nicer implementation at a lower price then. But please PaulB...Release the code! I really need to use BumpMapping in my game, and I've actually already started to code the support for BumpMapping myself, I'll ofcourse release it to the community since it is my believe that we need to keep it alive by updating the TQE and not keeping enchancements to ourself.
08/21/2002 (3:41 pm)
@Matthew: lol!@Paulb: This must be the 10. post you write something like: "We really wanna discuss with GG about adding this new feature"... ARGH! I can understand why you are so proud about your nice little feature, but please share it with the community...what are you afraid of? Your game-project is way a head of everybody else here, so why don't help other developers and save them from re-re-re-re-inventing the wheel!? When you say "discuss" with GG, are you then talking about getting paid for the feature? I'm sure the brilliant staff of GG could code a nicer implementation at a lower price then. But please PaulB...Release the code! I really need to use BumpMapping in my game, and I've actually already started to code the support for BumpMapping myself, I'll ofcourse release it to the community since it is my believe that we need to keep it alive by updating the TQE and not keeping enchancements to ourself.
andru
Normal maps are what bump mapping is. FYI bump-mapping is a sub-set of per-pixel lighting(it is basically ambient per-pixel lighting), a normal map is the per-texel normals for a surface (it is a texture). Each RGB value of a normal map is transformed into a texel's XYZ normal (actually the other way around, the light vector is transformed into a RGB value. But all that matters is that it is 3 components), the dot product of that and the light's vector is then taken, and the result of all of this is a gray-scale image at which point all the other textures are pasted on top of.
To which I can only reply...huh?
Any chance someone could translate that into the basic benefits it'd bring me, as a game designer/3d artist? (and by that definition is it not just bump mapping?)