kunz Difference between revisions of "Live 2022.08.23"

Difference between revisions of "Live 2022.08.23"

From kunz
 
(30 intermediate revisions by the same user not shown)
Line 4: Line 4:
== Scene File ==
== Scene File ==


Get the Houdini scene here: [[:File:2022_08_21_data_disk_sim_007.hiplc|data_disk_sim_007.hiplc]]
Download the Houdini file: [[:File:2022_08_23_materialx_USD_008.hiplc|2022_08_23_materialx_USD_008.hiplc]]


== Summary ==
== Summary ==


Simple setup where a particle simulation is driven by pyro velocity field.  The geometry in the particle simulation is continuously resampled using a sop solver to maintain evenly spaced line segments and prevent some spiking artifacts.
Building a shader from scratch in Solaris with MaterialX.  The color values are retrieved from the geometry "Cd" attribute and the displacement pattern is generated using MaterialX math nodes to remap the surface position to a waffle grid-like bumpy pattern.


I use some simple VEX code to only allow velocities in the vel field in areas above a certain threshold. This helps keep some parts of the line structure rigid and intact while other areas above the threshold are free to move.
Below is the MaterialX shading network.
<syntaxhighlight lang='C'>
v@vel *= length(@vel)>.005;
</syntaxhighlight>


[[File:Screenshot_at_2022-09-09_13-00-32.png | 900px]]


After the simulation, the curves get their normal by sampling the velocity field from the pyro sim.  This gives you a consistent (non-flickering) orientation of the curves when you render them.
[[File:Screenshot_at_2022-09-09_13-00-32.png | 900px]]


== Video On Demand ==
== Video On Demand ==
<youtube>HDgPeE05wrE</youtube>
<embedvideo service="youtube" dimensions="900x500" urlargs="modestbranding=1&showinfo=0">https://www.youtube.com/watch?v=HDgPeE05wrE</embedvideo>
* 00:00 Solaris LOP Stage introduction
* 00:00 Solaris LOP Stage introduction
* 02:50 LOP node concepts
* 02:50 LOP node concepts
Line 34: Line 29:
* 1:16:00 Adjusting camera composition and render settings
* 1:16:00 Adjusting camera composition and render settings


== Additional Scene Files ==


[[:File:2022_08_21_data_disk_sim_001.hiplc|data_disk_sim_001.hiplc]]
During the live stream, I didn't connect the height to normal node properly which was causing the shading artifacts.  To fix this, you can add a normal map node in between the shader connection like so.
 
[[File:Screenshot_at_2022-09-09_14-39-32.png | 900px]]


[[:File:2022_08_21_data_disk_sim_002.hiplc|data_disk_sim_002.hiplc]]
== Links ==
You can read more about using [https://github.com/AcademySoftwareFoundation/MaterialX#readme MaterialX] in Karma and Solaris [https://www.sidefx.com/docs/houdini/solaris/materialx.html here].


[[:File:2022_08_21_data_disk_sim_003.hiplc|data_disk_sim_003.hiplc]]
The [https://www.sidefx.com/docs/houdini/nodes/vop/mtlxstandard_surface.html MtlX Standard Surface] node is based off of the [https://autodesk.github.io/standard-surface/ Autodesk Standard Surface]
 
For more details, see the [https://materialx.org/assets/MaterialX.v1.38.Spec.pdf MaterialX specification] on the nodes, functionality and capabilities.


== Additional Images ==
== Additional Images ==


[[File:2022_08_23_materialX_USD_009_cam4.jpeg | 900px]]
<gallery mode="packed">
File:2022_08_23_material_USD_001.jpeg
File:2022_08_23_material_USD_009_cam2.jpeg
File:2022_08_23_material_USD_008.jpeg
File:2022_08_23_material_USD_009_cam1.jpeg
File:2022_08_23_materialX_USD_009_cam4.jpeg
 
</gallery>

Latest revision as of 16:26, 17 September 2022

Shading techniques for Solaris, USD and MaterialX

2022 08 23 Karma USD Mtlx.gif

Scene File

Download the Houdini file: 2022_08_23_materialx_USD_008.hiplc

Summary

Building a shader from scratch in Solaris with MaterialX. The color values are retrieved from the geometry "Cd" attribute and the displacement pattern is generated using MaterialX math nodes to remap the surface position to a waffle grid-like bumpy pattern.

Below is the MaterialX shading network.

Screenshot at 2022-09-09 13-00-32.png


Video On Demand

  • 00:00 Solaris LOP Stage introduction
  • 02:50 LOP node concepts
  • 09:10 Making a MaterialX shader
  • 14:30 Using geometry attributes in MaterialX
  • 15:30 Using other geometry properties to generate patterns
  • 24:10 Enabling ACES through the SideFX Labs menu
  • 34:40 Modeling a blobby shape
  • 45:10 Adjusting lights and materials for the blobby shape
  • 1:00:00 Looking at the structure of USD files
  • 1:03:00 Adding studio backdrop geometry
  • 1:16:00 Adjusting camera composition and render settings


During the live stream, I didn't connect the height to normal node properly which was causing the shading artifacts. To fix this, you can add a normal map node in between the shader connection like so.

Screenshot at 2022-09-09 14-39-32.png

Links

You can read more about using MaterialX in Karma and Solaris here.

The MtlX Standard Surface node is based off of the Autodesk Standard Surface

For more details, see the MaterialX specification on the nodes, functionality and capabilities.

Additional Images