Page 2 of 2

Re: PBR textures from 3D-Coat to Octane

Posted: Wed Mar 16, 2016 8:23 am
by lukas8410
Well I am just searching for simple workflow giving me a bit better posibilities in texturing than just doing it in Photoshop. I've been trying to use the settings
You've developed in this topic but they are not working for me, and because I was unable to get good translation of settings between 3d Coat, and Octane,
then I'll probably try to just paint Diffuse in 3d Coat, along with some masks, then export it to photoshop, and worry about specular, and rougness in Octane
only.

I haven't yet developed a good workflow in this, and need to make some tests, but I think it may work.

Cheers,
Luke

P.S. Do You guys think, there may be some kind of "translator" for engines like Octane in future in 3d Coat?

Re: PBR textures from 3D-Coat to Octane

Posted: Wed Mar 16, 2016 2:52 pm
by ivankio
Wow, Jason. I was lazy using the Maya plugin so I didn't test your solution at first. Thanks for sharing. Seems to work really well - at least with the non-colored metals I've tested.

Granted that now I understand even less than I did previously :mrgreen:, from the samples I've seen in the metalness workflow, metalness was always a grayscale texture, taking specular color from the diffuse/albedo (another confusing pitchfork naming convention).
Also now that I realized that my idea of using IOR as metalness is from vray where it caps at 100. And never realized it was not quite faithfull for mirrors. What a mess. I need to study again.

Re: PBR textures from 3D-Coat to Octane

Posted: Wed Mar 16, 2016 6:12 pm
by grimm
lukas8410 wrote:Well I am just searching for simple workflow giving me a bit better posibilities in texturing than just doing it in Photoshop. I've been trying to use the settings
You've developed in this topic but they are not working for me, and because I was unable to get good translation of settings between 3d Coat, and Octane,
then I'll probably try to just paint Diffuse in 3d Coat, along with some masks, then export it to photoshop, and worry about specular, and rougness in Octane
only.

I haven't yet developed a good workflow in this, and need to make some tests, but I think it may work.

Cheers,
Luke

P.S. Do You guys think, there may be some kind of "translator" for engines like Octane in future in 3d Coat?
If you can give me some more details I could probably help you figure it out. 3D-Coat allows you to export every type of map under the sun so we should be able to get it to work. :) I have noticed that the diffuse will come into Octane darker than it looks in 3D-Coat. I have been bumping the power to 1.2 to get it to look better, but it might depend on the map. I have a feeling that it's a problem with 3D-Coat and the developers appear to be working on fixing issues like this.

I have been thinking of doing a translator to move the textures to Octane, but it would be a lot of work and I just haven't had the time. :(

Jason

Re: PBR textures from 3D-Coat to Octane

Posted: Wed Mar 16, 2016 6:23 pm
by grimm
ivankio wrote:Wow, Jason. I was lazy using the Maya plugin so I didn't test your solution at first. Thanks for sharing. Seems to work really well - at least with the non-colored metals I've tested.

Granted that now I understand even less than I did previously :mrgreen:, from the samples I've seen in the metalness workflow, metalness was always a grayscale texture, taking specular color from the diffuse/albedo (another confusing pitchfork naming convention).
Also now that I realized that my idea of using IOR as metalness is from vray where it caps at 100. And never realized it was not quite faithfull for mirrors. What a mess. I need to study again.
No problem. :D I have found that if you change the texture workflow mode to "Gloss/Color Specular" it works best. And now that you can export metalness from this mode with the newer betas it's even easier. From that export menu you can export the "color specular" map and use it in Octane. Also check out this Lua script that Roeland created here for colored metals:

viewtopic.php?f=73&t=43973

This thread I did here might help you as well. In it I explain how I'm combining dielectric and conductive materials together and using the metalness map as a mask.

viewtopic.php?f=6&t=52222

Jason

Re: PBR textures from 3D-Coat to Octane

Posted: Thu Mar 17, 2016 8:18 am
by lukas8410
If you can give me some more details I could probably help you figure it out. 3D-Coat allows you to export every type of map under the sun so we should be able to get it to work. :) I have noticed that the diffuse will come into Octane darker than it looks in 3D-Coat. I have been bumping the power to 1.2 to get it to look better, but it might depend on the map. I have a feeling that it's a problem with 3D-Coat and the developers appear to be working on fixing issues like this.

I have been thinking of doing a translator to move the textures to Octane, but it would be a lot of work and I just haven't had the time. :(

Jason
Thanks Jason! I've made some tests, and the workflow I've been writing about may work. It's not very comfortable, but still it might be better - especially for some organic stuff - than just PS + Octane.
I paint my textures on various different layers, then export them to PS, then I export obj. and then I assemble everything in Octane for c4d. I'm not even trying for speculars, and roughness to look good
in 3d coat because the output is so different. I really wish though there would be some kind of "fixed" and proven way of achieving the same looks in both apps.

I've been thinking about using AO generated form 3d coat, because it looks very good but I haven't found good way to do it. Using Multiply node makes the whole texture quite dark.
Do You have any ideas?

Also I'm thinking about buying Quixel suite now, because it's 40% off. Never used it tough, so it's kind of hard to guess if it's a good idea. Can You bake ambient Occlusion in Quixel? Are those presets
that that are there from start changeable? Can You create Your own? I've heard it's quite slow. Is it true? Lots of questions :)

I am wondering of Chris Mills "script" or whatever it is could be used for 3D Coat workflow?

Thanks
Lukasz

Re: PBR textures from 3D-Coat to Octane

Posted: Thu Mar 17, 2016 6:08 pm
by grimm
I have never used Quixel before as it's Photoshop only (I think) and that doesn't run on Linux. :) I don't think you would want to use AO in Octane as Octane's GI is so much better. You are never going to get a 1:1 look between 3D-Coat and Octane as the first is a biased render and the later is unbiased. You could try using Octanes direct light mode that uses AO which is probably better than 3D-Coat's AO as well?

To get the objects and textures into c4d you might try the 3D-Coat applink for it here:

http://3dcoat.com/forum/index.php?showtopic=7574

I don't know how well it works but, if it does, it will be much easier to move between the applications. I stopped using the Blender applink because it has too many issues, but it does make the workflow much easier.

Jason

Re: PBR textures from 3D-Coat to Octane

Posted: Thu Mar 17, 2016 8:22 pm
by lukas8410
Yeah You are probably right with AO, I'll try the applink tough it seems to be quite interesting option.

Thanks
Luke

Re: PBR textures from 3D-Coat to Octane

Posted: Fri Mar 18, 2016 1:18 am
by miko3d
I'm not very familiar with 3Dcoat as a 3D painter,but if it supports the metal/roughness (Disney) workflow you should be able to use my Quixel/PBR shader from this thread and get expected results by just exporting the textures.

Same with Substance Painter or any software that supports this workflow:

viewtopic.php?f=9&t=51470

Re: PBR textures from 3D-Coat to Octane

Posted: Mon Aug 29, 2016 10:26 am
by spiraloid
Image

giving as I get. here's my canibal coded version.

note, to get correct normals you have to change the preferences in 3Dcoat to use 3dsMAX/lightwave style tangent normal maps.

Code: Select all

<?xml version='1.0' encoding='utf-8'?>
<OCS2 version='3000020'>
 <graph id='1' type='1' name='clipboard'>
  <node id='2' type='20005' name='Normal' position='1468.68 -239.826'>
   <pin name='input'>
    <node id='3' type='34'>
     <attr name='package' type='11'>C:\Users\Administrator\AppData\Roaming\OctaneRender\localDb\test.orbx</attr>
     <attr name='filename' type='11'>assets\ring_normal.tga</attr>
     <pin name='power'>
      <node id='4' type='31'>
       <attr name='value' type='6'>1</attr>
      </node>
     </pin>
     <pin name='gamma'>
      <node id='5' type='6'>
       <attr name='value' type='8'>2.2 0 0</attr>
      </node>
     </pin>
     <pin name='invert'>
      <node id='6' type='11'>
       <attr name='value' type='1'>0</attr>
      </node>
     </pin>
     <pin name='transform'>
      <node id='7' type='67'>
       <attr name='rotationOrder' type='2'>2</attr>
       <attr name='rotation' type='8'>0 0 0</attr>
       <attr name='scale' type='8'>1 1 1</attr>
       <attr name='translation' type='8'>0 0 0</attr>
      </node>
     </pin>
     <pin name='projection'>
      <node id='8' type='78'>
       <pin name='uvSet'>
        <node id='9' type='9'>
         <attr name='value' type='4'>1 0 0</attr>
        </node>
       </pin>
      </node>
     </pin>
     <pin name='borderMode'>
      <node id='10' type='57'>
       <attr name='value' type='2'>0</attr>
      </node>
     </pin>
    </node>
   </pin>
  </node>
  <node id='11' type='20005' name='Albedo' position='982.923 -258.373'>
   <pin name='input'>
    <node id='12' type='34'>
     <attr name='package' type='11'>C:\Users\Administrator\AppData\Roaming\OctaneRender\localDb\test.orbx</attr>
     <attr name='filename' type='11'>assets\ring_albedo.tga</attr>
     <pin name='power'>
      <node id='13' type='31'>
       <attr name='value' type='6'>1</attr>
      </node>
     </pin>
     <pin name='gamma'>
      <node id='14' type='6'>
       <attr name='value' type='8'>2.2 0 0</attr>
      </node>
     </pin>
     <pin name='invert'>
      <node id='15' type='11'>
       <attr name='value' type='1'>0</attr>
      </node>
     </pin>
     <pin name='transform'>
      <node id='16' type='67'>
       <attr name='rotationOrder' type='2'>2</attr>
       <attr name='rotation' type='8'>0 0 0</attr>
       <attr name='scale' type='8'>1 1 1</attr>
       <attr name='translation' type='8'>0 0 0</attr>
      </node>
     </pin>
     <pin name='projection'>
      <node id='17' type='78'>
       <pin name='uvSet'>
        <node id='18' type='9'>
         <attr name='value' type='4'>1 0 0</attr>
        </node>
       </pin>
      </node>
     </pin>
     <pin name='borderMode'>
      <node id='19' type='57'>
       <attr name='value' type='2'>0</attr>
      </node>
     </pin>
    </node>
   </pin>
  </node>
  <node id='20' type='20005' name='Roughness' position='1343 -247'>
   <pin name='input'>
    <node id='21' type='34'>
     <attr name='package' type='11'>C:\Users\Administrator\AppData\Roaming\OctaneRender\localDb\test.orbx</attr>
     <attr name='filename' type='11'>assets\ring_metallic.tga</attr>
     <pin name='power'>
      <node id='22' type='31'>
       <attr name='value' type='6'>1</attr>
      </node>
     </pin>
     <pin name='gamma'>
      <node id='23' type='6'>
       <attr name='value' type='8'>2.2 0 0</attr>
      </node>
     </pin>
     <pin name='invert'>
      <node id='24' type='11'>
       <attr name='value' type='1'>1</attr>
      </node>
     </pin>
     <pin name='transform'>
      <node id='25' type='67'>
       <attr name='rotationOrder' type='2'>2</attr>
       <attr name='rotation' type='8'>0 0 0</attr>
       <attr name='scale' type='8'>1 1 1</attr>
       <attr name='translation' type='8'>0 0 0</attr>
      </node>
     </pin>
     <pin name='projection'>
      <node id='26' type='78'>
       <pin name='uvSet'>
        <node id='27' type='9'>
         <attr name='value' type='4'>1 0 0</attr>
        </node>
       </pin>
      </node>
     </pin>
     <pin name='borderMode'>
      <node id='28' type='57'>
       <attr name='value' type='2'>0</attr>
      </node>
     </pin>
    </node>
   </pin>
  </node>
  <node id='29' type='20005' name='Emission' position='1604 -240.468'>
   <pin name='input'>
    <node id='30' type='34'>
     <attr name='package' type='11'>C:\Users\Administrator\AppData\Roaming\OctaneRender\localDb\test.orbx</attr>
     <attr name='filename' type='11'>assets\ring_emmision.tga</attr>
     <pin name='power'>
      <node id='31' type='31'>
       <attr name='value' type='6'>1</attr>
      </node>
     </pin>
     <pin name='gamma'>
      <node id='32' type='6'>
       <attr name='value' type='8'>1 0 0</attr>
      </node>
     </pin>
     <pin name='invert'>
      <node id='33' type='11'>
       <attr name='value' type='1'>0</attr>
      </node>
     </pin>
     <pin name='transform'>
      <node id='34' type='67'>
       <attr name='rotationOrder' type='2'>2</attr>
       <attr name='rotation' type='8'>0 0 0</attr>
       <attr name='scale' type='8'>1 1 1</attr>
       <attr name='translation' type='8'>0 0 0</attr>
      </node>
     </pin>
     <pin name='projection'>
      <node id='35' type='78'>
       <pin name='uvSet'>
        <node id='36' type='9'>
         <attr name='value' type='4'>1 0 0</attr>
        </node>
       </pin>
      </node>
     </pin>
     <pin name='borderMode'>
      <node id='37' type='57'>
       <attr name='value' type='2'>0</attr>
      </node>
     </pin>
    </node>
   </pin>
  </node>
  <node id='38' type='20005' name='Metallic' position='1206 -246.75'>
   <pin name='input'>
    <node id='39' type='34'>
     <attr name='package' type='11'>C:\Users\Administrator\AppData\Roaming\OctaneRender\localDb\test.orbx</attr>
     <attr name='filename' type='11'>assets\ring_metallic.tga</attr>
     <pin name='power'>
      <node id='40' type='31'>
       <attr name='value' type='6'>1</attr>
      </node>
     </pin>
     <pin name='gamma'>
      <node id='41' type='6'>
       <attr name='value' type='8'>2.2 0 0</attr>
      </node>
     </pin>
     <pin name='invert'>
      <node id='42' type='11'>
       <attr name='value' type='1'>1</attr>
      </node>
     </pin>
     <pin name='transform'>
      <node id='43' type='67'>
       <attr name='rotationOrder' type='2'>2</attr>
       <attr name='rotation' type='8'>0 0 0</attr>
       <attr name='scale' type='8'>1 1 1</attr>
       <attr name='translation' type='8'>0 0 0</attr>
      </node>
     </pin>
     <pin name='projection'>
      <node id='44' type='78'>
       <pin name='uvSet'>
        <node id='45' type='9'>
         <attr name='value' type='4'>1 0 0</attr>
        </node>
       </pin>
      </node>
     </pin>
     <pin name='borderMode'>
      <node id='46' type='57'>
       <attr name='value' type='2'>0</attr>
      </node>
     </pin>
    </node>
   </pin>
  </node>
  <graph id='47' type='1' name='PBR Material' position='1226.16 -71.361'>
   <node id='48' type='20005' name='Diffuse' position='-227.195 -196.499'>
    <pin name='input' connect='11'/>
   </node>
   <node id='49' type='20005' name='Amount' position='-77.1949 -196.499'>
    <pin name='input' connect='38'/>
   </node>
   <node id='50' type='20005' name='Roughness' position='72.8051 -196.499'>
    <pin name='input' connect='20'/>
   </node>
   <node id='51' type='20005' name='Normal' position='222.805 -196.499'>
    <pin name='input' connect='2'/>
   </node>
   <node id='52' type='20005' name='Amount' position='372.805 -196.499'>
    <pin name='input' connect='29'/>
   </node>
   <node id='53' type='16' name='Albedo' position='-65.1875 -96.499'>
    <pin name='diffuse' connect='48'/>
    <pin name='specular' connect='49'/>
    <pin name='roughness' connect='50'/>
    <pin name='index'>
     <node id='54' type='6'>
      <attr name='value' type='8'>1.3 0 0</attr>
     </node>
    </pin>
    <pin name='normal' connect='51'/>
    <pin name='opacity'>
     <node id='55' type='31'>
      <attr name='value' type='6'>1</attr>
     </node>
    </pin>
    <pin name='smooth'>
     <node id='56' type='11'>
      <attr name='value' type='1'>1</attr>
     </node>
    </pin>
    <pin name='edgesRounding'>
     <node id='57' type='6'>
      <attr name='value' type='8'>0 0 0</attr>
     </node>
    </pin>
    <pin name='filmwidth'>
     <node id='58' type='31'>
      <attr name='value' type='6'>0</attr>
     </node>
    </pin>
    <pin name='filmindex'>
     <node id='59' type='6'>
      <attr name='value' type='8'>1.45 0 0</attr>
     </node>
    </pin>
   </node>
   <node id='60' type='19' name='Mix material' position='29.1296 13.1804'>
    <pin name='amount' connect='49'/>
    <pin name='material1' connect='53'/>
    <pin name='material2' connect='61'/>
   </node>
   <node id='62' type='17' name='Emission' position='-227.195 -13.2889'>
    <pin name='diffuse'>
     <node id='63' type='33'>
      <attr name='value' type='8'>0 0 0</attr>
     </node>
    </pin>
    <pin name='roughness'>
     <node id='64' type='31'>
      <attr name='value' type='6'>0</attr>
     </node>
    </pin>
    <pin name='opacity'>
     <node id='65' type='31'>
      <attr name='value' type='6'>1</attr>
     </node>
    </pin>
    <pin name='smooth'>
     <node id='66' type='11'>
      <attr name='value' type='1'>1</attr>
     </node>
    </pin>
    <pin name='edgesRounding'>
     <node id='67' type='6'>
      <attr name='value' type='8'>0 0 0</attr>
     </node>
    </pin>
    <pin name='emission'>
     <node id='68' type='53'>
      <pin name='efficiency or texture'>
       <node id='69' type='31'>
        <attr name='value' type='6'>1</attr>
       </node>
      </pin>
      <pin name='power'>
       <node id='70' type='6'>
        <attr name='value' type='8'>3000 0 0</attr>
       </node>
      </pin>
      <pin name='surfaceBrightness'>
       <node id='71' type='11'>
        <attr name='value' type='1'>1</attr>
       </node>
      </pin>
      <pin name='temperature'>
       <node id='72' type='6'>
        <attr name='value' type='8'>6500 0 0</attr>
       </node>
      </pin>
      <pin name='normalize'>
       <node id='73' type='11'>
        <attr name='value' type='1'>1</attr>
       </node>
      </pin>
      <pin name='distribution'>
       <node id='74' type='31'>
        <attr name='value' type='6'>1</attr>
       </node>
      </pin>
      <pin name='sampling_rate'>
       <node id='75' type='6'>
        <attr name='value' type='8'>0.2 0 0</attr>
       </node>
      </pin>
      <pin name='illumination'>
       <node id='76' type='11'>
        <attr name='value' type='1'>1</attr>
       </node>
      </pin>
      <pin name='lightPassId'>
       <node id='77' type='9'>
        <attr name='value' type='4'>1 0 0</attr>
       </node>
      </pin>
     </node>
    </pin>
    <pin name='matte'>
     <node id='78' type='11'>
      <attr name='value' type='1'>0</attr>
     </node>
    </pin>
   </node>
   <node id='79' type='19' name='Mix material' position='25.1952 83.2958'>
    <pin name='amount' connect='52'/>
    <pin name='material1' connect='62'/>
    <pin name='material2' connect='60'/>
   </node>
   <graph id='80' type='5' name='Metallic' inspectable='0' position='238.057 13.3116'>
    <attr name='color' type='8'>0 0 0</attr>
    <attr name='package' type='11'>C:\Users\Administrator\AppData\Roaming\OctaneRender\localDb\test.orbx</attr>
    <attr name='filename' type='11'>assets\metal.lua</attr>
    <attr name='scriptStorage' type='10'></attr>
    <node id='81' type='20005' name='Color' position='0 -100'>
     <pin name='input'>
      <node id='82' type='33'>
       <attr name='value' type='8'>1 1 1</attr>
      </node>
     </pin>
    </node>
    <node id='83' type='20002' name='index of refraction (n, k)' position='100 -100'>
     <pin name='input'>
      <node id='84' type='6'>
       <attr name='value' type='8'>0.42203 2.3461 0</attr>
      </node>
     </pin>
    </node>
    <node id='85' type='20005' name='Diffuse' position='200 -100'>
     <pin name='input'>
      <node id='86' type='31'>
       <attr name='value' type='6'>0</attr>
      </node>
     </pin>
    </node>
    <node id='87' type='20005' name='Roughness' position='300 -100'>
     <pin name='input' connect='50'/>
    </node>
    <node id='88' type='20005' name='Bump' position='400 -100'>
    </node>
    <node id='89' type='20005' name='Normal' position='500 -100'>
     <pin name='input' connect='51'/>
    </node>
    <node id='90' type='20022' name='Displacement' position='600 -100'>
    </node>
    <node id='91' type='20005' name='Opacity' position='700 -100'>
     <pin name='input'>
      <node id='92' type='31'>
       <attr name='value' type='6'>1</attr>
      </node>
     </pin>
    </node>
    <node id='93' type='20001' name='Smooth' position='800 -100'>
     <pin name='input'>
      <node id='94' type='11'>
       <attr name='value' type='1'>1</attr>
      </node>
     </pin>
    </node>
    <node id='95' type='20002' name='Rounded edges radius' position='900 -100'>
     <pin name='input'>
      <node id='96' type='6'>
       <attr name='value' type='8'>0 0 0</attr>
      </node>
     </pin>
    </node>
    <node id='97' type='20005' name='Film width' position='1000 -100'>
     <pin name='input'>
      <node id='98' type='31'>
       <attr name='value' type='6'>0</attr>
      </node>
     </pin>
    </node>
    <node id='99' type='20002' name='Film IOR' position='1100 -100'>
     <pin name='input'>
      <node id='100' type='6'>
       <attr name='value' type='8'>1.45 0 0</attr>
      </node>
     </pin>
    </node>
    <node id='61' type='30007' name='metal' position='0 100'>
     <pin name='input' connect='101'/>
    </node>
   </graph>
   <node id='102' type='30007' name='Mix material' position='-227.195 183.296'>
    <pin name='input' connect='79'/>
   </node>
  </graph>
 </graph>
</OCS2>