Materials Conversion - Current Issues and Requests

DAZ Studio Integrated Plugin (Integrated Plugin maintained by OTOY)

Moderator: BK

Forum rules
Please keep character renders sensibly modest, please do not post sexually explicit scenes of characters.
User avatar
linvanchene
Licensed Customer
Posts: 783
Joined: Mon Mar 25, 2013 10:58 pm
Location: Switzerland

update / edit: 2015 - 11 -25: added more detail how several material auto conversion rule sets could be added to the preferences tab

- - -
- - -

I had another look at the material conversion in 2.24.1.
I will try to provide information about the following separate issues in this one post:

- Issues with Iray Auto Conversion: The lack of Glossy Materials with an example Shader Mixer workflow,
- Issues with Iray Auto Conversion: Diffuse maps not included
- Issues with 3Delight Auto Conversion: A volume is not created when different settings are used for scattering and absorption on different surfaces
- Another look at the needs of different users: What t_3 tried to implement but did not have time to finish

IF possible there should not be just one auto conversion rule for all occasions.
In the long run the users should be able to select between different auto conversion rules for different tasks.


It cannot be expected that a huge challenge like this is now implemented in the very limited time available.
But it seems important to get a basic understanding about all the challenges waiting ahead to better plan what can be achieved in the short term and what needs to wait until the OctaneRender 3 implementation is done.
Side Note:

Many OctaneRender users do not have much or any Iray experience at all.
Therefore face_off and the users are facing a similar challenge:
Getting an understanding about all the Iray nodes from scratch.
This will not happen in just a few days.
Nevertheless what we can do now and what everyone can help with:
Load content with Iray materials and check what looks good and what not and post the results.

Issues with Iray Auto Conversion: The lack of Glossy Materials with an example Shader Mixer workflow

Example: Step Van Zombie Hunter
Iray Auto conversion example Step Van Zombie Hunter v1001.jpg
- Diffuse and Bump maps load all ok

BUT

There are no glossy materials created at all.

-> Question: which Iray bricks create results that are similar to glossy materials

To answer the question we can

- select a surface in the scene with the surface selection tool
- Open the Shader Mixer (this is not the same as the Shader Baker)
- select File / Import from Scene

This will now show the Node setup of the imported surface of the Iray Materials similar as the Node Graph Editor in OcDS.
Select Surface - Shader Mixer - Import from Scene.jpg
At first glance this can be a bit confusing. But at second glance you may start to see a logic.

- In Iray the "User Parameters" are on the left side.

In the middle there is the node for PBC Metallicity Base.
Side Note:
In OctaneRender we have the main Materials
- Diffuse
- Glossy
- Specular

It seems in Iray the main nodes for "Base Mixing" are

- PBR Metallicity / Roughness
- PBR Specular / Glossiness
- Weighted
The big challenge is now to figure out which exact settings define the look of the metallic surface in Iray and how can that be translated into an OctaneRender "Glossy Material"?

Now you could say: Just transform the OR diffuse materials to a glossy material manually.

Well here is the deal:

There are 263 Materials on over 500 surface zones in the example scene.
Iray Auto conversion example Step Van Zombie Hunter 263 Materials.jpg
IF there is any chance to have an automated solution to detect glossy materials in Iray and transform them to a similar OctaneRender material setup this would help a lot to save time in fine tuning the result.

Example: If an auto conversion at least creates a Glossy material with default settings we already saved the user from clicking on the Diffuse Material and switching it to a Glossy Material about 100 times. The user may still need to adjust roughness settings but at least not everything is diffuse in the scene.



- - -

Iray Materials Autoconversion for figures - Diffuse map is not carried over

It seems many Iray material presets that use both normal and bump maps in combination with diffuse maps end up as a gray mix material in OctaneRender.

Iray Auto conversion example M7 v1001.jpg
For some reason the Diffuse maps are not applied during the Auto Conversion.

- - -

3Delight Materials Autoconversion for figures: Visible differences at surface zone borders

Everyone has access to the free Genesis 3 Male figure from the "Genesis 3 Starter Essentials".
3Delight Auto conversion example Genesis 3 Male v1001.jpg
You can observe that at the border of surface zones between torso and limbs and face visible lines are generated.

This is caused because each of those surface zones has different "Scattering" values applied.
Maybe If instead of using a map with a color just using a color in the "Scattering" node this simple setup would actually work.
In any case IF you are trying to generate SSS, Transluceny or Refraction effects it is important to use the SAME absorption and scattering settings on ALL surfaces that generate a volume.

- - -

The needs of different users:

Complex Auto conversion as a starting place for new users and background objects

Especially users starting with OcDS may be very happy about an auto conversion that creates good looking materials with the click of a button.
It is a great feeling if your first renders with OcDS already look good without the need to actually understand what is happening behind the scenes.

In addition if there are 100+ materials in the background it is great to be able to just rely on the auto conversion for everyone.
Even the most advanced users are happy to save time without having to double check all those countless objects in the scenes that are not crucial to the end result.

I am under the impression that t_3 wanted to create an auto conversion that achieves those result.
Nevertheless it also seems t_3 did not have the time to actually finish this idea and work out all the issues.

Simple Auto Conversion as a starting point to create custom materials

On the other hand all those efforts that create already advanced auto conversion results may not be a good starting place for users who want to create their materials from scratch.

A great place to start any workflow may just be a diffuse material with bump maps applied.
Then the advanced users can create their own more complex material setups without having to first delete xy unwanted nodes on xy different surfaces before they actually can start.


Different sets of material conversion rules available at the same time?


Is it possible to add many different sets of auto conversion rules to the preferences page so different types of users can experiment with different rules and choose the one that fits their individual workflow the most?

Example:
Personally I may be very happy with the "Bump Map Priority" rule discussed earlier.

But users new to OcDS might actually be quite happy with a working more complex Mix Material setup that does also try to create nodes with scattering and absorption.


If it would be possible to have different auto conversion rules selectable at the same time this would also offer room for experimentation without affecting the work flow of those users who need a stable build.

A new set of rules could be implemented as a BETA auto conversion rule set while the previous stable auto material conversion rule set is still available with the click of a button. Users can try out the new advanced rules and give feedback but still have a working fall back solution with the last stable advanced or simple conversion rule set.

Some example details how auto conversion rule sets could be implemented:

- face_off implements his first version of a "Simple Conversion" rule set that makes sense for him.

- Instead of just removing all the auto conversion rules that t_3 implemented could it be possible to keep them for now as a complex conversion 2.23 BETA?

- Add a selection for different auto conversion rules to the preferences tab.
- A status could be added to the rules so users know if it is the recommended rule set or still in beta.

- Simple conversion: bump map priority rules (recommended)
- Simple conversion: normal map priority rules (alternative)
- Complex conversion: 2.23 rules (BETA state)
- Complex conversion: 3.x rules (BETA state)


Then in the long run when there is more time to have a look at advanced auto conversion options additional new rules could be added and obsolete unfinished rule sets could be removed.
Last edited by linvanchene on Wed Nov 25, 2015 8:32 pm, edited 1 time in total.
Win 10 Pro 64bit | Rendering: 2 x ASUS GeForce RTX 2080 Ti TURBO | Asus RTX NVLink Bridge 4-Slot | Intel Core i7 5820K | ASUS X99-E WS| 64 GB RAM
FAQ: OctaneRender for DAZ Studio - FAQ link collection
User avatar
sikotik13
Licensed Customer
Posts: 270
Joined: Thu Feb 20, 2014 6:21 pm
Location: Iowa, United States

Might I offer an alternative, if things get crazy or complicated or whatever? If there are enough of us around that are willing, it almost seems that for time purposes, it might be easier for now, with all of the changes coming (DS 4.9, OR 3.x, etc.), if just the simplest rule set was added to the existing set. The existing auto-conversion set works fairly well for background things overall (and many backgrounds are pre-Iray anyway), and it would give those of us willing to do the conversion manually an easier base to jump from in compiling the master list of node-to-node conversion.

This:
face-off wrote:What about if there is a displacement map, don't connect the normal or bump. If there is no displacement, but a normal and a bump, use the normal. Otherwise if there is only a bump map - use it? Check for opacity map, if present, load it as grey image.
Would be pretty much a great base to jump off of, it seems. This would also achieve several things:
1. Lowers barrier to figuring out which nodes in Iray go to which nodes in Octane
2. Gives us at least usable textures regardless of type
3. (Should be) extremely easy to implement

And it could always be improved when there is more time, information, or anything changes in any of the relevant factors down the road. It also seems it's the most flexible, in case something truly earth-shattering occurs somewhere, since it's just checking maps. I would add that
- PBR Metallicity / Roughness
- PBR Specular / Glossiness
- Weighted
matches what I've observed so far, and if it wouldn't be difficult to add, would lower the barrier even further, and make auto-conversion pretty close to finished outside of incredibly specific PBR materials, etc.

Just for whatever the idea's worth.
| Intel i7-5960x @ 3.8 GHz| ASUS X99-E WS | 64 GB G.Skill DDR4 2400 Ram | 4x EVGA GTX 980 Ti | Win10 Professional x64 | Watercooled
User avatar
DrHemulen
Licensed Customer
Posts: 317
Joined: Thu Dec 26, 2013 7:09 pm

Again, you can also just use your own, custom templated materials to do the conversion. It works really well, usually also on multiple materials in one go (you can apply a "hair" material to all the hair sub-mats for a figure for instance).
I feel that maybe it would maybe be better that the users build up a small database of templated materials instead of focusing too much dev energy on this autoconverision issue? I seems like it could get really complicated really fast.
GTX 780, 6 gigs of VRAM - Win 7 Home Premium 64 bits
User avatar
sikotik13
Licensed Customer
Posts: 270
Joined: Thu Feb 20, 2014 6:21 pm
Location: Iowa, United States

I agree, which is why I thought the simplest, most universal base made the most sense. Ostensibly, if we have new users, they don't have any templates yet, so this would facilitate them building them up. A better auto-conversion later on down the road is more a nice thing to me than a need, but it could potentially be a selling point when/if complete. And while I am enormous fan of templates myself, for as much as this renderer/plugin combo costs, at least a basic ability to handle conversions consistently is kind of expected. Templates are totally the end goal, a better base to start from in the first place makes the journey more enjoyable, and perhaps eventually being able to use some of those fancy PBR shaders I have laying around without having to rebuild them from scratch would be nice :).
| Intel i7-5960x @ 3.8 GHz| ASUS X99-E WS | 64 GB G.Skill DDR4 2400 Ram | 4x EVGA GTX 980 Ti | Win10 Professional x64 | Watercooled
User avatar
Notiusweb
Licensed Customer
Posts: 1285
Joined: Mon Nov 10, 2014 4:51 am

So, if he is able to implement 2 if-then commands:
1) if default is 'Mixed Material', set Normal power to '0'
2) if Opacity default is 'greyscale', set Opacity to 'grey image' and load (mask image .jpg)

Would this give us what we want at a simple level? (1 for SSS, 2 for Iray)

Maybe we could try to narrow down a simple if-then logic command for him which he can implement as a starting point.
Even if the commands could be user-selectively enabled/disabled it could be very useful.
Win 10 Pro 64, Xeon E5-2687W v2 (8x 3.40GHz), G.Skill 64 GB DDR3-2400, ASRock X79 Extreme 11
Mobo: 1 Titan RTX, 1 Titan Xp
External: 6 Titan X Pascal, 2 GTX Titan X
Plugs: Enterprise
User avatar
sikotik13
Licensed Customer
Posts: 270
Joined: Thu Feb 20, 2014 6:21 pm
Location: Iowa, United States

It might. Face-off's statement that I quoted and attached the opacity statement to just seems more dynamic. The two you list would likely cover most things, but his seemed it would cover pretty much anything except some obscure shader builder 3delight stuff, since it uses nothing outside of 3delight itself. If the end goal is simplicity and functionality, covering (nearly) everything from 3delight basic, through SSS and Iray, his statement should handle most of that. Possibly adding in another caveat to ensure map strength stays within a certain threshold, but that seems to only affect normal maps, and only in certain material types, which we could hopefully work around. At the very least, using his statement means that we could focus on what few things are left outside of that scope, and work on adding them once we have a consistent base to analyze. There's also a chance that going through the maps in a prioritized chain could prevent the plugin getting strange values for things in the first place, since it would ignore things after it in the chain.

I suppose it's face-off's call how he wants to handle it, I've just noticed we (as in the Daz plugin users) tend to make very, very specific requests for things, which I think has a lot to do with how t_3 wouldn't really respond to anything remotely vague, if at all, while face-off seems quite competent at taking a little direction and dashing off in a positive direction with it. Out of respect for his motivation and forward-thinking, I'm trying to break myself out of the rut of limiting the dev, and adding to his ideas instead. Couldn't hurt anything either way, and given that I'm actually interested in the plugin again, I suppose he's already doing better than the previous handler. I will stop harping on my idea now though. I feel like a less organized linvanchene :)
| Intel i7-5960x @ 3.8 GHz| ASUS X99-E WS | 64 GB G.Skill DDR4 2400 Ram | 4x EVGA GTX 980 Ti | Win10 Professional x64 | Watercooled
User avatar
face_off
Octane Plugin Developer
Posts: 15698
Joined: Fri May 25, 2012 10:52 am
Location: Adelaide, Australia

Maybe we could try to narrow down a simple if-then logic command for him which he can implement as a starting point.
Yes pls.

Paul
Win7/Win10/Mavericks/Mint 17 - GTX550Ti/GT640M
Octane Plugin Support : Poser, ArchiCAD, Revit, Inventor, AutoCAD, Rhino, Modo, Nuke
Pls read before submitting a support question
User avatar
sikotik13
Licensed Customer
Posts: 270
Joined: Thu Feb 20, 2014 6:21 pm
Location: Iowa, United States

So, something like:

Code: Select all

If Displacement map is true:
	Load Displacement
	Ignore Normal, Bump
Else:
	If Normal map is true:
		Load Normal
		Ignore Bump
		If Normal strength set > 1:
			Set Strength to 1
	Else:
		Load Bump

If Opacity map is true:
	Load Opacity as Grey Image
Else:
	Load Opacity as Greyscale Value

Is what we're going for? Did I leave anything out? I suppose the alternate version linvanchene requested would simply skip the first If statement.
| Intel i7-5960x @ 3.8 GHz| ASUS X99-E WS | 64 GB G.Skill DDR4 2400 Ram | 4x EVGA GTX 980 Ti | Win10 Professional x64 | Watercooled
User avatar
linvanchene
Licensed Customer
Posts: 783
Joined: Mon Mar 25, 2013 10:58 pm
Location: Switzerland

- - -

Templating is NOT a substitution for a complex material auto conversion because templating only adds different maps but reuses the same values

- - -
DrHemulen wrote:Again, you can also just use your own, custom templated materials to do the conversion. It works really well, usually also on multiple materials in one go (you can apply a "hair" material to all the hair sub-mats for a figure for instance).
I was tempted to just let this stand. But it could very well be that most people never actually tried templates and do not yet know how and when to use them:

Lets try an practical example to follow:

Use a scene with a lot of surface zones and materials like the "Step Van Zombie Hunter"

You have created a template for metallic surfaces.
You have created a template for diffuse materials.

Originally in either 3Delight or Iray there were
- 263 Materials
- 500 surface zones

Issue 1: How do you know to which surfaces you need to apply the metallic template and to which surface the diffuse template?

You will need to click on each of those 500 surface zones manually checking if that should be a shiny metal or a diffuse material.
A complex material auto conversion should be able to do that task for you in one second by checking what type of nodes and settings were used in the 3Delight or Iray version of the materials.

Issue 2: Not all reflective surfaces look the same.

Basically you just simplified a complex Iray or 3Delight scene with 263 DIFFERENT Materials to a scene with

- a huge selection of flat looking diffuse materials with all the same bump and displacement values
- one type of metal with maybe different colors but the same index of refraction, the same Specular and Roughness values.

- - -

The idea of a complex material auto conversion is that not only just the maps are copied over but also individual values of nodes as far as they are compatible. :!:

Example: A smart complex auto conversion will actually also carry over and convert individual bump and displacement values and in the best case scenario also the index of refraction etc.

All you are doing with templates is to apply the SAME VALUES to all surfaces. The only thing that is different when you are using templates is the maps applied.
Template Example v1001.jpg

Templates are certainly a great start for figures when you want to restart with the same values all the time.

Nevertheless when your goal is to create huge scenes like environments with 100+ objects and 250+ materials on 500+ surface zones the last thing you may want to do is to use a small selection of templates to make them look like the are all the same type of stone, plastic or metal.

- - -
sikotik13 wrote: I suppose it's face-off's call how he wants to handle it, I've just noticed we (as in the Daz plugin users) tend to make very, very specific requests for things, which I think has a lot to do with how t_3 wouldn't really respond to anything remotely vague, if at all, while face-off seems quite competent at taking a little direction and dashing off in a positive direction with it. Out of respect for his motivation and forward-thinking, I'm trying to break myself out of the rut of limiting the dev, and adding to his ideas instead.
Very solid points.

I was tempted for a while to maybe just sit back and observe how thing turns out without me inserting my point of view.
But truth is: I am not able to take that risk.

I am under the impression that face_off now has only a very limited time to implement solutions and then we are probably stuck with them for the future.
So I hope you understand that I at least had to try to bring up some ideas.

In the end it is up to Otoy and face_off to decide what and how to implement things.
Then it is up to the rest of the DAZ Studio users to decide if that new version of OcDS is something they want to try out.


- - -
Last edited by linvanchene on Wed Nov 25, 2015 10:42 pm, edited 2 times in total.
Win 10 Pro 64bit | Rendering: 2 x ASUS GeForce RTX 2080 Ti TURBO | Asus RTX NVLink Bridge 4-Slot | Intel Core i7 5820K | ASUS X99-E WS| 64 GB RAM
FAQ: OctaneRender for DAZ Studio - FAQ link collection
User avatar
face_off
Octane Plugin Developer
Posts: 15698
Joined: Fri May 25, 2012 10:52 am
Location: Adelaide, Australia

Is what we're going for? Did I leave anything out? I suppose the alternate version linvanchene requested would simply skip the first If statement.
It would be worth stating if this is for skin, G3 or prop materials....and if the current Mix or no-Mix rules should remain or not.

Thanks

Paul
Win7/Win10/Mavericks/Mint 17 - GTX550Ti/GT640M
Octane Plugin Support : Poser, ArchiCAD, Revit, Inventor, AutoCAD, Rhino, Modo, Nuke
Pls read before submitting a support question
Post Reply

Return to “DAZ Studio”