Recruiting for Makehumans Future!

Locked forum where the devs and staff post news about the makehuman software

Re: Recruiting for Makehumans Future!

Postby punkduck » Tue Oct 29, 2024 11:15 pm

joepal wrote:Both MPFB and MakeHuman already supports tris. The base mesh is quad, and that is not likely to change.

The only limitation is that you can't mix tris and quads in an asset, but apart from that there should be no particular limitations when using either.


Well the new version can read everything. Internally it works with triangles now. OpenGL 1.2 from the ancient times was able to do quads. This is sth. I avoided. :?

When one saves the model for blender, the original geometry should be there.

Also a mix should now work. When it is used with glTF it will be triangles. Simply because glTF only supports triangles.

From the technical view: the basemesh (and all basemeshes we might do later) should always be quads, since usually quads allow additional loopcuts etc.
It is also easier to use. Modelling clothes with 3rd party applications or by sculpting are mostly triangle meshes.

In old makehuman I deactivated subdivision of triangle meshes since it did some weird stuff.

Subdivision itself is just sth, I wanted to add, the new version only uses that for it's own renderer (just to have one for those not using Blender). If one needs a subdivided mesh, best do that in the destination application.

One of problems (the one with the border) I fixed an hour ago. Sometimes I need to sleep a night to have better ideas ;)
User avatar
punkduck
 
Posts: 1248
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Recruiting for Makehumans Future!

Postby punkduck » Sun Nov 24, 2024 9:26 pm

pbrshading.jpg
PBR shading started + light visualization


Meanwhile I added parts of a PBR shader (it kinda works except for normalmaps). I was never sure where the lights are, so I added a small visualization (lamps should be drawn with a lightshader in the end, this is still phong).
I tried to use ideas I found in Khronos manuals, pyrender etc. To combine different shaders I tried to figure out the best way for light-intensity of the lamps (partly in Lumen per m^2 (directional lights) and partly in candela (point lights). If you combine that with phong and litsphere ... (which is possible), phong uses values between 0 and 1, so no real unit. A lot of fun though.

The demo is rendered with PBR only (except for the dark hair, that is phong).

I know MESA does not do anything at the moment. I also never tested it on Windows since a few months. Mostly I have problems, where I cannot use pyside6 functions (openGL overlays) and have to use plain openGL ... and funny enough, when I use the official ones and do not set some parameters to back to standard in the openGL window, it crashes the whole thing (e.g. Texture1 is active) :?

I have a few topics to add, then I will try a "stabilization phase".
Next might be a socket communication to blender (it should share methods from the Blender exporter).

Maybe also some gimmicks, like when no animation is selected, the character could be on a turntable, etc. Ah yes, a better visualization of the skeleton will follow, also.

Greetings
punkduck
User avatar
punkduck
 
Posts: 1248
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Recruiting for Makehumans Future!

Postby punkduck » Tue Nov 26, 2024 9:40 pm

Of course I created the most unimportant thing first, a rotator.

The reason: I was never able to see the litsphere textures really working (it is a kind of image based lighting).

So now I rotate the character in the animation view and it also can display the animation itself.

In most games idle, walk and run movements are added. So I did an idle animation for the makehuman skeleton. It seems to work. Real ones for game-enignes usually are different to start a walk movement seamlessly. Usually one foot is moved forward a bit, the other backward.

idle.png


Here is a small demo:

noelia_idle.mp4
60 frame idle movement
(6.27 MiB) Downloaded 241 times
User avatar
punkduck
 
Posts: 1248
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Recruiting for Makehumans Future!

Postby RobBaer » Tue Nov 26, 2024 11:17 pm

@punkduck - this is really nice.

Question about the hair. Is this new mesh hair or if not how is it done. I don't think I recognize it or can you now somehow use particle hair?

Question about mouth/teeth. As she rotates it looks like a small amount of opening to her mouth (maybe my imagination). Anyway, like all MH models, it seems the upper teeth are never visible with a slightly open mouth except with extreme expressions. This seems still the case during the rotation. Am I wrong?
User avatar
RobBaer
 
Posts: 1221
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA

Re: Recruiting for Makehumans Future!

Postby joepal » Wed Nov 27, 2024 3:10 pm

Regarding the latter, I think it's a mis-fit of the system assets teeth models. The same has been reported for MPFB: https://github.com/makehumancommunity/mpfb2/issues/225

So I think this is a mistake in the asset rather than a bug in either codebase.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4595
Joined: Wed Jun 04, 2008 11:20 am

Re: Recruiting for Makehumans Future!

Postby RobBaer » Wed Nov 27, 2024 3:40 pm

Funny that Vidyut would have posted that just a couple of days ago. :lol: :lol: I had not seen her post. This has been literally in the back of my mind since I started using the program, but I never said it out loud until now.

@Elvaerwyn - Is this something within your skill set that you have time and inclination to help with?
User avatar
RobBaer
 
Posts: 1221
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA

Re: Recruiting for Makehumans Future!

Postby punkduck » Wed Nov 27, 2024 10:59 pm

RobBaer wrote:Question about the hair. Is this new mesh hair or if not how is it done. I don't think I recognize it or can you now somehow use particle hair?

Question about mouth/teeth. As she rotates it looks like a small amount of opening to her mouth (maybe my imagination). Anyway, like all MH models, it seems the upper teeth are never visible with a slightly open mouth except with extreme expressions. This seems still the case during the rotation. Am I wrong?


The hair is from an artist, I fitted it with makeclothes to my character. It is not available in Makehuman.

I usually work with strand hair in Blender. But for a demo in MakeHuman I searched for a good one. Elv also did a few new ones I often use. But I am too lazy to do own ones atm.

For a test in a game engine it might be used, but Unreal also has a concept called "groom hair" which can be created in Blender and exported with alembic.
So that not only works on their Metahumans, but also on a MakeHuman character. It needs some CPU power though and sometimes the hair is doing funny things when the character is in a rush.

The teeth, well I guess I forgot the "lower teeth target", Mindfront did one long time ago. And, yes eyes and mouth are also animated. So the teeth are visible partly during the animation.

Btw.: typical animations in game engines animate body and face separately, but I wanted to do a demo with both. And since there will be a possibility to overlay face animations to that idle cycle in the end, it might also be possible in MakeHuman. She uses IK to stand on the floor and I baked it. I use "root only location" for BVH export, since all bones are connected or have the same distance all the time, Then I even shortened the numbers from 0.00000 to 0 ... so a 60 frame file is 160K instead of 600. I also figured out the size so that she really stays on the (imaginary) floor and recalculated all frames (still by a mini-python script).

At the moment I try to replace the stick-skeleton with one made of bones using diamond shapes (like old MakeHuman does). So I need sth. to display simple geometry. Speaking of geometry: I could also place a chair in MakeHuman, but I want to avoid to create an own graphic program in the end.

If things really work, programming is fun. Often it is not. And just copying the old code would not make sense, because I then do not understand what it does.

I corrected a lot of things with our hm08. But it is mostly weighting.

The program is written to accept a different mesh. Although I have to admit I did not really do sth with that. One can mostly see that, when one checks the paths: there is an data/hm08/eyes and data/hm08/teeths etc. for our guy. In parallel we can use others as well. Elvs "foxy" kinda works, but for a real test the character needs a skeleton and a few targets.

Greetings,
Ralf
User avatar
punkduck
 
Posts: 1248
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Recruiting for Makehumans Future!

Postby punkduck » Mon Dec 02, 2024 9:48 pm

toonshader.png
playing with the toon shader


The old toon shader either uses the litshere lit_toon.png (and so it is not an own shader) or we have a second one, called toon shader itself, which calculates the normals and one of the internal light sources in MakeHuman.

I took the old code and, more or less figured out it is a phong shader in a way and adapted it to all 3 lights I have (one can switch off 2 lights to get the same result we had before), then I took one of my test characters and changed the lights to get some artificial results. The example is shown in the image. When the character is animated it looks even better :mrgreen:
User avatar
punkduck
 
Posts: 1248
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Recruiting for Makehumans Future!

Postby punkduck » Sat Dec 14, 2024 10:35 pm

Greetings

makehuman_orig_bvh.png
old makehuman, BVH export


This is the bvh import exported by old-makehuman in Blender. The new one looks also wrong but not that wrong.

Honestly, how is that supposed to be? The skeleton definition inside bvh cannot solve the problem. Does anyone of team know how a useful test of the bvh exporter looks like?

Except from that bone-pretzel I made the skyboxes/cubemaps now configurable (it should be used for reflections later). One can use converted equirectangular environment maps, It may look good, when things are far away, but the idea of using a small studio demands a fish-eye lens.

This looks okay:

skybox1.png
a well known environment map transformed to a cubemap, big distances allow reasonable focal angles


This is the only possibility to use a small room as a skybox.

skybox2.png
studio, 15mm fish-eye


For animation the skybox can be rotated as well. One can switch it off to avoid nausea (not a joke, I reduced speed to .25 degrees per frame, even 1 degree was a bit much) :mrgreen:

As you can see, I also added a second qss file for a different style which I did not call "rubbish.qss" this time :lol:

I guess there will not be much more before Christmas, but maybe I will have a chance to figure out the problems with Mesa, since I only will have a laptop for a few days. But Christmas will not only be used for programming this year.

Greetings
Punkduck
User avatar
punkduck
 
Posts: 1248
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Recruiting for Makehumans Future!

Postby RobBaer » Fri Jan 03, 2025 11:07 pm

@punkduck
punkduck wrote:
This is the bvh import exported by old-makehuman in Blender. The new one looks also wrong but not that wrong.

Honestly, how is that supposed to be? The skeleton definition inside bvh cannot solve the problem. Does anyone of team know how a useful test of the bvh exporter looks like?

Except from that bone-pretzel I made the skyboxes/cubemaps now configurable (it should be used for reflections later). One can use converted equirectangular environment maps, It may look good, when things are far away, but the idea of using a small studio demands a fish-eye lens.

Punkduck

It has been years (probably since Duststorm was still around) since I played with bvh in MH. One of the things I never got straight in my head is that pose files use the order:
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation

Most .bvh files from other sources like the carnegie collection use:
CHANNELS 6 Xposition Yposition Zposition Zrotation Yrotation Xrotation

or for people using Kinect based NUICapture (http://nuicapture.com/) stuff seem to use:
CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation

Parsing order is presumably important, and I haven't looked at the MH code to see if it is robust to file order, but this seems like a possible problem that could be causing what you see:
https://stackoverflow.com/questions/526 ... 8#52699028
and
https://research.cs.wisc.edu/graphics/C ... f/BVH.html

The first post above also talks about needing both the HEIRARCHY and MOTION data to get axis alignment, and provides an example of what happens with just HIERARCHY data versus both.

I also have a distant memory of trying to fight through some bone-roll issues related to .bvh files, but the details are gone.

Finally, I'm including two .bvh files that look fine in blender 4.3 and used to work with makehuman using makewalk plugin in the olden days. Perhaps they will be useful to you. One of the files is an original file from the carnegie collection; the second is the same file after import into Blender and export back out of blender. A quick look makes it seem that it made the Blender Import/Export trip unscathed. Note that the order is:
CHANNELS 6 Xposition Yposition Zposition Zrotation Yrotation Xrotation

Hope maybe one of these provides a clue to unraveling your problem.
Attachments
bvh_examples.zip
Walk Examples that work in Blender 4.3
(843.96 KiB) Downloaded 33 times
User avatar
RobBaer
 
Posts: 1221
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA

PreviousNext

Return to News from the crew

Who is online

Users browsing this forum: No registered users and 1 guest

cron