StudyBreak: Houdini and Redshift

General / 27 May 2019

Yoooooooooo

Hope ya'll are having a good 3-day weekend (if you're in the States). And if you're working, get yourself some good BBQ after work. You know what's up

Work's kept me busy busy busy. You know how that is. Get money. I've been putting in a few long weeks this month really trying to nail things down at the job. 


BUT IN THE MEANTIME

Here's what I've been up to

Houdini

I've only just picked up Houdini and I'm making strides to learn as much as possible for integrating it into my projects. If you know anything about me it's that I FUCKING LOVE COCAI-- TO LEARN. This time it's Houdini. My journey into nodes and -OPs has begun in earnest with tuts from around the internet. Houdini has a great library of learning material right on their own site! How dope is that?

Things I love about Houdini right now:

  • the whole node-based workflow is right up my alley-- so non-destructive!
  • Houdini has the best documentation and implementation of it I've seen in any program. Not only do buttons tell you what they do, what shortcut they're assigned to, but also if you hit F1 while hovering over an action, you get the help doc for that feature! Masterful
  • All I've made in Houdini FX is shitty fire, but man was it easy to get used to and I am no FX artist
  • Currently I'm doing a tutorial on making procedural buildings and it's mean af
  • When I bought Houdini, my Paypal shit itself so I used a card instead. Then the Paypal went through next day. The same day without having to ask via support ticket SideFX emails me to say they went ahead with a refund cos it looked like a mistaken second purchase. Hello new best friends

Tips for fellow Houdini new booty:

  • Houdini is Substance Designer but all 3D. Ok it's a lot more than that, but if you know SD, you'll ramp up real quick in Houdini
  • You can learn Houdini for $0 if you use the Apprentice version
  • If you decide you need to upgrade from Apprentice to the Indie version like I did, know that the login you have won't work for the license server installed on your computer for Apprentice. Instead, SideFX sends you a link for an updated login. 
  • Houdini is setup to be FAST! So many things you do there can be baked down to keep your velocity going including sims and destruction. And of course, you don't have and if you do it's still non-destructive
  • Houdini may require your computer's full attention (hardware resources) depending on what you're making! I breezed through making complex chains of nodes to create particles and destruction, but I absolutely chugged when it came to anything that required voxelization for instance

Redshift

Another exciting development. I'd been searching for a new renderer since the start of the year. Most of my projects are done in UE4 cos I'm a game guy and that makes sense. Sometimes I use Marmoset which is FAST af, but still pretty challenging to stage whole environments. I've also been looking to mix up my workflow in some currently super secret ways (sorry) so I decided to investigate other options! I really wanted something that could do realtime in some way, but had way better lighting. And above all I really wanted speed

Stuff I looked at:

  • Ocatane - pretty awesome! but on my setup, pretty buggy!
  • Corona - Super great quality! CPU rendering only!
  • Arnold - Free with Max/Maya, GREAT quality and probably my favorite for rendering hair in particular, but also not fast
  • Blender - EEVEE is awwwwesome, but unstable and I don't know Blender well enough.... yet

I ended up picking Redshift and boy am I happy. Check out this test render:

Using only free assets from Megascans, you cheap bastard

It's so easy to use and integrates super well into my current pipeline. I feel like Redshift is Marmoset on crack. It's not fully real-time, but its GPU rendering is pretty much the fastest I've experienced. And it was pretty affordable as far as renderers go! $500 still ain't nothing to sneeze at. We're not out here making Bill Gates money. I am amazingly satisfied with the speed, quality, and options. (If you're wondering I'm using it in 3DS Max)

Things I love about Redshift right now

  • Couldn't be easier to get good results by default. Make some models, drop in some lights, it already looks dope
  • One license for Redshift gets you integration with everything Redshift supports. Octane was having me pick and choose which package I wanted to pay to render in. "You want Octane in Maya? Sure! Also Houdini? That'll cost extra!"
  • You might remember how I lost my mind over MODO's bevel shader... well Redshift comes with it! I didn't even know when I bought it, but I now use it to visualize all my modeling all the time in real-time. I think you can bake it too, but I'll have to investigate further
  • Being able to see all your materials change before your eyes has made making complex material node graphs in Max a lot more attractive
  • If you've read this far send me a PM that says 'study break winner' and you'll get a prize
  • Renders are FAST
  • Dat render time tho
  • Also, renders are pretty quick.
  • AOVs are fast and easy to generate AND there's huge bucket of em by default plus you can make custom AOVs

Tips for fellow Redshift new booty:

  • know your color spaces with Redshift
  • you have to enable GI, it's not on by default
  • some FX can be enabled/disabled without having to re-render at all
  • if you want super duper fast realtime preview renders, Redshift got denoisers with them big dicks
  • some features have to be enabled in multiple places! While this is great for control, this is not my favorite thing because it reminds me of why I didn't like working with Mental Ray in Max: Why isn't _____ working? Did you enable it in the shader, render options, render settings, on the mesh, and call Tyrone?
  • Redshift's documentation is great but sometimes spotty so I have to supplement it with Youtube tutorials which are frequently for C4D and Maya

Man, this was packed! Thanks for reading and see ya next week!

BONUS: Music to do art by - https://www.youtube.com/watch?v=ph_IhNseCBc 

Pitts Tips 01 - (Quality of Life and) Faster Thumbnails in Windows Explorer

General / 20 May 2019

Outside of art I tend to spend around one weekend a month doing what I think of as a quality of life pass on my workspace. This includes stuff like re-organizing projects, tutorials, and clearing out my ever growing downloads folder. It also includes solving or working around issues that have slowed down my workflow. As I come across tips I'm happy to share whatever I find that helps my fellow art homies work better.

So let's talk about some cool fixes and tools for speeding up thumbnail browsing in Windows Explorer. And a little bit about the process of course!

[TL;DR, scroll down to Solutions for the fixes]

"FUCK!"

How does this work?

Usually it starts with foul language. If you're outside my window you can probably hear "FUCK" every few hours. When you hear that, you know I went to do something in 3DS Max or Windows only to be boned in the end. Might be something as small as lamenting the half-baked UV straighten tool in Max or... waiting a full minute for thumbnails to load in a frequently visited folder in Windows. 

In the past, I had a pretty bad habit of stopping right then and there to track down how I could solve whatever the problem was because like, the internet is right there. But I kinda realized that that wasted time and threw my focus off in the middle of a session. So instead I switched over to one of my favorite pastimes: writing random things. It's how I begin all my projects. Usually I pop open a doc and start jotting down ideas. So this time, I started doing that in a sequence of files that came to be known as [fill in the blank]Annoyances.txt.


These docs are usually pretty short and consist of rows of very angry sentences:


Usually I go back and clean these up a bit, but also no



This helps me to prevent myself from being derailed during the creative process by googling to fix random non-blocking technical problems. As you can probably tell, last time I investigated a source of major slowdown for me: thumbnails in Windows Explorer. 


Thumbnails, please

If you're an artist with a computer you have more images than is legal (in some country, probably).  Likely you don't have hundreds, but like thousands in a bunch of weird file types,  and you love thumbnails. More than that, you probably need thumbnails to be able to quickly tell the difference between T_thiccBrick_A.tga and T_thiccBrick_B.tga  when you're working on a project.



Gross

Solutions

So in my doc, I end up trying out a couple of solutions and making notes of what works. Here's what's been working for me to eliminate slowdown in thumbnail browsing.


A) Windows doesn't remember my folder sorting because I have too many folders apparently

B) Windows icon cache is automatically deleted for some reason, usually between computer power downs but also when it's most inconvenient I guess

C) BONUS! How can I generate thumbnails without visiting the folder?

D) BONUS! I want a faster image viewer

  • solution: Irfanview wins for speed, hands down


Once I tried these, I noticed instant improvements in my windows explorer browsing experience. My downloads folder was no longer a mess of half loaded images. My project texture folders were no longer causing my expensive PC to somehow chug as I browsed them. And the best part is... it has stuck, even after restarts. There are some things I'm mentally preparing for because this is Windows. Like, I fully expect to have to redo some of this after some random Windows update. But for now, I'm enjoying browsing my images at top speed.

The sweetest part of this deal is the WinThumbsPreloader. This thing works recursively (that is, it can generate thumbs for folders inside of folders) and is crazy fast. Just right click on a folder and tell it to do it's thing. The longest thumbnail gen took about 2 minutes and that was for 15K images. 2-3K it can chew through in mere seconds. So great!

I've used Irfanview, but fell away from it for a while. I'm back because it's the fastest image viewer I can find and because I finally figured out options that work for my viewing experience. I tried out a few other programs, but none were anywhere near as fast.


Well, that's it. Hope these tips are helpful to you and if you have suggestions for speeding up Windows, I'm all ears.

Thanks for reading and see ya next week!

Lowlife Breakdown: Part 02 - Neon

Making Of / 13 May 2019




Let's talk about neon...

We're breaking down more LowLife today and the subject of the moment is NEON.

When I first started thinking of the scene all I really wanted was to make something I could have fun creating and I wanted it to be kind of cyberpunk-y. Neon plays a key part in that look so I planned to have a lot of it in my scene. Let's go


Creation

So first of all, the neon you're seeing here is rendered with just alpha cards with an alpha test shader. You'll be relieved to know the texture itself is a lot simpler than the Uber Trim and so is the shader. Here's the texture:

R, G, and B all over my body

As you can see, like my previous grunge maps, it's also channel packed. On the right you can see the layer groups, color coordinated to help me keep track of things. For the channels, I generally used Red for lettering, Green for borders, and Blue for backgrounds or any third element. I also used Alpha for extremely rare circumstances (like, the one time) when I needed a fourth color. I made this mostly in Photoshop, using grouping and blending options to set the channel. You can do this by right-clicking on any layer or group and selecting "Blending Options". Under "Advanced Blending" you can find checkboxes for channels:

'Channels' is my 30th favorite word

Then turn off the channels you don't want for that group. It's super easy

Once that's made it's over to UE4 to work on the shader.

Shader


Well that's long image.

This looks more complicated than it is. I would say that: it ain't.

You're seeing four basic parts

  • source textures with transforms (including a bump offset parallax)
  • parameters for recoloring each channel mask
  • different neon animations
  • parameter switches for blending animations


Source textures

Nothing complicated here! The texture, it's normal, and a bump offset driven by the same texture. As simple as it gets.


Parameter Colors

Parameterized colors for the signs. Also simple.


Animations

Some setup for animating the emissive of the shader. I have a few of these in the shader. Also... SIMPLE


Switches

Parameter switches for the animations. SIIIIMPLE


Using this setup, I can make a lot of controls for my neon with the material instances. If nothing else, I wish I had fewer instances. I made a bajillion just for controlling signs and it became a bit of a pain to work with. 


Ol' Parameter Pitts, that's what they call me


For the geo, I created mostly simple cards. Some signs also had metal backings created using the uber trim. Tbh, I really only scratched the surface here and next time I'd like to take my treatments further. Even so, with my simple setup I could get effects like this with just a few parameter customizations

I think that's about it for this. If you're interested in seeing a particular breakdown, just ask and I'll do what I can for next time.

Thanks for reading and see ya next week!

Lowlife Breakdown: Part 01 - Uber Trim

Making Of / 06 May 2019


Sorry for the absence! Now let's get to work.

I'll be adding new parts once a week. We'll start with the uber trim since that seems to be what most are interested in.


First: here's the full trim sheet.



This is the full texture and the full texture set.



Now let's see how I got there.


Planning


In my planning I desired clean, readable, and multi-use trims with different bevels, and pretty even texel density. For me this meant planning different sizes for trims and cap trims. I made this blockout early on and stuck pretty closely to the sizes here. The final shapes on the trim come from a wealth of reference of alleys and the structures you find in them. All in all, it's pretty no frills which is exactly what I wanted. The real strength of this trim is its versatility. The end result looks fine, but really it's just the base. In Unreal, I'll let the shader take over and make it really useful.

Creation



  

This is pretty straight forward. The sheet itself is modeled in 3D then baked down and painted in Substance Painter. Some of this work was also done in Zbrush where appropriate like sculpting organic folds. I then added some micro height details and decals in Painter to get the final normal map. When ready for export, I used a custom preset that creates a channel pack map (I call this AORM, R=AO, G=Roughness, B=Metalness, and there's an optional Alpha used in this case for a separate height-based Grunge generated using the height and normal of the the trim sheet geo.) At the end of that, I have a base color, a normal map, and an AORM texture with a height-based grunge packed in the alpha.


Shader



Here's where magic happens.

So in the planning stage, I kept things pretty readable and avoided heavy grunge passes. Here I add those passes. 

Adding grunge in the shader has some neat benefits. I keep grunge type and colors consistent among a large number of assets, I can change these parameters as my scene evolves, and I can have a layer of unified density of detail. (You may notice there's also a "world aligned dripping water". This is an extra layer to support rainfall that I didn't end up using on most of the trims and I'll cover that in a later post. This is also why in this screenshot, the material is set to Clearcoat. Clearcoat is not at all necessary for the trim to function.)




I also add controls for that grunge in the form of exposed paramters. I care about controlling the amount of grunge, density, grunge mask edge contrast, upnormal spread, and color of every grunge pass so I expose them as parameters. I also expose roughness and metalness. Separate color controls allow me to recolor grunge or the trim itself. In this way I can produce materials like bronze, gold, iron, etc with grunges that resemble mud, dirt, rust, light moss, or no grunge at all. With the metalness control, I can easily switch the shader to be a non-metal giving me options for plastics, rubber, etc. Add some roughness control, and I get essentially a full set of in-shader controls to help keep any change I do PBR legal. (Again you see "use Flowing Water" related to rain controls which I'll cover in a later post.)


For other grunge in the scene, I used channel packed grunge maps. RBG all have different grayscale tileable noises made in Substance Designer. These grunge maps are key to just about every material in my scene because they're used for a lot more than just adding grunge. They are also being used to break up gradients and add res to otherwise lower res masks. 


The grunge passes are as follows:

A Height-based grunge (fits the normal map shapes. Reminder that you can scroll up to see this mask)

An Upnormal Grunge (sits on top of the object)

A World aligned texture (mostly for streaks/directional grunge on the sides of objects)

The world aligned and upnormal grunge use different RGB channels of the same texture. The height-based grunge is channel packed in the alpha of a texture I'm using anyway (in this case the alpha of the AORM of the trim texture).


This is the grunge texture used for the vast majority of world-aligned and upnormal grunge:


So here's an example of these things in action.


First the air conditioner is mapped to different areas of the trim. Here are some callouts. You can see that I changed the color of the trim to be off-white and reduced the roughness of the "painted" areas. The edges of the mesh look different because I'm using the height-based grunge to control what goes on in there. This means that as long as I mapped it appropriately to the trim, I get a different treatment for the edges of my object to play with things like edge wear in the shader. The grunge pass here is pretty light. You can see some sitting on top of the AC unit and a bit on the sides. These are world-aligned so they show up based on the position of the object in the scene. In my key shot of the window (https://www.artstation.com/artwork/Z5RPlm , "Still Shot 3") the grunge appears to leak from inside the fan. This is merely me positioning the AC unit mesh to make sure the world space grunge would layer over it that way. And in case you're wondering, the front grate comes from a separate atlas with alpha test.


Here are some examples:


And here's some grunge positioning:


I think that's about it for this. If you're interested in seeing a particular breakdown, just ask and I'll do what I can for next time.

Thanks for reading and see ya next week!

Discerning MODO

Work In Progress / 31 January 2019

The end of January...


...marks my first month with MODO. What a momentous occasion, right? In that time I've made a whole model and unwrapped and textured it.



100% Procedural /s


That went... well it was overall pretty challenging tbh. But let's talk about the struggle in a bit.


But first, the easier part: unwrapping and macros!

Feels like I'm understanding more about getting faster in MODO. Specifically I'm running with macros in my crew now. So I know what macros are in a general sense and have used them to automate repetitive tasks in other programs, but MODO makes these a lot more user friendly to setup. Basically, you record macros the exact same way you record "Actions" in Photoshop. Then you can map them to menus or hotkeys. And since mapping to new menus looks kind of complicated (meaning it doesn't look as easy as Maya or even Max where you can drag and drop) I went the hotkey route.

I wax on about macros because my first reaction to unwrapping started at "WOW this is slow" and ended at "Gotta go fast". All because of a few macros. My favorite so far is a macro that flattens UV shells based on hard edges, relaxes, orients shells, then packs em. 

Overall, I don't think I'm any faster unwrapping than using say, Maya. But probably quite a bit faster than Max.


Awesome UV features include:

  • Rectangle - makes an all quad UV shell rectangular! Works on multiple shells! Invaluable for poly loops.
  • Orient Pieces - automatically rotates shells to lay flat on a perfectly horizontal or vertical edge. I run this on many shells at once!
  • Align UV by Edge - Aligns the shell to the U or V axis using the selected edge. Like Max's but works consistently!

Other stuff to explore:

  • How does one handle stacking UV shells in MODO?
  • Can I get better packs? Max wins here as far as auto packs go


The Struggle


The struggle is real. 

If unwrapping, the part every artist wants to skip was easy, what was hard?

Surprisingly... baking! I struggled so hard to bake this prop and I got stressed about it.

I studied a ton of tutorials and pored over documentation concentrating on how baking in MODO is intended to work. In reality, I could never get an acceptable bake out of MODO particularly using the Bake Wizard particularly. Each time I tried I ended up with bakes so bad, you'd think me a'learning 3D all over again like a young pup. It was demoralizing. It took so many tries to begin to understand what could be wrong and the particular peculiarities of this pipeline in MODO. I still very much don't understand a lot of the behind-the-scenes things going on with this process.

My troubles came mostly from trying to bake the rounded edge shader. Easy modeling sure, but boy did I lose all that time to baking! After around 50 bakes i finally got something not horrible and I still threw it out. It's worth mentioning that I got a very good bake on a simpler test object so there was something that I didn't understand going on with my model. It was very frustrating! But frustration is part of learning. Next time, we do it twice as good and twice as fast, promise.


So what I actually ended up doing was baking in my old pal  ̶A̶l̶l̶e̶g̶o̶r̶i̶t̶h̶m̶i̶c̶  Adobe Substance Painter. (That was some big news, huh) This meant I had to do some real high poly work in MODO and Zbrush. Why Zbrush? I used Zbrush for the motor to create bevels and welds for the small doodads that I previously clipped together hoping the rounded edge shader would do that work for me. I could have learned some Mesh Fusion for this, but I've got another MODO project on the horizon for that... 

I also ended up texturing in Substance Painter because it's a JOY. 

Just so you know, the actual tutorial covered modeling, simple materials, and rendering. All of this unwrapping and texturing is extra credit


What's Next?


I didn't do everything I wanted to do in MODO. And while staying in one package is never a goal for me as an artist, I'm still eager to learn more about the tools I skipped over. I could walk away right now knowing I can make some cool geo in MODO fast, unwrap it fast, and take it into Painter to texture. This is precisely my pipeline no matter what I use to make the geo.

But then I'd miss out!

Also there's a good bit of fundamental MODO features that I interact with but don't understand at all. The List panel and Channels panel are probably chief among these.

So what's next for me is making another prop with a focus on:

  • Mesh Fusion
  • Shader Tree learning
  • Rendering inside MODO
  • Making a Maya style marking menu
  • Finding solutions to pain points from the previous project (mostly baking)
  • Customization: stage one
  • Understanding Lists and Channels

I might end up following another of Vaughn Ling's sweet tuts, since I bought all/most of them. hint: they're gooooood


- Pittskrieg

Learning MODO

Work In Progress / 21 January 2019

It's a new year...


And I'd like to add a brand spanking new skill. 

So I decided to learn the great beast MODO in my spare time to have the opportunity to take advantage of that software's awesome (and exclusive) tools. Tools like the very tasty looking Mesh Fusion. MMMMM

Also, I really like learning things. I'm kind of nutty that way. I think I miss academia... but this is way easier on my bank account than the great American loan.

Learning the interface for MODO has been challenging. I'm not super far in, and there are tons of things I don't understand yet so that's fun. So far, my largest hurdle has been getting used to the idea of pressing a key to commit translations. (Hint: IT'S WEIRD)

Since I didn't understand something so fundamental to working in 3D in this program, I had to do some fancy googling






Resources


To halp me on my journey, I've found a number of great resources free and paid:

Pixel Fondue's short and sweet videos have helped expose me to a number of useful features nearly every time I google a MODO question.

The Foundry has a great set of videos going over many key modeling tools. In particular I like that they had videos specifically for users coming from different DCC apps like 3DS Max and Maya. I'm coming from Max mostly.

The Modo User Guide has also proven very useful in finding official documentation for different tools.


I most certainly did not.

Work in Progress




On the paid side, I ended up buying most of Vaughan Ling's tuts to take the MODO beginner to the MODO super genius. He also has a similar set for Blender. And tbh, I was torn between learning MODO now or Blender. I've dabbled in Blender and its latest version looks fantastic, but MODO's tools won me over. Anyway, I can always learn Blender in the future. 


The first tutorial I did covers creating a simple prop in the form of the iconic Braun HL70 fan, famously seen in the original Blade Runner. The product was designed by noted industrial designers Reinhold Weiss and Juergen Greubel, icons of functionalist design and clear visual inspirations for one of my favorite eras of science fiction in the 80s. You can find their work on display in places like the MoMA. 

In following the tutorial, I decided to take it a step further and add a few extra details and model a motor for extra practice. (Full disclosure: I don't know what the inside of this fan actually looks like so... ART!) Overall, I'm not displeased with the results. The casing took me two full days of learning to model in MODO from the ground up. The motor took me about an hour or two (with iteration and experimentation) so I definitely feel like I'm at least getting comfortable with the tools.


Things I really like include:

  • Bevel - I really like beveling in MODO. Bevel here is used for chamfers, insets, extrusions, and more. Also bevels can have Max loft-like profiles built in, creating complex chamfers in seconds.
  • Work Plane - built in to MODO. If you've never used a work plane, check them out! (I use a script to have one in Max)
  • Radial array - very easy and very responsive. You can adjust the proportions of the circle, number of objects, and more mid-flight 
  • Speed - Modo is a lot more responsive than Max and Maya so far
  • MODO is fun to say MOW-DOUGH
  • Selection tools - Where to begin? Selections in MODO are a dream come true. I love that paint selection, point selection, and lasso selection are all readily available without having to switch between selection modes. I also like that you can right-click to lasso while ignoring backfaces and middle click to lasso without ignoring backfaces. No toggle necessary. Selection tools like this are probably a huge reason I feel fast even though I'm still a MODO baby


What's Next

I couldn't live with myself if I didn't unwrap and texture this guy. There's a special place in hell for people like that. Unfortunately, since the tutorial I've been following is geared toward concept artists and visual designers, unwrapping isn't covered there. Luckily, I've been looking for resources and asking lots of questions of fellow artists and I might have some good answers shortly.

I'd also like to look more into customizing MODO which is something I have so far deliberately held off of to keep compatibility with tutorials. However, I definitely have some ideas for what I'd like to do to speed things up. A lot of MODO's default keys are spread across the keyboard, requiring me to remove my hand from the mouse. Screw that. Also I've been recommended a sweet video that shows how to set up Maya-style marker menus so I want to get that going. I did this in Max and it's so good.

If all goes well I've been thinking about dropping this in the scene I've been working on. But that's a story for another time.

- Pittskrieg