December 10, 2017 - Comments Off on Barclays TVC

Barclays TVC

Here's a recent project I was involved with at Analog, only for the last few days mind, but some useful skills brushed up on. I tracked the face of the robot for the live action sections, so the digital eyes could be added on. I also object tracked the robot arm and added CG missiles, so fast you'll miss it! Anyway, it was fun re-learning PFTrack again, now its become 'node based'.

November 19, 2017 - Comments Off on Westgate Oxford

Westgate Oxford


Here's a recent project I created at NineteenTwenty. I helped with the clouds in the opening shot. Created in Houdini from a pretty comprehensive set of custom tools I worked on, which helped get the correct look of shapes and types. I created a mini library of Cumulus, Cirrus, and various trailing clouds. Shot was rendered in Mantra.
I also lit and rendered the opening of the roof, also rendered in Mantra.

October 28, 2017 - Comments Off on Custom Flip tools

Custom Flip tools

Here's three videos of a few customs tools I've completed for Houdini Flip simulations. The first isn't a tool as such, but a method for getting custom slip fields into the solver. I've also written a surface tension OP, which blends the nearest surface into the calculations, so you don't get complete sphere's. Lastly, a Curvature Attract OP, to help the fluid stick when flowing around curved objects, the result is a sticky feel on the underside of objects.



September 26, 2017 - Comments Off on Mantra MicroBevel

Mantra MicroBevel

I've been knocking this shader around for quite a while. So now it's time to release it into the wild. MicroBevel is a fancy rounded edges shader. Very useful for getting extra detail into models on sharp edges. If you already have modelled bevels, it won't work. Works pretty well on CAD though. But sometimes all the weird flipped normals can cause issues.
It works by raycasting, and returning a normal average of hit polygons, then blending the current surface normal and the found normal between a radius. Thus creating a rounded edge.

As with everything, it has it's limitations. 6 samples will be fine for small bevels. If you go too large you will find you need to use RandomSamples, and increase the Samples upwards of 6 to get a smoother result. But then its supposed to be micro, so smaller radius works much better.
To use it with the Principle and Classic shader, you will need to plug the nN into base and coat normals.
There are some Debug export' you can use to see where the edges are, and normals.
I've left the HDA unlocked so you can root around inside. These are not bullet proof, and I'm not 100% certain it will work in all scenarios.

MicroBevel Shader
MicroBevel_Compile_01
MicroBevel_Compile_02MicroBevel_Compile_03Houdini_MicroBevelUI_01

Download HDA

September 26, 2017 - Comments Off on Mantra Edges Shader

Mantra Edges Shader

Here's my new Mantra edges shader. I've left the HDA unlocked so you can root around inside. These are not bullet proof. So understand, if you use them, and they break, you'll have to dig around yourself.
If you want to vary the edge width using a map, you will have to activate the map toggle. I couldn't get the 'if connected' thing to work for auto map plug in, missing some voodoo i think.

Edge Shader
ShaderEdges_01_Compare ShaderEdges_02_Compare Houdini_EdgesUI_01

Settings are pretty simple. As standard the Shader takes regularly spaced samples in a circle. So 6 samples is ample. If you want solid lines, tick the box. If not, it returns a gradient, and then you might need more samples, and random samples to get a clean gradient.

Angle limit clips the returned Convex and concave angles.

To make a dented edge, just plug in a turbulent noise, fit range to vary the radius. On the returned edge, you can then use the float mask to add in smaller dot/dents for more detail.

Surface offset plays an important part, if it's very low then you'll get all the tiny polygon angle changes returned. These can be clipped slightly with the angle limit, but sometimes it's easier to just push the offset further away.

Download HDA

September 26, 2017 - Comments Off on Mantra Dirtmap and Thickness

Mantra Dirtmap and Thickness

Here's a compilation of updated Mantra Shaders. I've left the HDA unlocked so you can root around inside. These are not bullet proof. So understand, if you use them, and they break, you'll have to dig around yourself.
Technically similar to the one's I've done before, but now I've swapped crazy matrix maths for the sample sphere VEX, which makes it a bit more consistent, and easier to modify.
Also, when you increase Pixel samples in the Mantra ROP, you can lower the shader samples.

Dirtmap Shader
DirtShader_01
Houdini_DirtmapUI_01

Download HDA

Thickness Shader
ThicknessShader_01
Houdini_ThicknessUI_01

Download HDA

September 22, 2017 - Comments Off on Houdini Old VOP loops

Houdini Old VOP loops

A little tip. If like me you hate these ugly new VOP loops:Houdini_Loops_01ANot sure what SideFX where thinking. Yes they aren't buried in a sub node, but damn they are messy. When it comes to laying out VOP's I get extreme OCD. Coming from Softimage, this is a mess. Plug anything in incorrectly, it goes berserk, creates extra channels, then just dies.
In my head, this is much cleaner, and easier to copy to other networks. The old Loops:
Houdini_SampleSphere_01CThese are still accessible, as with most stuff, SideFX have kept all the legacy nodes in the background for compatibility, and thankfully we can reveal them.

Open a textport, and type : opunhide, hit return.
Houdini_Loops_01B
Find the one you want, then type it in like this: opunhide Vop for

It will now showup in the tool search in the section Digital Asset. So you can re-activate all the good old loop tools. And escape the spaghetti window hell...

September 22, 2017 - Comments Off on Houdini Sample Sphere VOP

Houdini Sample Sphere VOP

Houdini_SampleSphere_01A
Here's a very useful VOP/Vex node available in Houdini. Sample Sphere creates samples on a sphere. Before now, to sample spherically, I was making a direction then rotating it. But using this is far simpler. With a usample input, it takes a Vec2, or more simply put, 0-1 controls rotating around the circumference of a sphere, and another 0-1 controls the upward vector.
Just put this into a ForLoop, randomise the two Usample Vec2 inputs, and you can sample randomly spherically from a position.
The direction specifies the overall direction that the sphere is on, so if you rotate this, then the sample sphere rotates.

Here's an example fed into a add point, this way you can see the result: Houdini_SampleSphere_01CHoudini_SampleSphere_01B
Houdini_SampleSphere_01D
What's the point? I hear you cry. Well, you can add this to a raycast/rayhit, and use it in the shader context to sample the scene at every pixel hit from Mantra. So think, AO, thickness, edges and much more. Here's a demo file:
SampleSphereDemo Hip

June 28, 2017 - Comments Off on Houdini Flip Melt

Houdini Flip Melt

Recently I've been obsessed with melting statues. Seemed like a fun way to get to grips with flip in Houdini. Here are few of the results. Out of the box there are some issues melting Rigid shapes, the main one is the amount of detail in the original mesh never really transfers through the vdb, particle, and then remesh workflow. To help this I calculated the nearest position to the start mesh for every flip particle, then transfer that data back to the remeshed fluid surface. Using that I could snap the new mesh to the old, and blend to the fluid by distance etc. Works pretty well in the end. Using the nearest surface XYZ distance was sufficient, but it could be expanded more to use a raycast approach in the future.




March 18, 2017 - Comments Off on Mantra

Mantra

Been investigating Mantra a bit more now. It's a very capable renderer. At first it was a bit daunting, but the flexibility of creating your own shaders using VOP's is amazing.

Here are two renders of car parts. Kit bashed from various models I've collected over the years. I did some UV'ing and modelling tweaks in Houdini. All the shaders are Principle core, and then expanded with some of my own creations.


Using my rounded edges shader as a base, I made a one that adds edge dents. Helps give the objects a worn look. You just calculate the edges once, then use that as a mask to drive the color, spec etc. It uses raycast below and above the surface an returns changes in angle it finds.