Page 1 of 1
Multiple graphics for a model skin
Posted: Mon Dec 31, 2007 0:07
by Enjay
As mentioned in the screenshot discussion thread, lots of models are set up with a number of separate graphics mapped to the model skin at one time. eg, the one in the screenshot discussion thread has 4 graphics mapped to it in its original game UT (one each for the face, chest, legs and hands or the model IIRC).
However, GZdoom only supports single graphic model skins. Lots of models that I have downloaded use multiple graphics, as described, but to make them usable in GZdoom, I have to stitch the graphics together as one file in a graphics program, then remap the model to the newly combined graphic - and it can be quite a pain to do it.
Can multiple graphic skins be added to GZdoom please?
Posted: Mon Dec 31, 2007 10:29
by ZardoZ
Please!!!!!!!
And other question ... I'm trying to model something in MD3 (my first time) I know very well how make a material or a object in 3d max be emissive... but how i do this in a MD3 for GZDooM ?
Posted: Mon Dec 31, 2007 17:18
by Nash
You cannot. GZDoom can only render a diffuse map (or colour map or whatever you call it) and that's it.
If you want your model to look good in GZDoom, you should bake all your maps into a single diffuse map.
Posted: Mon Dec 31, 2007 18:52
by ZardoZ
Nash wrote:You cannot. GZDoom can only render a diffuse map (or colour map or whatever you call it) and that's it.
Um... It's a problem when you like to make lit a section of a lamp....
Posted: Tue Jan 01, 2008 15:56
by Enjay
For the original request, from what I can tell, MD3 models can allocate the faces of a model into different groups. These groups certainly have names - perhaps they also have a group index number?
Anyway, I was envisaging something like this:
Code: Select all
Model ModelName
{
Path "whatever"
Model "#" "whatever.md3"
GroupSkin "#" "groupname" "skinname1.png"
GroupSkin "#" "groupname" "skinname2.png"
GroupSkin "#" "groupname" "skinname3.png"
(etc)
Scale 1.0 1.0 1.0
FrameIndex POSS A 0 0
}
eg
Code: Select all
Model Test01
{
Path "models"
Model 0 "testmodel.md3"
GroupSkin 0 "face" "face.png"
GroupSkin 0 "body" "body.png"
GroupSkin 0 "feet" "feet.png"
Scale 1.0 1.0 1.0
FrameIndex POSS A 0 0
}
Would something like that be workable?
Posted: Thu Jan 03, 2008 0:11
by Nash
I like your makeshift implementation, Enjay. Plain and simple.
Using the keyword "Group" should be enough and technically correct term-wise.
Code: Select all
model HiPolyDoomGuy
{
path "models/doomguy"
model 0 "doomguy.md3"
group 0 "head" "head.png"
group 0 "body" "body.png"
group 0 "gun" "gun.png"
scale 1.0 1.0 1.0
}
Posted: Fri Apr 25, 2008 15:32
by jaquboss
I don't know about MD2, but MD3 definetly has more groups ( called surface in it's case ) which do have their own texture mapping
ofcourse Q3 engine render is a little like framework, using scripts called 'shaders' ( though these have nothing to do with hardware shaders ), these are just lists of commands that render should do ( however the biggest part is still the same for engine whatever you do ). they can set map, lightning, vertex effects ( deformations ) etc.
for example
Code: Select all
models/players/common/specGlow
{
deformVertexes wave 1000 sin 1.75 1 0 .5
cull none
{
map $whiteimage
blendFunc gl_one gl_one
rgbGen entity
}
}
will change handling of surfaces which do have their skin set to 'models/players/common/specGlow' in this way ( pulsing size, white texture, coloured by gamecode->engine sources, with additive blending )
generaly it's bad idea to implement this without going same way as Q3 is, which might be really long term job redoing of the most of renderer
so value of this post is well... zero