I put together this halftone shader effect in Blender earlier today:
The key realization for me was that Blender’s shader nodes allow you to use Diffuse BSDF or other shaders as inputs to your setup. This means we can take the lightness of our mesh and use that as an input to a color ramp with a step function in it. In more detail, here’s the shader setup:
I’d wager a more skilled artist could replace the dot-pattern generator with something that gives more consistent result and doesn’t have that semi-circular banding issue. Give it a try and let me know if it works out for you.
Today, we’re going to learn how to setup Blender to render a full-immersion 3D video and upload it to YouTube. We’ll start by covering some gear to preview your videos (with links to Amazon), quickly fabricate a scene, configure Blender for 3D output, do the required prep, and finally upload to YouTube. Nothing we do here is particularly novel or difficult, but it will hopefully save you some time in making videos of your own.
Here’s a preview of the finished product. Open in the YouTube app to view as a Cardboard video.
I played with Google Cardboard at home this winter. The setup and use stood in stark relief to the setup and use of my Oculus at home. Connecting the camera of the Oculus, the HDMI out, the power, installing drivers, updating the device, all took on the order of hours. In contrast, the Cardboard took on the order of 15 minutes to assemble, and the Cardboard App downloaded in parallel. It’s not a replacement for the Oculus, but as a function of dollars+effort in to entertainment value out, it’s quite effective.
Open the scene you want to use for 3D video. Reset the orientation and position of your camera, then set the camera’s rotation so that it is pointing straight down the positive Y-axis. If you’d like to use a pre-made scene, download the .blend file above.
Make your way over to camera settings. We will switch the camera type from Perspective to Panoramic. This allows us to capture the scene in its entirety in a single render pass. In the “Type” option below Lens type, switch to “Equirectangular.” Google’s tools expect equirectangular output.
Convergence Plane Distance and Interocular distance can remain the same.
Set the pivot to whatever you’d like. I prefer ‘center’.
Spent the day tweaking jump physics and character movement physics. I had some early troubles with a race condition between FixedUpdate and Update. I was ‘decaying’ the player’s jump impulse in FixedUpdate so he/she could hold space to get a little extra height out of a jump. That turned out to bite me a little because occasionally, the jump impulse seemed to get overwritten. Additional problems with a raycast checking ground contact. Lost a day to that, but at least I could unwind this evening and model a tiny rocket.
With the language model happily training away, it’s time to get started drawing the front-end. I know that I really want something reminiscent of Lucasart Graphic Adventures. I’ve yet to figure out what portion of users will be running windowed and what an ideal resolution to target is. I’ll have to finalize that before starting on the art, but I can still mock up the UI in a way that’s resizable.
While making this animation for Hidden Asbestos, the flare effect from the gun kept getting drawn with edges by the Freestyle rendering engine in Blender. It wasn’t too crazy to find a solution online, but it wasn’t immediately clear, either. The top result was actually for partially excluding lines. I needed to exclude the entire object. I did this by selecting the muzzle flash and adding it to a group, then selecting Freestyle > Selection By > Group > Exclude, and adding my flash to a group. The result: