kunz Difference between revisions of "Live 2022.09.02"

Difference between revisions of "Live 2022.09.02"

From kunz
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Rendering Particles with Solaris, Karma and MaterialX ==
== Rendering Particles with Solaris, Karma and MaterialX ==
[[File:2022_09_02_karma_particle_basics_023c.jpeg | 900px]]
[[File:2022_09_02_karma_particle_basics_023c.jpeg | 960px]]


== Scene File ==
== Scene File ==


Download the Houdini file: [[:File:2022_08_23_materialx_USD_008.hiplc|2022_08_23_materialx_USD_008.hiplc]]
Download [[:File:2022_09_02_karma_particle_basics.hiplc|2022_09_02_karma_particle_basics.hiplc]]


== Summary ==
== Summary ==
To quickly produce a nice looking particle cloud shape, I move points through a noise function.  This can be done iteratively, in a for-loop to create detailed wisps.  You can also experiment with settings such as roughness or frequency and see the results quickly.  This is a nice alternative to simulating particles which can be more time consuming process involving caching many frames to memory or disk.  Below is an animation showing the evolution of the particle form as various noise settings are adjusted.


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.
[[File:2022_09_02_particles_moved_through_noise.gif | 960px]]


Below is the MaterialX shading network.
[[File:2022_09_02_particles_turntable.gif | 960px]]


[[File:Screenshot_at_2022-09-09_13-00-32.png | 900px]]
== Shader Details ==
The final shader uses the standard surface with diffuse, specular, SSS, thin-walled and opacity.


The colors are also controlled in the shader.  We start with the color attribute, which is the relative bounding box position of the particles before they're shifted through the noise in this case.  This attribute is then fed through a noise function and finally a ramp.  This allows for quick adjustments to be made all in the shader manipulating distribution of the final color output.  This color output is used to drive the diffuse and SSS components of the surface shader.  This gives a nice semi-translucent look to the particles.
[[File:Screenshot_at_2022-10-05_12-32-31.png | 960px]]


== Video On Demand ==
== Video On Demand ==
<embedvideo service="youtube" dimensions="900x500" urlargs="modestbranding=1&showinfo=0">https://www.youtube.com/watch?v=HDgPeE05wrE</embedvideo>
<embedvideo service="youtube" dimensions="960x540" urlargs="modestbranding=1&showinfo=0">https://youtu.be/M2Z0o43-Z5g</embedvideo>
* 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.
 
[[File:Screenshot_at_2022-09-09_14-39-32.png | 900px]]


== Links ==
* 0:02:00 Setting things up
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].
* 0:10:05 Building procedural particles using for each feedback loop
 
* 0:21:30 Bringing particles into the Stage/Solaris context
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]
* 0:28:00 Adding MaterialX shader
 
* 0:35:12 Looking at PBR SSS on particles
For more details, see the [https://materialx.org/assets/MaterialX.v1.38.Spec.pdf MaterialX specification] on the nodes, functionality and capabilities.
* 0:39:16 Bringing in particle color to the shader
* 0:40:55 Remapping attributes using color ramp
* 0:59:30 Using opacity for a softer shading look
* 1:20:20 Importing Flip fluid particle cache to test with Karma
* 1:35:13 Wrapping up


== Additional Images ==
== Additional Images ==
[[File:2022_09_02_karma_particle_basics_018.jpeg | 960px ]]
[[File:2022_09_02_karma_particle_basics_018.jpeg | 960px ]]
[[File:2022_09_02_karma_particle_basics_016.jpeg | 960px ]]


[[File:2022_09_02_karma_particle_basics_024.jpeg | 960px ]]
[[File:2022_09_02_karma_particle_basics_024.jpeg | 960px ]]
 
<!--
[[File:2022_09_02_karma_particle_basics_014.jpeg | 960px ]]
[[File:2022_09_02_karma_particle_basics_014.jpeg | 960px ]]
 
-->
[[File:2022_09_02_karma_particle_basics_016.jpeg | 960px ]]

Latest revision as of 11:40, 5 October 2022

Rendering Particles with Solaris, Karma and MaterialX

2022 09 02 karma particle basics 023c.jpeg

Scene File

Download 2022_09_02_karma_particle_basics.hiplc

Summary

To quickly produce a nice looking particle cloud shape, I move points through a noise function. This can be done iteratively, in a for-loop to create detailed wisps. You can also experiment with settings such as roughness or frequency and see the results quickly. This is a nice alternative to simulating particles which can be more time consuming process involving caching many frames to memory or disk. Below is an animation showing the evolution of the particle form as various noise settings are adjusted.

2022 09 02 particles moved through noise.gif

2022 09 02 particles turntable.gif

Shader Details

The final shader uses the standard surface with diffuse, specular, SSS, thin-walled and opacity.

The colors are also controlled in the shader. We start with the color attribute, which is the relative bounding box position of the particles before they're shifted through the noise in this case. This attribute is then fed through a noise function and finally a ramp. This allows for quick adjustments to be made all in the shader manipulating distribution of the final color output. This color output is used to drive the diffuse and SSS components of the surface shader. This gives a nice semi-translucent look to the particles.

Screenshot at 2022-10-05 12-32-31.png

Video On Demand

  • 0:02:00 Setting things up
  • 0:10:05 Building procedural particles using for each feedback loop
  • 0:21:30 Bringing particles into the Stage/Solaris context
  • 0:28:00 Adding MaterialX shader
  • 0:35:12 Looking at PBR SSS on particles
  • 0:39:16 Bringing in particle color to the shader
  • 0:40:55 Remapping attributes using color ramp
  • 0:59:30 Using opacity for a softer shading look
  • 1:20:20 Importing Flip fluid particle cache to test with Karma
  • 1:35:13 Wrapping up

Additional Images

2022 09 02 karma particle basics 018.jpeg

2022 09 02 karma particle basics 016.jpeg

2022 09 02 karma particle basics 024.jpeg