Log into your account to keep track of your progress. You can work through the lessons without logging in but your progress will be lost when you refresh the page.
TOTAL DURATION: 1h 18m 29s
Solaris is Houdini’s environment for layout, lookdev and lighting and is built on USD, the open source Universal Scene Description format created by PIXAR. This makes Solaris a great environment for interacting and authoring USD scenes and assets. USD is an optimized system for organizing your assets that allows for efficient workflows for teams or individuals.
In this course you will explore the Solaris UI, beginning with a discussion about what USD is, how to manipulate objects in the Solaris viewport, and how to import and render SOPs geometry in Solaris using Karma. The goal is to introduce you to the concepts of USD and how they are implemented in Houdini using Solaris.
Learn how to navigate and use the Solaris context, and begin the conversation into what USD is.
Learn some of the terminology surrounding Solaris & USD starting with three main terms: Solaris, USD, and USD “primitives”. These definitions will be a useful foundation for our ongoing discussions into what USD is and how we use it in Solaris.
Explore websites where you can find further information about USD. The topic of working with USD is becoming more and more common on the internet, so these resources are some of the most relevant to our discussions in the course.
Learn how to use USD as a simple SOP-level geometry cache by using the USD Import/Export SOPs. In this way, you can view USD as a similar file type to Alembic, .bgeo.sc, or FBX.
What are the differences between .usd, .usda, & .usdc, and which ones can we use to examine the structure of our scene? Here you will learn how ASCII files are good for human-readability, but binary files are much faster to read off disk.
A .usd file is binary by default, but with an additional string at the end of the file path you can make a .usd file that is ASCII and therefore human-readable. This type of file can also be converted to a binary .usd later by using command-line programs that are bundled with the USD distribution.
USD files can be thought of as similar to the intermediary scene description files that are created by renderers. Some of these are: .ifd for Mantra, .rib for RenderMan, and .ass for Arnold. These files define everything in a scene, similarly to how USD does. However, USD can be used by multiple renderers/DCCs to share data.
The Scene Graph Tree shows us what primitives are loaded onto our “stage”. This interface design/layout is taken from USDView, the default viewer bundled with USD distributions. In this chapter we’ll see that “primitives” are represented by a line in the SGT, and that the two most basic types are “Scope” & “Xform”.
This pane can be thought of as similar to the Geometry Spreadsheet pane when working in SOPs. The Scene Graph Details pane shows us what values and attributes are written to the primitives on the “stage”.
There are some specific terms surrounding USD primitives that can cause confusion. Learn about three of these terms: leaf primitive, type, and kind. This discussion will create a more robust understanding of USD, and allow you to discuss USD with more confidence.
The various color labels used in the Scene Graph Tree and the Scene Graph Details give you further insight into the types of data that are on the “stage” or written to primitives. There are actually two built in keys that you can use to understand these labels better, and as a reference for where to look to be reminded in the future.
The viewport in Solaris is designed for making transform edits similar to what you see with Object Nodes, however you cannot make point/edge/poly edits in the Solaris viewport. One helpful shortcut is to access bound materials through the viewport.
Collections are a group of primitives that are added to the Scene Graph Tree for easy recall and the ability for that collection to be shared downstream via USD. Selection sets are unique to Houdini and are saved in the .hip file.
Instead of directly selecting a primitive in the SGT, you can use a pattern matching syntax search through the Scene Graph Tree and find primitives that match your query. In this way you are able to make procedural changes to your scene.
The Scene Import LOP is a quick way to bring the entire “/obj” context onto the stage. You can use object filtering to include or exclude specific objects. There are a few “Scene Import” variations in the TAB menu that can quickly bring in all objects, cameras, lights, or materials.
The SOP Import LOP is a way to load geometry onto the stage from a specific location in SOPs. This method has limited support for material importing, and is primarily a geometry import method.
The SOP Create LOP is a way to create geometry directly on the stage. The node contains a SOP network internally and can be used to create anything you are able to in SOPs.
The USD ROP is how you can export USD files from the stage. USD At this point you will only mention static scenes, but further courses in this series will touch on animation.
If you have a scene setup in the Object context, it is relatively simple to use the tools we’ve gone over to import our scene to Solaris and use Karma as a renderer. As of Houdini 19.5, when placing a Karma node you are given a “Karma Render Settings” and “USD Render ROP” node.
COMMENTS
krzys_kite 2 years, 1 month ago |
Awesome intro course, filled in some gaps for me. Will we see any follow-up courses?
rmagee 2 years, 1 month ago |
Yes - a second one is coming soon
lorsange 2 years, 1 month ago |
It's outstanding tutorial. Thanks again, Peter.
rkoomera 2 years, 1 month ago |
Awesome course!
unreal-universe 2 years, 1 month ago |
nice!
dunnieboy 2 years, 1 month ago |
Even though I am familiar with Solaris/USD, I found myself watching these intro vids and wishing they were available when I first started out !
Excellent intro course. Keep 'em coming.
JoshFoster 2 years, 1 month ago |
Thanks Peter! Great tutorial.
alahab 2 years, 1 month ago |
Thank you for this wonderful course Peter! Lots of valuable information and a great delivery!
Just FYI that in the scene file that I downloaded, SOP Create section does not have the name SOPs that set "spikes" and "grid". (Video #17 at 01:03)
PArcara09 2 years ago |
Probably just an issue of me changing something on the fly and not adjusting my master file. I'll make up a new zip file and link that with the fix. Thanks for the heads up!
thedimensionxyz 2 years, 1 month ago |
Brilliant tutorial series! Thanks Peter!
HarrryHoudini 2 years, 1 month ago |
I downloaded the scene files but can't find the scene in video 4??
PArcara09 2 years ago |
It is there when I downloaded the linked HIP file. Maybe try downloading the zip again and opening the new HIP file?
HarrryHoudini 2 years ago |
Hey Peter, thanks for the reply. You're right, it was a problem with the default unzip software on macOS that was the issue. The HIP file is indeed there thanks.
Anastasiiadots 2 years ago |
Thank you so so much! Such an awesome explanation!
lorsange 2 years ago |
Hi again Peter, get some troubles starting with #11 "Color Meanings" section
Get errors on the Reference node:
Error Unable to find layer file: -
Warning Fixed invalid USD path: /_
Tried to write /$OS instead of /"@sourcename" in Primitive Path, but it won't help with reference::2.0, only with first version of node
seanhedman 1 year, 8 months ago |
super in-depth tutorial series. really easy to follow. great for getting us up to speed quickly!
Just wanted to add one invaluable hotkey for pausing the render in karma.
shift + P
That will pause your render so no need to jump into houdini GL to pause.
Mike_A 1 year, 6 months ago |
This is a really helpful and practical introduction, especially so with the supplied scene file. Thank you Peter!
I'm looking forward to your next course on the subject.
You've taken us through the basics of Solaris and USD, but one thing I'd really like to see you talk about is the 'Why?' Particularly in relation to the solo artist / freelancer. What are the real world advantages of the Solaris workflow over the traditional SOP > ROP workflow for such users?
adamghering 1 year, 2 months ago |
where are the files?
Fsl 9 months, 1 week ago |
At the top of course list
adamghering 1 year, 2 months ago |
nevermind lol
BabaJ 4 months ago |
Video 12 > 2'36"
Selecting the same light in viewport of scene does not highlight all those lights.(usual yellow)
Select All is on, Xform Primitives is set drop down, and all viewport display guides/icons(on right side of viewport) are on.
However, Scene Graph Path does show the 'lights' primitve is selected, and the following edit node does move all the lights as intended.
Display options don't seem to suggest something is amiss.
Must be some default settings changed since this video to version 20.5.410?
PArcara09 3 months, 4 weeks ago |
Hi there,
I would guess that there is some visual bug happening. We don't often change the default behavior of viewports. With our recent updates to our Vulkan Hydra Delegate from the OpenGL Hydra Delegate, there could certainly be some newly introduced bugs. Also, since Solaris uses USD and Hydra, any time there is a change to those codebases something unintended could happen to our implementations. I would recommend logging a bug for this, as it seems to be easily reproducible and it seems to only affect the highlighting.
Please log in to leave a comment.