Procedure for making player skins?

Discuss the creation of various model formats for Quake engines, and related matters to modeling.
Post Reply
OneManClan
Posts: 247
Joined: Sat Feb 28, 2009 2:38 pm
Contact:

Procedure for making player skins?

Post by OneManClan »

Hi people.

Q1: What is the proper/intelligent/professional way to make high res player skins?

I've been rtfming about the situation with Quake and textures, but haven't found a 'step by step' guide. Currently my (newbie guesswork) procedure is:

1. In QME, open the model, and export the skin.

2. Open the skin (pcx) in Photoshop.

3. At this point we are ready to paint, but how do you pick the colours you want to use? I began by seeing if the colour exists in an existing skin, and using the eye dropper tool to select it, and then draw using that colour. After some more rtfming, I opened open up the quake pallette (as shown here), and here, but this (for some reason) resulted in messed up skins. [DISCLAIMER: This might be because I changed the format to RGB (so I could use layers) and changed back to '8 bit indexed colour', and something else might have gone wrong]


I found this Quake pallette, but there must be a different format for skins, because when I open player existing (TF) skins in Photoshop, they are all 8 bit Indexed colour. The resolution is very low. But there must be another format for skins, because I noticed a head on the ground (using fte client), and it was insanely high res.

Q2: What is the procedure to make high resolution skins like that? Is there some 'restriction' where player skins can't be high res? Or does it depend on the client / resolution / graphics settings?

Finally, I found this backpack .mdl in my /progs folder with Bill Gate's face on the back, and it looks reasonably high res - clearly this was a photo which was 'processed' to a) remove non-quake compatible colours, and b) be compatible/look good in Quake... HOW?

thanks

OneManClan

ps. I have already read the QUAKE GRAPHICS EDITING FAQ (http://joz3d.net/documents/qgraphic.txt) and I know about fullbrights
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: Procedure for making player skins?

Post by Spike »

there's a couple of different ways to do high res skins (which you're not going to like, of course).

there's the ezquake way:
make 14 different copies of every skin each painted a different colour.
brute force aproach. bypasses colourmapping support in the renderer and moves it into the skin loader.

and the dp/fte way:
make 3 separate images that each contribute to part of the skin. the maths is: base+(lower*lowercolour)+(upper*uppercolour).
(of course, there's also fullbright, normalmaps and specular images too... but those are technically separate features. be glad you don't need 14 copies of each of these).
this means you can still have rich colour choices like green-and-yellow: color 0x00ff00 0xffff00. You could hyjack one of these colours to add other stuff... But you'd oversaturate rather than replace (you can theoretically work around that by providing your own glsl code, giving you some way to select a subsection of a different texture to use as a head or whatever, but that's probably just a little too engine/model specific...)


If you import an rgb skin into qme, then export it as a pcx, you should have a pcx using the proper palette that you can then use as a player skin. Just discard whatever model you imported it into afterwards. Of course, doing this is a hassle.
OneManClan
Posts: 247
Joined: Sat Feb 28, 2009 2:38 pm
Contact:

Re: Procedure for making player skins?

Post by OneManClan »

Sorry Spike, much of this went over my head:
Spike wrote:there's a couple of different ways to do high res skins (which you're not going to like, of course).
there's the ezquake way:
make 14 different copies of every skin each painted a different colour.
brute force aproach. bypasses colourmapping support in the renderer and moves it into the skin loader.
You seem to be referring to the issue of 'how to use team colours'(?) I'm happy to not use the 'colormapped/reserved' shades of Red and Blue (there's no Green or yellow teams in AGR) so I don't think this is a problem - unless I missed your point - ie I have no idea what a 'skin loader' is.
Spike wrote:and the dp/fte way:
make 3 separate images that each contribute to part of the skin. the maths is: base+(lower*lowercolour)+(upper*uppercolour).
:? Split each skin into three separate (pcx?) files? Or is this some other kind of skin format? A Math formula? Lol, either we are talking about completely different things.. or I'm completely out of my element ;)
Spike wrote:(of course, there's also fullbright, normalmaps and specular images too... but those are technically separate features. be glad you don't need 14 copies of each of these).
this means you can still have rich colour choices like green-and-yellow: color 0x00ff00 0xffff00. You could hyjack one of these colours to add other stuff... But you'd oversaturate rather than replace (you can theoretically work around that by providing your own glsl code, giving you some way to select a subsection of a different texture to use as a head or whatever, but that's probably just a little too engine/model specific...)
"normalmaps", "specular images", "glsl code" ...? Thanks Spike, but I'm still a beginner in this area so this all went over my head. :oops:


Practically speaking, how do the people who make/draw/paint skins do it? Do they hand paint using the eye dropper tool to pick colours from the quake pallette? Or do they just draw the whole thing, and then somehow 'process' everything to be quake compatible. I've zoomed into the TF skins to the pixel level, and honestly can't imagine someone painting the skins (ie detailed faces, clothes, etc) using the pencil tool in photoshop. and editing pixel by pixel.
Spike wrote: If you import an rgb skin into qme, then export it as a pcx, you should have a pcx using the proper palette that you can then use as a player skin. Just discard whatever model you imported it into afterwards. Of course, doing this is a hassle.
From what I can tell, QME only imports bmp, pcx, jpg, and jpeg.

I'm sure this will make sense once I am more experienced, but right now, I need step by step guide.

1. Open pcx skin in photoshop
2. Change to RGB (??) so I can use layers? In my case I'm making multiple versions of the same skin, so I need to copy layers from one skin to another so I don't have to hand draw each one
3. Change the resolution (?) so I can have high res skins, like that detailed head. Is it possible to get such high resolution on a player.mdl skin? Or will only fte/DP load it?
.
.
n. Save skin

Isn't there somewhere newbies can rtfm basic specific procedures?
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: Procedure for making player skins?

Post by Spike »

okay then. shorter answers.

A1: They use tga/jpg/png. Not pcx. Only crazy people use pcx.
the only advantage to pcx is that the palette is known and can thus be colourmapped like software always did. you wouldn't otherwise use it.

A2: not painting per pixel. not using palettes. get an actual artist to describe that cos I suck at that stuff.
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Procedure for making player skins?

Post by goldenboy »

Practically speaking, how do the people who make/draw/paint skins do it? Do they hand paint using the eye dropper tool to pick colours from the quake pallette? Or do they just draw the whole thing, and then somehow 'process' everything to be quake compatible. I've zoomed into the TF skins to the pixel level, and honestly can't imagine someone painting the skins (ie detailed faces, clothes, etc) using the pencil tool in photoshop. and editing pixel by pixel.

Well...

first off, high res skins do not NEED to conform to the quake palette or to be "quake compatible" in any way. You can choose from the full RGB colour space. You can always use hue/saturation/levels/contrast/brightness as well as different layer blend modes (stuff like "multiply" etc in the layer options) and layer opacity to get the colours you want. If you don't know what I just talked about, please learn Gimp or Photoshop until you know what layer modes, hue, saturation etc. are.

There are several ways to create a skin or texture; all of them involve hand painting at least for highlights and shadows, and you'll probably want stuff like scratches too. Get a graphics tablet; you can not paint this with the mouse.

One way is to start with the normal map or the ambient occlusion map because that will give you the outlines of the model on a 2D layer. And then you just go from there - you add more and more layers and use a combination of photosourced textures (cgtextures.com), bucket fill, blend modes, gaussian blur, and hand painting to get where you want to go. Dodge is good for highlights, jittery brushes are good for scratches etc.

Look here:

http://forums.cgsociety.org/showthread. ... 6&t=373024

Of course this is just an example; Quake monster skins only partially consist of hard surfaces, eg armour, the rest is skin, flesh, leather, ...

Also look here:

http://www.iddevnet.com/quake4/ArtRefer ... tingModels

Please note that when you do the normal/specular stuff, you do not need to draw shadows or too much highlights onto your diffuse map (that is, the basic texture so to speak) because that is all done by the norm/gloss maps and rtlights or ambient occlusion (look that up if you don't know what AO is).

Of course there are simpler methods such as painting the model in Blender. I believe leileilol has experience with this.

Just forget QME. Learn Blender.

Edit: And please don't say "this is over my head". Have the decency to use Google to understand peoples' posts. If someone takes 10 minutes to help you, it is pretty rude to say "that is over my head" without even using Google. :wink:

Edit2: If your engine doesn't support normal/specular maps, you have to paint the shadows/highlights onto your diffuse map. Here is a good example video:

http://www.youtube.com/watch?v=GCFzTS-qFmQ

It might still help to have an AO map to start from... even if your engine can't use the normal map you'll need for that. You can simply bake the AO into the diffuse map ^^
OneManClan
Posts: 247
Joined: Sat Feb 28, 2009 2:38 pm
Contact:

Re: Procedure for making player skins?

Post by OneManClan »

goldenboy wrote: high res skins do not NEED to conform to the quake palette or to be "quake compatible" in any way. You can choose from the full RGB colour space. You can always use hue/saturation/levels/contrast/brightness as well as different layer blend modes (stuff like "multiply" etc in the layer options) and layer opacity to get the colours you want.
Really? I thought the reason for my messed up skins dramas was because Quakeshop's conversion from pcx->RGB "changes something" ( 'corrupts the Quake palette numbering system' ?) and no matter what I've tried ( using different quake palettes when converting back to indexed color, importing the psd in Paint Shop pro (and GIMP, and outputting a pcx, etc etc) all I get is messed up colors.
goldenboy wrote:Just forget QME. Learn Blender.
Does Blender have (Photoshop style) layers? Yes I rtfmed but I think 'layers' in Blender are a different concept.
goldenboy wrote:Edit: And please don't say "this is over my head". Have the decency to use Google to understand peoples' posts. If someone takes 10 minutes to help you, it is pretty rude to say "that is over my head" without even using Google. :wink:
I do use google, relentlessly, but .. I often don't have the skills to determine what's relevant or not; much of the stuff is either not documented, or dated, or in some forum where people don't agree on things anyway. Eg I read your response to this guy who appeared to have the same (similar?) issue as myself, but was (am!) still hoping that all my work wouldn't be lost, and resisting learning (yet another) bit of software.

Re "this is over my head", I hope it didn't come across as rude. I remind Gurus of my newbieness to ensure they don't waste time giving me info that I won't understand; it's also an implicit request that they don't hesitate to dumb things down to a level they might otherwise think was insulting :)
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Procedure for making player skins?

Post by goldenboy »

I thought the reason for my messed up skins dramas was because Quakeshop's conversion from pcx->RGB "changes something" ( 'corrupts the Quake palette numbering system' ?) and no matter what I've tried ( using different quake palettes when converting back to indexed color, importing the psd in Paint Shop pro (and GIMP, and outputting a pcx, etc etc) all I get is messed up colors.
GIMP will in any case not "change something" when converting an indexed image to RGB.

Also, apparently you want to create low-res textures (ie indexed) - this got me a little confused because you mentioned high res textures. What I told you above regards the creation of high resolution RGB textures, not indexed textures. Still, even if you want to convert your skin to indexed eventually, you do not need to use only colours from your target palette during painting. The conversion will take care of the colours.

I described in your other thread (http://forums.inside3d.com/viewtopic.ph ... e7b#p48657 how you can import the palette from an indexed image with GIMP, and how you can convert an RGB image to indexed using that same palette. This process works just fine for me.

Don't import the PSD into GIMP, export a BMP from PS and load that into GIMP to bypass any potential issues with GIMP and PSD format.

What is Quakeshop - I can't find it on google :wink:
Does Blender have (Photoshop style) layers? Yes I rtfmed but I think 'layers' in Blender are a different concept.
I don't know, I don't use any such feature in Blender. Can QME bake ambient occlusion maps? :wink:
Eg I read your response to this guy who appeared to have the same (similar?) issue as myself, but was (am!) still hoping that all my work wouldn't be lost, and resisting learning (yet another) bit of software.
So your issue is that the conversion to indexed mode *slightly* changes the colours of your image? I'm afraid that is in the nature of using indexed mode. Your image will never look the same after converting it to indexed. If you want to avoid this, you have two options:

1) your best option is to work completely in indexed mode without ever converting the image (and pretty much pixel by pixel painting if your skin size is small). I actually suggest using Wally then because Wally comes with specialized tools and filters for use in indexed mode, which GIMP at least lacks. Things like GIMP's airbrush and dodge/burn don't work in indexed mode, while Wally does have such tools.

2) Work in RGB mode using mainly colours from the Quake palette as seen here:

Image

This has the advantage that the airbrush and all the filters do work, while the colours are kept very close to the palette colours and hence the indexing won't be so noticeable.

I'm not sure any of this fixes the issue with the really screwed colours you seem to have after exporting. Pretty sure that's a result of using the wrong palette when indexing (or an engine bug; double check your skins in a known good engine such as DP).

Edit: The best and simplest fix for all your problems is not to use indexed images. Why can't you just use JPG or TGA format for your skins?
Post Reply