Create a modular (almost) procedural female skin for cycles

A place for unofficial tutorials posted by MH users

Moderator: joepal

Re: Create a modular (almost) procedural female skin for cyc

Postby wolgade » Thu Apr 27, 2017 9:36 am

blindsaypatten wrote:If it's easy to do it would be interesting to see the exact same view of the default rendering of that closeup under the same lighting etc.

Very easy to do. Here's the result with exact same lighting and skin shader, but without procedural high frequency diffuse variation and without procedural bumps:
1.jpg
wolgade
 
Posts: 795
Joined: Wed Jan 30, 2013 6:50 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby blindsaypatten » Thu Apr 27, 2017 3:36 pm

Just because the two images ended up on different pages and to make it easier to compare:
ProceduralSkinComparison.png


That's a huge improvement to my eye!

It's a nice side-effect that the added texture masks some of the noise in the un-textured image. I can't immediately judge how true to life the texture is but if I have it right that the texture is parameterized then hopefully values can be found for those parameters that fine tune it, in which case I think this will be extremely versatile. Even without looking closely at comparing it to real skin I think it is an obvious improvement over the status quo. I really hope there is a way to build it in so it can be configured in MakeHuman and then imported into Blender without the user having to understand exactly how it works or having to use the node editor to apply the techniques for themselves. Perhaps it's possible to do as a plug-in and a blender importer add-on/mod. At very least there should be a checkbox someplace that indicates whether to apply this.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby jujube » Thu Apr 27, 2017 3:56 pm

Yeah, that displacement lip is really beautiful. I've been putting off downloading/using these materials. So much makehuman experimenting to be done.

I have a procedural polygon hair material that I really should clean up and upload here.
....saying this and not uploading a pic is no fair, I know, but saying it in public means I have to stop putting it off and get it done.
jujube
 
Posts: 404
Joined: Fri Aug 14, 2015 10:46 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby wolgade » Thu Apr 27, 2017 4:01 pm

blindsaypatten wrote: I really hope there is a way to build it in so it can be configured in MakeHuman and then imported into Blender without the user having to understand exactly how it works or having to use the node editor to apply the techniques for themselves.

I never thought about implementing something like this in MH. Whenever I import a character to Blender I replace skin and eye materials with my own. This is fast and simple as you can append the material from another blend file. If you had to create the node setup manually again and again, this would be really painful. A good idea would be on the other hand to share materials in the user repo. This idea came up lately.
wolgade
 
Posts: 795
Joined: Wed Jan 30, 2013 6:50 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby wolgade » Thu Apr 27, 2017 4:03 pm

jujube wrote: but saying it in public means I have to stop putting it off and get it done.

Should we remind you from time to time? :D
wolgade
 
Posts: 795
Joined: Wed Jan 30, 2013 6:50 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby jujube » Thu Apr 27, 2017 4:16 pm

wolgade wrote:
jujube wrote: but saying it in public means I have to stop putting it off and get it done.

Should we remind you from time to time? :D

Probably a good idea lol.

It came from ideas I took from stack exchange, to use a stretched noise texture. I also got a node setup for color ramp with inputs from stack exchange. I don't remember if I made a nice neat node setup combining them. My innovation was to combine different noise sizes and gradually increasing transparency levels to make it more like hair. But I didn't find an elegant way to do it; I had to use the geometry location input and find the right height through trial and error.
jujube
 
Posts: 404
Joined: Fri Aug 14, 2015 10:46 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby blindsaypatten » Thu Apr 27, 2017 7:45 pm

wolgade wrote:
blindsaypatten wrote: I really hope there is a way to build it in so it can be configured in MakeHuman and then imported into Blender without the user having to understand exactly how it works or having to use the node editor to apply the techniques for themselves.

I never thought about implementing something like this in MH. Whenever I import a character to Blender I replace skin and eye materials with my own. This is fast and simple as you can append the material from another blend file. If you had to create the node setup manually again and again, this would be really painful. A good idea would be on the other hand to share materials in the user repo. This idea came up lately.

Whether this is applied in the MakeHuman render isn't that important to me, I think people can accept that you need to go to Blender for a high quality render. What I think is import is that there be something like a checkbox on the export page that says to apply this stuff when importing into Blender. Having looked at the gloss node setup in the MHX2 import code it looks to me like building the nodes is fairly easy, it's just a matter of having a flag in the materials file and any necessary textures or whatever available.

For me, the goal should be to eliminate as many steps as possible from what the user has to do to get a great result, and to reduce as much as possible the learning curve the user has to climb to get to great results, while preserving the ability for those who are so inclined to "lift the hood" and tinker to their heart's content.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby wolgade » Fri Apr 28, 2017 9:35 am

blindsaypatten wrote: I think people can accept that you need to go to Blender for a high quality render.

Just to make sure that we both agree about what could be considered a high quality render: For me it is a render that tries to achieve photorealism. In this case you simply have no choice. It can't be done within MH. Keep in mind that my and probably your opinion about "high quality" are in no way common sense.
blindsaypatten wrote:What I think is import is that there be something like a checkbox on the export page that says to apply this stuff when importing into Blender.

This is something only possible with MHX2 and here's the problem: Complex materials won't be visible in MH, They wouldn't work with any export option but MHX2. You're not talking about improving MH, but MHX2. I'm not entirely sure, whether this is a wise decission. Especially newbies wouldn't benefit at all. They're already confused with the options MHX2 offers. How would a newbie get the idea that MHX2 could create a great material he never saw in MH. Another point: MHX2 hasn't seen any updates for months. I'm not sure whether Thomas is still interested in developing stuff for MH. We will know soon when Blender 2.8 rises with a lot of API changes and MHX2 stops working.
blindsaypatten wrote:it's just a matter of having a flag in the materials file and any necessary textures or whatever available.

It's not that simple. Where do you want complex materials being defined? In the material file of the asset, of course. As far as I know, complex materials still can't be described in a generic way. Do you want to have a cycles exclusive material file?
blindsaypatten wrote:For me, the goal should be to eliminate as many steps as possible from what the user has to do to get a great result, and to reduce as much as possible the learning curve the user has to climb to get to great results,

I got your intention right away, but I doubt that this road will lead anywhere. Let's assume for a second we have this magic button to give an amazing experience to newbies. And then? If they're like me back a few years after my very first import of a MH character to Blender, they might want to change some stuff. I didn't know the first thing about Blender so I edited the image texture. What a great success to add some text to a t-shirt or whatever I did. This is harder to do with complex materials. You might also be intimidated by a complex node setup. I would have been. As I'm not an artist, it wouldn't have come to my mind these days that there might be a day when I was able to create something looking good.
wolgade
 
Posts: 795
Joined: Wed Jan 30, 2013 6:50 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby blindsaypatten » Fri Apr 28, 2017 4:52 pm

wolgade wrote:
blindsaypatten wrote: I think people can accept that you need to go to Blender for a high quality render.

Just to make sure that we both agree about what could be considered a high quality render: For me it is a render that tries to achieve photorealism. In this case you simply have no choice. It can't be done within MH. Keep in mind that my and probably your opinion about "high quality" are in no way common sense.


I think my idea of high quality is closely associated with photorealism as well. More generally I think it is a render that looks like what you want it to, whether that is photorealism, anime-style, cartoon, or some other artificial stylized look. I don't have enough experience in this area to know how much photorealism I need to be satisfied, I just know that some things irritate me :D I think part of it is consistency, if everything looks photorealistic but the eyebrows look like they were drawn on top of a photo with a cheap graphics program, that irritates/frustrates me. If things in the foreground and background are simultaneously in focus in a way that's physically impossible in a photograh, I'm okay with that. It's like a jpeg image, there are ways to compress the image that lose information but aren't noticed by the eye, and that's okay.

When you say, "It can't be done within MH." it makes me wonder about the boundaries between programs. I don't have any experience with scripting in Blender but I find it pretty easy to imagine setting things up so that when you click the render button in MH a Blender window opens up with nothing but an UV/Image Editor pane visible and your character getting rendered with no interaction with Blender required from you. So you get all the rendering power of Blender without any need to know how to use Blender.

wolgade wrote:
blindsaypatten wrote:What I think is import is that there be something like a checkbox on the export page that says to apply this stuff when importing into Blender.

This is something only possible with MHX2 and here's the problem: Complex materials won't be visible in MH, They wouldn't work with any export option but MHX2. You're not talking about improving MH, but MHX2. I'm not entirely sure, whether this is a wise decission. Especially newbies wouldn't benefit at all. They're already confused with the options MHX2 offers. How would a newbie get the idea that MHX2 could create a great material he never saw in MH. Another point: MHX2 hasn't seen any updates for months. I'm not sure whether Thomas is still interested in developing stuff for MH. We will know soon when Blender 2.8 rises with a lot of API changes and MHX2 stops working.


I'm afraid that I don't understand the thinking about MHX2. If you told me that three or four months from now MHX2 will stop working and I'll be limited to creating static characters in the default pose and rendered with the internal MH renderer from then on, I would walk away without looking back. Lucky for me, I know that at very least the option is there to just not upgrade Blender. I haven't tried the Blender alternatives so I don't know whether, if a virus/worm destroyed every trace of Blender out of existence, whether I could just start using something else. I'm only guessing that if there was something equivalent that I would read more about it here.

wolgade wrote:
blindsaypatten wrote:it's just a matter of having a flag in the materials file and any necessary textures or whatever available.

It's not that simple. Where do you want complex materials being defined? In the material file of the asset, of course. As far as I know, complex materials still can't be described in a generic way. Do you want to have a cycles exclusive material file?


To play devil's advocate, and be completely simplistic, from a user perspective I would be quite happy to have a checkbox labeled "do everything you can to be as photorealistic as possible". How that gets handled by different rendering systems is up to the importer of that system. If it's cycles it can use a procedural skin, if its blender internal it can do something else or just ignore it. Perhaps there is even a panel in the Blender importer with checkboxes for what techniques you want to apply when that flag is set in the import file. In the worst case, sophisticated users do what they do now, replace all the settings the importer created with something they have come up with themselves.

Clearly I'm being somewhat extreme for rhetorical reasons but one really does have consider the appropriate level of abstraction from a user perspective. To you your procedural skin is a complex material, to the user it just a better looking skin and the details of how you achieved it are unnecessary details. The photorealistic checkbox might be too extreme but having an additional item in the Materials tab would make complete sense from the user's perspective. Indeed, one could make the argument that having a "Materials" tab is a programmer/implementation-centric abstraction, a user would find a "Skin" tab to be more intuitive, and how the selected skin is achieved, via images and material descriptor files or by a particular procedural method is not the user's concern.

wolgade wrote:
blindsaypatten wrote:For me, the goal should be to eliminate as many steps as possible from what the user has to do to get a great result, and to reduce as much as possible the learning curve the user has to climb to get to great results,

I got your intention right away, but I doubt that this road will lead anywhere. Let's assume for a second we have this magic button to give an amazing experience to newbies. And then? If they're like me back a few years after my very first import of a MH character to Blender, they might want to change some stuff. I didn't know the first thing about Blender so I edited the image texture. What a great success to add some text to a t-shirt or whatever I did. This is harder to do with complex materials. You might also be intimidated by a complex node setup. I would have been. As I'm not an artist, it wouldn't have come to my mind these days that there might be a day when I was able to create something looking good.


This goes back to the design philosophies which I'll paraphrase as "It should be simple to do conceptually simple things and possible to do complex things." and "It should do the right thing by default." My vision is, if you install MH and Blender, and then open MH, and immediately go to the render tab and click Render it should open up a blender window and produce a photorealistic image of an androgynous humanoid with great looking skin. There might be a startup config panel that allows you to set a default character to load on startup, where you might or might not decide to have an androgynous humanoid with shiny brown plastic-like skin with a bunch of middle of the road characteristics as your starting point, but shiny brown plastic-like skin would not be the initial default.

I get the gist of the idea of complex materials being harder to manipulate, but I would need a concrete example before I could really consider the trade-off between getting a good result right away and difficulty of making modifications.

P.S. An afterthought, if there is an issue with the user not being able to render complex materials in MH, an easy solution would be to have a sort of expanded thumbnail, so one could see an example rendering of a default character using that material at a higher resolution.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Create a modular (almost) procedural female skin for cyc

Postby wolgade » Fri Apr 28, 2017 9:04 pm

blindsaypatten wrote:when you click the render button in MH a Blender window opens up with nothing but an UV/Image Editor pane visible and your character getting rendered with no interaction with Blender required from you. So you get all the rendering power of Blender without any need to know how to use Blender.

This requires MH users to have installed Blender. Back in the very early days MH started as a Blender addon. It's been a standalone program for quite a while. Most MH users use Blender, but not all. Developement of the past years was to get less focussed on Blender and get usable for people who use other tools. Another problem: MH has a very limited material system. It can't deal with more than one material per object. It can't deal with procedural textures. It's a one trick pony to model human characters. If you want sophisticated materials for render engines that didb't even exist when MH was created, you have to use other tools.

On the other hand: Feel free to use my stuff to develope a plugin that does all the things you'd like to have.

blindsaypatten wrote: If you told me that three or four months from now MHX2 will stop working

I'm not saying that this will happen. I wanted to say that it could happen. A few years back with MHX it happened all the time. There was Thomas around to get things working again. I'm not sure whether he's around anymore. I simply don't know if someone else could step in and take his place. Using an old Blender version is a workaround for just a limited amount of time.

blindsaypatten wrote:I would be quite happy to have a checkbox labeled "do everything you can to be as photorealistic as possible". How that gets handled by different rendering systems is up to the importer of that system. If it's cycles it can use a procedural skin, if its blender internal it can do something else or just ignore it.

From a user perspective you're completely right, but I have no idea how this could be implemented. I have to admit that this might be caused by my lack of knowledge.
wolgade
 
Posts: 795
Joined: Wed Jan 30, 2013 6:50 pm

PreviousNext

Return to Tutorials

Who is online

Users browsing this forum: Google [Bot] and 1 guest