DAZ Studio 112: Content and Smart Content explained

In this episode I’ll explain the differences between the Content Library Tab and the Smart Content Tab. I’ll also show how to bring content into your scenes, and touch on the different types of content (for example, a shirt fits on a figure, but a material preset fits on a specific shirt).

Watch the full course in one convenient playlist:
Catch this episode on my DAZ Studio 101 Podcast:

Creating a round cutout mask for OBS Studio

I like the way my PlayStation 4 adds a soft round cutout mask to the PlayStation Camera Feed when streaming gameplay. I wondered how I could best recreate this effect in OBS Studio for a consistent experience, no matter which device I decide to stream from.

Here’s how I did it, with a little help from Photoshop – feel free to use the resulting asset without any need for further fiddling.

Continue reading Creating a round cutout mask for OBS Studio

Display all Keyboard Shortcuts in DAZ Studio

I’ve recently found out that there IS indeed a way to show a list of all DAZ Studio Keyboard Shortcuts. Sadly this functionality is not built in to DAZ Studio (as of 4.11 as far as I know), but we can convince the app to use the following script to show us a handy list.

This is the script:

// DAZ Studio version 4.6.2.118 filetype DAZ Script

var oActionMgr = MainWindow.getActionMgr();
var nActions = oActionMgr.getNumActions();
var oAction = undefined;
var oActionName = undefined;
var sShortcut = undefined;
var aShortcuts = [];
var i = 0;

// Create a new dialog
var wDlg = new DzBasicDialog;
wDlg.caption = "Keyboard Shortcuts";

// Create a listbox
var wTextBx = new DzTextEdit( wDlg );
wDlg.addWidget( wTextBx );

// Collect shortcuts
for( i = 0; i < nActions; i += 1 ){
 oAction = oActionMgr.getAction( i );
 sShortcut = oAction.shortcut.toString();
 if( !sShortcut.isEmpty() ){
  aShortcuts.push( String("%1 = %2").arg( sShortcut ).arg( oAction.text.replace("&", "" ) ) );
 }
}

// Collect custom action shortcuts
nActions = oActionMgr.getNumCustomActions();
for( i = 0; i < nActions; i += 1 ){
 oActionName = oActionMgr.getCustomActionText( i );
 sShortcut = oActionMgr.getCustomActionShortcut(i);
 if( !sShortcut.isEmpty() ){
  aShortcuts.push( String("%1 = %2").arg( sShortcut ).arg( oActionName.replace("&", "" ) ) );
 }
}
aShortcuts.sort();

// Populate the textbox
for( i = 0; i < aShortcuts.length; i += 1 ){
 wTextBx.append( aShortcuts[ i ] );
}

// Show the dialog
wDlg.exec();   

This code comes courtesy of Rob and msmorrels in the DAZ Studio Forums (thanks guys). Upon execution, we'll get a window similar to this one, and much longer too:

Wait... how does this work?

Technically, you copy the code and paste it into an empty plain text file. Name it something like Shortcuts.dsa (the .dsa extension is important). Then, open it in DAZ Studio with File - Open - and navigate to your file. That'll bring up that list.

Because life too short for repetitive and soul destroying tasks, I've already done that and added it to the following ZIP file for you! Download, unZIP and open:

Note that user defined shortcuts are currently not supported as far as I can tell, nor are viewport shortcuts (such as "hold alt, then left-click and drag", that sort of thing). Perhaps over time these features will be added. Until then, enjoy!

Contribute on GitHub

Sadly I know nothing about DAZ Studio scripting, but perhaps you do - or maybe one day I'll find out. In any case, here's the same code on GitHub for centuries to come. Feel free to contribute to the code via pull requests:

My Rig

From time to time I get asked what hardware and GPU I’m using for DAZ Studio, as well as for gaming. Rather than typing it out every time, I thought I’d make a handy post that I can refer interested parties to. This is that post 🙂

Hardware

I’m using a (rather old) HP Z600 workstation for rendering and PC gaming. I picked it up for a song (about $170) in 2016 from eBay, after a discussion with Jonstark on the Carrara Forums.

It has two Intel Xeon quad-core CPUs working in tandem, which means the CPU alone can use 16 threads for rendering. It came with 4GB of stock RAM, to which I’ve added an additional 16GB, which means today it has 20GB in total. I also added a USB 3 card and a USB WiFi dongle for network connectivity.

GPU

The fastest GPU I could find that would fit into the Z600 (vintage 2009) midi tower case was a GeForce GTX 970 graphics card (by ZOTAC) with 4GB of RAM. I bought it specifically for use with DAZ Studio, which requires an NVIDIA compatible card for the Iray rendering engine.

What makes Iray tick (and render fast) is a metric called CUDA cores. The more of those a GPU has, the faster it can render. Mine has 1664, which at the time was quite impressive. It was $199 when I bought it on Amazon in 2016.

Operating System

The Z600 came with a Windows Vista license, but I’ve installed Windows 10 Pro on it pretty much immediately. It needs the Pro version because it has multiple CPUs, which cannot be addressed by the Home version.

You can read more about how I built this system here.

Current Consoles

I also have a several games consoles in current use:

  • Playstation 4 (Slim)
  • Playstation 3 (Super Slim)
  • Nintendo Wii (with WaveBiird wireless GameCube controller)

I also use an Xbox 360 controller with WiFi dongle for use on my Windows system.

Other Systems

Aside from the above, I also use the following:

  • a Mac Mini 2012 on my desk
  • two Mac Minis in the cloud
  • Microsoft Surface Pro (First Generation)
  • 3x GoPro cameras (HERO 4 Silver and 2x HERO 5 Black)
  • Blue Yeti microphone
  • Logitech C922 Pro Stream Web Cam
  • various iOS devices
  • various lapel microphones

Discovered in December 2018

I’m a big fan of Anders Enger Jensen. He’s a retro composer from Norway, I’m proud to support him on Patreon, and I love using his music for incidental underlays and many other video projects (with his very kind permission of course).

His latest compilation album is available on Sportif – check it out and give yourself some happy music – eighties style.

Tech Things

How to add Subscription Alerts to your stream in OBS Studio

Have you seen those fancy graphic overlays that animate over gaming live streams? They’re great for audience interactions, and when I did my research on how to create those, I came across Streamlabs.com. That’s a service most successful streamers seem to use these days.

There are two ways to set this up: either download a modified version of OBS Studio from the Streamlabs website (it’s called Streamlabs OBS, but it’s Windows only at the time of writing), or use their Alert Box widget with the regular version of OBS Studio.

I’ll show you how to get the latter option going in this article.

Getting the Alert Box URL

The way this service is provided is via a transparent graphic created in CSS, using a simple browser window. We’ll capture the output of that URL and use it as a caption overlay in our OBS scene.

To get the URL for either a YouTube or Twitch account, head over to streamlabs.com and login with either of those credentials. Essentially, you’ll grant Streamlabs access to your account so that new subscribers and donations can be accessed by their servers. On this occasion, connect your Patreon and PayPal accounts so that such notifications can also be displayed.

On the left hand side, under Widgets, you’ll find several options, among those is the Alert Box. Select it and see all the configurable options on the right. Copy your unique URL from the field that’s hidden by default. We’ll need to add that to OBS in a moment.

Create an overlay in OBS Studio

Open OBS Studio and add a Browser Source to your Scene. Note that this needs to be at the top of your list so that these alerts can be displayed on top of your scene. Mine only contains a simple Display Capture otherwise.

In the Browser properties, paste the URL from Streamlabs in the dedicated URL field. That’s all you need. Make sure to scale and position your Alert Box to your liking.

Testing Alerts

Back on the Streamlabs website, in the Alert Options, you’ll see a list of test buttons that let us trigger dummy alerts. They’ll allow us to preview how those alerts will come up when we’re live. Click any of them, then head back to your OBS preview window and see what it looks like in action.

Note that Streamlabs OBS has this option built in as a plugin by default. The above setup is only necessary for the regular version of OBS Studio, available from obsproject.com. Here’s an example of what the alert looks like:

Feel free to explore the other widgets you get from streamlabs.com.

Creating a Zoom Blur Effect in Photshop

In this episode I’ll show you how to create a moving Zoom Effect in Photoshop, using the Radial Blur Filter. I’ll also explain the use of Smart Objects and how to blend the original image with the blurred version using a Layer Mask.

I’ve used this effect to create the thumbnail for my Vertigo Shot animation here: https://youtu.be/M-UevHx5CsQ

Catch this episode on my 3D Podcast: