Those animations look amazing!! Great job!
Very cool review of the making of Spellbreak. Would be even more cool to see some videos inside UE4 showing how they do a few very specific things unique to them.
This was so helpful for me. I'm hoping to adapt your tutorial to pull off something similar comparing modern satellite imagery with historical maps. No topo, so my steps should be simpler, but I'm a novice with Blender and you've really helped. Thanks!
Unity Technologies has just announced the release of the newest version of their popular game engine. The biggest change is in the name. Unity 2017.1 starts a new cycle of products, which will be named after years, instead of versions.
The new engine is available to all users with an active subscription plan (Personal, Plus and Pro). But if you have bought Unity 5 perpetual license(s), Unity 5.6 was the last update in the 5.x cycle. Personal license is still free, so no worries.
What about the software? Let’s look at the major additions, which are interesting to the artistic crowd and gamedev people.
Artists & Designers: Brand new tools for storytelling and in-game sequences
Unity 2017.1 introduces new ways artists & designers can create stunning cinematic content, compose artistic camera shots and tell better visual stories with the Timeline, Cinemachine and Post-processing tools.
The ‘Timeline’ is a powerful new visual tool that allows you to create cinematic content (like the Adam short film). You can use it to create cutscenes, create gameplay sequences, and much more, by orchestrating your game objects, animations, sounds and scenes. With Timeline, you can focus on storytelling and cinematics, not coding.
Timeline’s track-based sequencing tool applies a “drag and drop” approach to choreographing animations, sounds, events, videos, and more, for faster creation of beautiful cutscenes and procedural content. Timeline has features for animation and audio, auto-keying and a multi-track interface with the ability to lock and mute tracks. Timeline is extensible via the Playable API and offers you the ability to create your own tracks to drive whatever systems you have in your game. You can make a Timeline clip to represent practically anything–and have those clips repeat, scale and blend together, making the most of the Timeline interface.
Cinemachine is the result of over a decade of building gameplay and cinematic cameras. It now puts industry-leading camera behaviors in everyone’s hands, and ushers in the era of procedural cinematography.
It’s a suite of smart cameras that dynamically trigger the best shots at the best time based on scene composition and interaction. This eliminates countless hours of hand animation, camera programming, and revision.
The Cinemachine feature is available via the Asset Store, add it to your project now.
From a first-person shooter to a third-person action adventure, you can revolutionize your in-game cameras with Cinemachine. You can easily:
- Control sequences like a movie director with advanced camera tools, including real-world camera settings.
- Compose shots with a focus on art direction, not implementation details. Give Cinemachine smart cameras simple directions, like following the head of the character, and if the animation changes, your shot will update automatically and continue to work correctly.
With Unity 2017.1, we’ve added many new capabilities to Cinemachine like:
- Target multiple objects: Target multiple objects and set the weighting between them. It creates a logical group, based on any number of subjects, that positions itself according to the position of its members. It can be used as a LookAt and Follow target when tracking a group of objects. Great for 2D as well.
- Dynamically frame multiple objects: This will dynamically auto-frame a group of targets based on their positions. If the objects move apart, Cinemachine will adjust the FOV or dolly (or both) depending on a set of rules you create.
- New completely open API: Easily custom-configure Cinemachine to get exactly the camera behavior your project needs.
- Dolly track: Create film-like dolly track footage and have your camera smoothly move through your worlds. Ideal for cinematic sequences or game cameras where you want the camera to follow the subject down a set of rails.
- Clear shot: Clear shot will dynamically choose the best camera based on shot priority and how good the shot is. Did something move into frame wrecking the shot? No problem, Cinemachine will cut to the next best camera. Incredible for replays or any other cinematic sequence of a variable scenario.
- State-driven camera: This allows for code-free linking of cameras and animation states. Easily trigger different camera behaviors from animations.
You can take your storytelling to the next level by combining Timeline and Cinemachine together. Go further still by using the post-processing stack to create effects, and add mood and drama to your scenes.
Improved Post-processing stack (beta)
Post-processing applies full-screen filters and effects to a camera’s image buffer before it is displayed to screen. You can use image post-processing effects to simulate physical camera and film properties.
The latest version of the post-processing stack is available in beta here. Final release is expected this summer.
(Note: previous stable version of the stack is available in the Asset Store)
The improved stack combines a complete über set of image effects into a single post-process pipeline, and comes with a set of high-quality camera effects:
|Screen-space anti-aliasing||Auto Exposure||Motion Blur|
|Bokeh Depth of Field||Bloom||Color Grading|
|Chromatic Aberration||Film Grain||Vignette|
You can combine many effects into a single pass, and a preset asset-based configuration system makes management easy.
The color grading effect is a full-HDR color pipeline with Academy Color Encoding System (ACES) support, and an LDR pipeline is also available for low-end platforms. The stack features two screen-space lighting effects, ambient occlusion, and screen-space reflections.
This new version also offers a volume-based blending feature, so you can define areas (any kind of mesh) in the scene and set up specific moods/looks for the scene when the player enters them. Unity will automatically blend between volumes to allow for smooth look transitions.
In Unity 5.6, we released major improvements to tools and workflows for 2D game creators.
In Unity 2017.1 we are introducing 2D Sprite Atlas, a new asset that will supplant the Sprite Packer. With it comes new and improved workflows that give you more control for packing sprites and using them at runtime. Atlases are an important part of 2D workflows in Unity, and the Sprite Atlas provides simpler atlas creation and management as well as a scripting API for more control and versatility.
Sprite Masks are used to either hide or reveal parts of a Sprite or group of Sprites in world space. The Sprite Mask only affects objects using the Sprite Renderer Component as well as Particle Systems.
In 2017.1, we are also adding a Sprite Physics Shape to the Sprite Editor. This allows you to set a custom default shape on a Sprite for generating collider shapes with a PolygonCollider2D.
We have overhauled the Animation windows to improve the keyframing workflow, make animating feel more comfortable and familiar, and allow interaction with animator state-machines. Performance Recording is provided as an experimental feature.
The new keyframing workflow lets you explicitly decide what is keyed when, and have all unkeyed modified property values discarded when the animation is re-evaluated/previewed. We have changed the default behavior of editing clips in the animation window (new default Preview mode), visual feedback and global keying hotkeys. The goal of these changes is to enable a smooth workflow for keyframing outside of the animation window, as well as letting you preview clips without having to be in an autokey/rec mode.
Statemachinebehaviour can now also be debugged in play mode in the editor.
We are also introducing GameObjectRecorder, a new experimental editor feature, which allows you to record any properties on a GameObject and its children. That way, you can easily create animations by saving everything that’s been recorded into an animation clip. Feedback is welcome on the forum thread.
Model importer improvements
FBX import in Unity now supports Segment Scale compensation for models exported from Maya and the FBX SDK has been upgraded to 2016.1.2.
We also added the option of computing weighted normals when importing FBX files such as by area, angle or both and fixed normal generation for hard edges. Lights and cameras are now imported from FBX files and Unity automatically adds and configures both Camera and/or Light components to objects as necessary.
Unity can now read visibility properties from FBX files with the “Import Visibility” property. Values and animation curves will enable or disable MeshRenderer components:
Progressive Lightmapper improvements
In 2017.1, we added support for baked LODs in the Progressive Lightmapper. The major difference between Enlighten and the Progressive Lightmapper when baking LODs is that with the Progressive Lightmapper, it is not necessary to author Light Probes around the LODs to get bounced light on them. Having the indirect lighting at full baked resolution will lead to much better quality baked Lightmaps for LODs, and you can avoid the tedious process of setting up the Lightprobes for them. (This will also be available in 5.6.)
We also added support for double-sided materials in the Progressive Lightmapper by adding a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces. (This will also be available in 5.6).
Real-time shadow improvements
We have optimised the culling of shadows casters for cascaded directional light in stable mode. Meaning fewer draw calls are issued to generate shadow maps. The gain is scene and configuration-dependent. With four cascades, for example, we have seen the number of draw calls dropped by a significant amount. Based on the sun/camera direction, there could be 50% less shadow casters on your scene. An example in Viking village:
In Unity 5.6, there are 5718 shadows casters in the scene.
In Unity 2017.1, there are only 4807 shadows casters in the same scene.
Percentage Closer Filtering (PCF) for real-time shadows is also implemented in 2017.1. Depth value for each pixel is sampled from the shadow map around the current pixel and its depth is compared to all the samples. This allows a smoother line between light and shadow. You can see the comparison in the gif below:
In addition to real-time shadow improvements, shadowmask and distance shadowmask light modes are now a Quality Setting, and they can be changed at runtime without any cost. For instance, it is possible to use shadowmask for indoors (e.g. to achieve soft shadows) and switch to distance shadowmask for outdoor within the same level. It can also be used as a quality setting.
We also added the Custom Render Textures as an extension to Render Textures, which allows you to easily update said texture with a shader. This is useful to implement all kinds of complex simulations like caustics, ripple simulation for rain effects, splattering liquids against a wall, etc. It also provides a scripting and Shader framework to help with more complicated configuration like partial or multi-pass updates, varying update frequency, etc.
With the addition of the LineUtility class and LineRenderer.Simplify function, you can now optimize your lines and curves by using the LineUtility to create a simplified version with a similar shape.
Deferred Rendering on iOS with Metal/OpenGL ES 3
Particle System improvements
We are introducing sprite integration, particle collision forces (which can push colliders), a large number of shape improvements, including a new shape type, and additions to the noise module, as well as various other smaller features and enhancements. It is now easier to use Particles in 2D thanks to new controls and constraints such as align to velocity. You can use Particles for more effects and animations than ever, including lit lines and trails.
We have added support for using Sprites in the Particle System, via the Texture Sheet Animation Module. This allows for better atlasing and batching of Particle Systems, and also exposes a number of Sprite features for use in Particle Systems, such as varying sized animation frames, and per-frame pivot points.
- Your shaders using new Custom Vertex Streams (great for UV distortion!)
Other improvements include the ability to align particles to their velocity direction and to allow Emit over Distance to be used for Local Space systems. Edge emission is now more flexible, allowing you to choose the thickness of the edge used for generating particles.
Finally, particles can now apply forces to the Colliders they hit using the Collision module.