Notch 0.9.21 is out today
This is a substantial new release of Notch and Notch Builder. Under the hood are over 450 new features & 200+ fixes.
This release has been in development for over 6 months and in extended beta testing for two months. A massive thank you to all of our beta testers, partners and users who have contributed ideas, feedback and straight-up testing.
This (rather massive) blog post highlights some of the key new or improved features in Notch 0.9.21. You can also find the entire changelog here. We’ve also updated our manual to coincide with this release.
Alright — let’s get to the good stuff!
Rigid Body Physics
One of the most requested features for Notch has been support for rigid body physics. This is a common feature of many 3D tools and game engines, allowing solid geometric objects to be thrown around using physics, collide with each other and move realistically. It’s a useful tool in both fixed designs and interactive projects. It was something we’d planned to bring to Notch for a while.
We’ve now added full rigid body support as a new core part of Notch. We’ve developed an entirely new, custom solution ourselves which runs entirely on GPU. This means rigid bodies can interact with everything else in Notch which also runs on GPU: for example you can turn clones into rigid bodies instantly just by adding a single node, and they can collide off a procedural with another node. Any 3D object or primitive can now be a rigid body.
There’s a load of new samples demonstrating physics in the 0.9.21 installer.
Notch Builder 64-bit
0.9.21 sees the first release of Notch Builder in 64-bit. Up to now Builder was 32-bit only, meaning that there was a limit of 3 GB of memory available to projects — not enough for large or complicated scenes. 64-bit removes that limitation.
Note: 64-bit is actually such a big deal that we’ve written a separate blog post about it.
Notch’s engine has been available as 64 bit since the beginning and we had a 64 bit version of Builder internally for a while so this wasn’t a huge leap in practice. But we held off in releasing Builder in 64-bit for one major reason: Quicktime. Apple only ever released a 32-bit version and some users rely on video codecs only available via Quicktime, so this was considered a problem.
We’ve been able to retain support for Quicktime exports even in 64-bit via some clever engineering. As for Quicktime imports: if you still need legacy codecs, we’ve kept releasing Builder 32-bit too. And you can always transcode..
Builder is available as separate installer downloads for 32-bit and 64-bit on the website. We also added Standalone exe support in 64-bit too to bring it in line with Builder.
NotchLC — our new video codec
With the loss of Quicktime codecs, we looked at the options available. We wanted to advise users on a video codec that would be high quality, perceptually almost lossless, to transcode their legacy codec videos to, that would play back efficiently inside the 64 bit version of Notch Builder. We looked, and we didn’t find one. Most of the quality codecs in common use are CPU only and quite slow to play back at high resolutions. Others such as HAP suffer considerable quality degradation, making them unsuitable as a transcode target in many situations. Nothing on the market really satisfied our needs. So we made our own.
NotchLC is designed from the ground up to be a high quality video codec that is encoded and decoded in GPU compute. This means the export and playback performance is immense. NotchLC is by far the fastest codec to render out of Notch, and offers considerably better, and adjustable, quality than e.g. HAP/HAPQ. You can render to NotchLC by selecting it in the Quicktime GPU codecs list.
We also added presets support to the video export dialog.
As you may have seen this demoed at a tradeshow or online already: using machine learning / AI, Notch is now able to find and track faces from any 2D video / camera feed. The result is a 2D mesh of 68 vertices, for the various key control points on the face.
There are all kinds of creative uses for face tracking. You can do the kind of thing you see in SnapChat — sticking pictures of glasses and noses on videos — but on a live show scale; or you can use the face tracker to deform a piece of geometry; or use facial gestures — such as opening and closing eyes — to control effects; or simply use the shape of the face as a mask for effects. There’s a huge range of creative uses for this; see a few of our ideas in the samples package.
Face tracking requires a pre-trained database, which we provide in the samples package.
Alembic is a 3D scene file format where all the animations are baked to vertex caches. This makes it very reliable for moving animated 3D scenes between software: they don’t rely on complex support on the engine side.
We’ve added Alembic support in 0.9.21 to make it easier than ever to get complex animated geometry into Notch. The files can be pretty huge though — so it’s a good thing we have a 64 bit version now!
Alembic exporters are available for virtually every major 3D package. There are a couple of flavours of Alembic export: HDF5 and Ogawa. Always select Ogawa if presented with the option: it’s more efficient, and HDF5 Alembic files cannot be embedded in DFXs.
Lighting & Point Caches
We’ve been working on improvements to our lighting engine, particularly in regards to improved support for bounce lighting, sky lights and reflections.
One major addition in 0.9.21 is the “Point Cache”: this node spreads points over all the geometry in the scene and can accurately render direct scene lighting to those points too. Once the cache is generated it can be used with Voxel Cone Lighting to give you a diffuse bounce and/or glossy reflections; we’ve improved the resolution of Voxel Cone too. You can also use Point Caches to accelerate HDR dome lighting with the Sky Light node; and to generate indirect light probes for fast bounce lighting on dynamic objects.
Have a look at our HDR Lighting sample to see the new features in action.
There’s a huge number of small improvements in this release. Here’s a few that might make the difference to your workflow:
Artnet Recording: There’s an option in the Devices menu to record the incoming Artnet data stream to a file, which can be loaded back into Notch and dropped onto the timeline using the Artnet Recording Playback node. Capture the data in rehearsals, use it offline to tune your content!
Straight Alpha rendering: Previously Notch always rendered out “premultiplied alpha”, both as video and when in a block in a media server. For some use cases — such as compositing in After Effects — “straight alpha” would be much more useful. We now support that: just uncheck “Output Premultiplied Alpha” on the Root node.
Optimising scenes: With real-time scenes getting ever larger and more complex and using more and more memory, it’s important to optimise them before delivery if they’re due to run in real-time. We now display much more information about the amount of memory used by textures, and we now support optimisation in place for textures: just right click on the image file in the Resource Browser, select the “<Filename> Options” submenu and use one of the “Convert to .. “ options. DXT1 is great for RGB textures, DXT5 for alpha textures and BC4 for single channel greyscale images.
Fields have had a bit of an overhaul. The Field Root node now has options to upsample the densities — so the density runs at 2x the resolution of the velocities. This can be a great way to improve the visual quality of the field without impacting performance so heavily, particularly when fluid dynamics is used. There are options for storing densities only to save memory, or densities + temperatures for smoke simulations, instead of the colour channel. Use those options with the Field Shadows node to have full control over the colours.
Again after numerous user requests, we can now load and utilize CSV files. CSV As Text and CSV Modifier both read entries from CSV files for use as values or text strings. CSV Transform Array allows a CSV file to be turned into transforms, in a highly flexible manner; use the Clone to Transform Array to turn them into clones.
That’s just a few of the many, many new features and improvements in Notch 0.9.21. We recommend you take a look at the full changelog (be sure to sit down with a nice beverage because that list is long!) and as always: let us know if you encounter any issues.