project-navigation
Personal tools

Author Topic: Yet another try at this (in Blender)...  (Read 9545 times)

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Yet another try at this (in Blender)...
« on: May 02, 2010, 09:11:16 pm »
Some of you may remember when I tried to make new heads for character models, and they didn't come out too great...

Well, stubborn as ever, I've researched some new modeling techniques I haven't tried before, and come up with this high-detail head that I think will work much better once it is mapped onto a low-poly mesh with a few new texture mapping tricks I've just started to learn.

A few notes:

- You may notice that the haircut leans forward in these pics, that is intentional at this stage because of the way Blender renders hairs, once the images are plastered onto a low-poly mesh as a texture it will be bent and re-shaped to look more normal.  Long story short, the end result will look better than if I had made them stand straight up at this level of the process.

- The same goes for the eyelashes and eyebrows, when everything is put onto the low-poly version they won't stick out forward, but will instead look normal.

- At some point I'll also correct the lighting, contrast, and saturation so it will look right in-game.

- I'm especially proud of how I got the ears to come out much better this time.

Offline Legendman3

  • Sergeant
  • *****
  • Posts: 306
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #1 on: May 02, 2010, 09:48:46 pm »
sweet

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #2 on: May 03, 2010, 03:17:24 am »
Now comes the next phase - This shows the progression of the low-poly copy being made, just the shape so far.

When it gets done, renders from the high-detail original will be mapped onto this simpler mesh.

If things were different and I was instead modeling after a real human face, this is the part where I would build the low-poly mesh off of photographs of a real person, then map the photos at different angles onto the resulting mesh.  This technology is quite impressive, some people don't realize that for some time now we have had computers that can do this type of thing, a little bit like in the '90s move "DarkMan" where the guy scans a photo into a computer and ends up with a 3D model/image that they can rotate any way they please.  It also isn't unheard of this being done in law enforcement investigations, to re-create a crime scene and look at it from different angles, to see exactly what is going on when and where.

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #3 on: May 03, 2010, 03:45:41 am »
Done!

Now comes the fun part, where I actually map the high-res renders onto the low poly mesh and see how it comes out...

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #4 on: May 03, 2010, 04:39:22 am »
Well, this came out better than the previous ones - With lowering the hair at tad and a few other adjustments, I think we'll have a working new head.

Edit:  Only 122 verts and 218 faces!
« Last Edit: May 03, 2010, 04:41:04 am by Destructavator »

Offline Kildor

  • Project Artist
  • Captain
  • ***
  • Posts: 757
  • Project mapper and some other stuff`er
    • View Profile
    • http://ufoai.nx0.ru
Re: Yet another try at this (in Blender)...
« Reply #5 on: May 03, 2010, 06:01:54 am »
very nice!

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #6 on: May 03, 2010, 06:56:28 am »
Thanks!

Now if I can just find a way to reduce the size of the source files - the high-res renders (there are five of them) are huge at around 5 MB or so each, but if I scale them down the techniques I use for mapping the textures doesn't work as well.  I'd like to put it all in the data source, but as of now it would take up a lot of space.

That and I also plan to make other versions, different hair, some with a mustache, etc...  Which would take up a lot more space.

Offline Kildor

  • Project Artist
  • Captain
  • ***
  • Posts: 757
  • Project mapper and some other stuff`er
    • View Profile
    • http://ufoai.nx0.ru
Re: Yet another try at this (in Blender)...
« Reply #7 on: May 03, 2010, 06:58:15 am »
may be make one large xfc.gz file with all versions as layers? Should it decrease the size?

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #8 on: May 03, 2010, 07:21:42 am »
may be make one large xfc.gz file with all versions as layers? Should it decrease the size?

Well, as it is right now the large graphic files are packed into one Blender source file, although Blender doesn't require files to be packed to do what it does - So your suggestion might help, certainly worth a try.

Part of the problem is that the high-detail images are large PNG files (4096 x 4096) which are not similar - they are much like the first two attached graphics in the first post, one for the front of the face, one for the left side, one for the right, one for the back of the head, and one for the top.  I also need an alpha channel for the technique I used, which is why I can't simply use JPEGs.

I suppose I could try TGAs and compare the filesize, as those also have an alpha channel.

Then again, if GIMP stores pictures in it's own format in a compressed form, your suggestion might still work.

Hmmm...

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
Re: Yet another try at this (in Blender)...
« Reply #9 on: May 03, 2010, 08:24:22 am »
nice - export it to md2 please - even if we only use it as civilian head in 2.3 because there are no helmets yet, this would add some variety to the game.

Offline bayo

  • Professional loser
  • Project Coder
  • Captain
  • ***
  • Posts: 733
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #10 on: May 03, 2010, 10:02:33 am »
you also should have a tool to extract height map and normal map from hi/low poly. is there?

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #11 on: May 04, 2010, 07:07:21 am »
Ha!  I did it, managed to figure out how to use just 2048 x 2048 high-detail textures without an alpha channel - Blender is capable of generating a missing alpha channel if needed - this means I can use JPEGs instead of huge PNG files.

It's in the data source of the SVN now.

@Mattn:  Done, I scaled and exported it, you can re-name and use the MD2 anytime you'd like.

@Bayo:  Yes, Blender can do all that stuff, although I haven't learned how to use it yet as I'm still trying to understand exactly what a normal map is and how it works.   :P  You mentioned a hightmap - yes, Blender works with those, but aren't those mostly for rendering terrain and stuff (in other projects, I don't think UFO: AI uses that)?

Offline vedrit

  • Sergeant
  • *****
  • Posts: 438
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #12 on: May 04, 2010, 07:39:20 pm »
heightmaps can be used to render out bumps, or other small details, through shadowing rather than extra geometry on the model. Its how a lot of top-gen games get awesome characters with relatively low polygons.
In this case, heightmap would, for example, give a bumpy look to the top of his hair, without it being modeled, or creases in the clothes, or seams.

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #13 on: May 04, 2010, 09:04:57 pm »
heightmaps can be used to render out bumps, or other small details, through shadowing rather than extra geometry on the model. Its how a lot of top-gen games get awesome characters with relatively low polygons.
In this case, heightmap would, for example, give a bumpy look to the top of his hair, without it being modeled, or creases in the clothes, or seams.

Ah!  OK, thanks for explaining that.  Looks like I'll be doing some more research at some point with how to implement it in Blender.

Offline vedrit

  • Sergeant
  • *****
  • Posts: 438
    • View Profile
Re: Yet another try at this (in Blender)...
« Reply #14 on: May 05, 2010, 12:52:05 am »
Its actually fairly easy. You apply the heightmap as a second image, but without color, and set it to displace. In the example below, I used a very exaggerated bump of a heightmap of a planet.

The first image is the render in blender, the second is the heightmap I used.

The problem Blender seems to have is that the amount you displace very hard to estimate. Even setting the displace value to the full 1, changing nothing else produced very little effect, though Im sure that the gentleness of my heightmap is much to blame for it

EDIT: I played with the settings a bit. Turn "No RGB" on, and then adjust the displace values. The third image is the latest result
« Last Edit: May 05, 2010, 12:54:28 am by vedrit »