Hello, this is the less formal but way more exciting part of my website where I post all of my tech experiments.

Search This Blog

Monday, February 15, 2021

Blender to Houdini USD pipeline experimentation

 In Blender, my "Team" has created 3 Scenes:

A block out scene created by the concept artist

A scene with modeled display screens created by the hard-surface modeler

And a box modeled by my bosses 10 yr old son that must be included if I value my job.

To export these scenes as USD: File>Export>Universal Scene Description

This dialogue will appear.

For this file, I will uncheck UV maps and materials as I have not created any.

From my tests USD, USDC, and USDA all work with Houdini Solaris. Blender defaults to USDC but, if you want to change it, just type USD in the dialogue then hit 'Export USD'.

Now I will bring the files into Houdini Solaris.

Switch the workspace to Solaris which should look like this.

Add a file node.

I get this error message but it hasn't caused any problems so I have been ignoring it until I have time to look up the issue.

In the properties panel, I can import a USD scene to the file node by clicking the paper with a mouse icon.

If I hit accept I can see my scene graph and my 3D scene.

Because Blender is a silly program that uses the Z-axis as the up axis everything is sideways. To fix this I added a transform node and rotated it -90 degrees in X.

This could easily be put into a subnetwork and turned into an HDA so that you only have to do it once but for now I will just copy it 3 times and import the other files.

I will add a null buffer in case any of the artists create future versions that they would like to merge in before I merge the different artist's versions together.

As I select each null I can watch the scene graph change to reflect the selected scene. If I add a sublayer node between the 'Block In' and 'Display Model' scenes and change the sublayer type to sublayer inputs then I can layer the two scenes on top of each other.

This is the step where all my first attempt errors became visible.

At first, I made the mistake of keeping the object namespace the same but not the mesh namespace. Here you can see the mistake I've made.

While The Xform objects were given the right name the meshes that belong to them were not (except for the first one that I fixed to show how the merging would occur differently).

First Layer                                                                    Second Layer

Composite scene

First, notice that the 3 that had the wrong mesh name for the object now have 2 meshes per transform meanwhile the one that was named correctly has replaced the mesh that was in the block out scene.

Also, notice how in the composite scene the layout cubes are facing the same way? This is because the scene with the more complete display screens had the rotation applied so that their local axis was in line with the global axis. Because the Xform objects still had the same name, the transformations were overridden even though both meshes were kept. 

as soon as the namespaces were fixed the layering worked as expected
The first two scenes layered similar scenes. What If I just want to layer a single asset I can use a reference node to select just the mesh from the 'Boss Kids' Scene.

Once I have the mesh selected I can place it within the transform and disable the placeholder.

These are my explorations with USD so far more to come :)

Tuesday, February 2, 2021

Rock Climbing Experience: TouchDesigner

I worked at Katapult Makerspace with my younger brother Gabe Tiday To create this rock climbing experience over the course of 1 month. We created two digital experiences, an adaptation of the climbing game add-on and an audio-reactive silhouette experience. I created the digital experiences, my brother built the wall on the back of the trailer, and we shared the work of doing the wiring for the sensors. The sensors used were a Microsoft Kinect 2 and capacitive touch sensors.

Drawing in VR in touchdesigner

I am working on trying to create my own 3D painting app so that I have more control.


Sound from Velocity: TouchDesigner


I decided to try and generate sounds from velocity using my hand tracked by a Kinect 2 as an input in TouchDesigner.

Opal-ish shader experiment

 Experimenting with normal based transparency to try and create an opal-ish shader.

Recreating Copy to Points using attributes from Houdini in Snapchats Lens Studio AR


This video shows the lens I created using the copy to points script. The video was a kinda weird skit I did for an assignment, BUT it shows off the way I used to point clouds with attributes from Houdini to scatter holographic drones over this drone war hologram.

If that video was too cheesy for you here is a more boring version although this version doesn't make use of attributes to say which object should be copied to which point.

I also made a tutorial on how to use my script:

*disclaimer* I mention a follow-up video in the tutorial that I haven't made yet but everything you need to understand and use my script is in this video

Here are some relevant links for the tutorial:

Copy to Points Template:


Sparkle Texture:


Halo Glow Texture:


Mr. Data Converter


3D painting exploration


This was was one of my first attempts at 3D painting. I found that I am treating 3D painting too much like 3D modeling.


On my second attempt I tried to loosen up my strokes a bit but I only feel like I was successful in the background. The Foreground is too much like symbols of the objects I need to focus more on painting light.