Stingray 1.6 Release Notes

Stingray 1.6 (1.6.1011.0) focuses on delivering great workflows between 3ds Max and Stingray, making it easy to send scenes from Max and produce stunning real-time renders with Stingray. With the new Render to Frames tool, you can now capture high quality videos of your interactive projects and share online.

Sections in this topic:

What's New


Better interop with 3ds Max

New level sync workflows let you automatically rebuild your 3ds Max scenes in Stingray. Once 3ds Max is linked to the Stingray editor, scene assets can be automatically or manually tagged, and then reproduced with the same layout in Stingray. Modifications you make to the assets in 3ds Max are then updated inside Stingray. This makes it easier to build, iterate, review and change scenes, without having to manually reproduce layouts in two tools. This workflow also brings more Vray material properties into the Stingray shader, ensuring your Vray materials look and feel the same in Stingray as they do in 3ds Max. See Level Sync with Maya, Maya LT, or 3ds Max.

Note: The project used in the images above is courtesy of Virtual Resolution.

Capture frames to disk

You can now capture the active camera or viewport and save frames to disk in the OpenEXR file format. The new Capture Frames tool also supports capturing frames on a test engine. For more information, see Capture Frames Tool.


Open SDK for engine plug-ins (alpha)

You can now write plug-ins for the Stingray engine in C without needing source code access! This greatly improves the ability for all customers to extend Stingray. You can hook the runtime engine in to other third-party libraries and middleware SDKs, support your own custom data types, write your own gameplay code in C, and more.

For details on getting started, see the Stingray SDK Help.

Improvements and additions for editor plug-ins

Procedural meshes in Lua

You can now use Lua to create new geometry on the fly as your project is running. You can create meshes, apply materials, and have the resulting objects be lit and shaded dynamically like any other object that you placed in the scene using the Stingray editor.

Here's the sample code for the scene above to get you started.

What's New in Rendering

Light baking improvements

The following Improvements to light baking and post-processing effects (SSAO, SSR) increase the lighting quality and performance of architectural visualization scenes:

VR Improvements

Ready to learn Stingray?

With Stingray 1.6, we aim to give you two things you need when learning anything new: more time, and some advice on where to start.

Hobbyists, enthusiasts, and early adopters can now run Stingray using a Non-Commercial startup license. If the 30-day trial period didn't give you enough time, check out the terms and conditions to see if you're eligible for the Non-Commercial license. Updated steps to install using this license are included in the Stingray Installation Supplement topic.

Note: The Non-Commercial license is not available in all countries.

In addition, if you're tired of searching for and watching tutorial videos, pop open the Stingray Help menu and select the brand new top-secret Stingray Hands-on Training Mission. We've added 5 quick, interactive tutorial lessons that take you through the Stingray basics, and get you well on your way to creating your own project. (Pssst - it's not really a secret. Let us know what you think!) We added a note about this in the Getting Started topic.


What else is new?

Conditional transitions in Animation Controller

The animation controller adds a new node, TransitionSwitch to control the flow of transitions at runtime by evaluating an expression. This expression is defined in the TransitionSwitch and can use Animation Controller variables and functions ("sin", "cos", "abs", etc.). Any transition incoming into a TransitionSwitch, called TransitionSwitchEntry, is triggered by an Anim Event, and one of the outgoing transitions, called TransitionSwitchExit, is taken depending on the outcome of the expression evaluated against the interval range values for this exit defined in the TransitionSwitch. See Animation controller states.

Cloth simulation improvements

When importing a cloth object, you do not need to manually add the APEX cloth definitions to the corresponding physics file. The cloth definitions are imported along with the object and you can now add the cloth resources to the object in the Unit Editor. See Enable APEX Cloth.

Flow support for entities

You can now use Flow to control entities:

Stingray file extension

Stingray projects now use the unique file extension .stingray_project, making it easy to find and open projects. Double-click the .stingray_project file to open the project in the Editor. Updated Help topics include: Open an existing project and About the project structure.

Removed restrictions on periods in file and folder names

In previous versions of Stingray, the . character had a special meanings when used in the names of resources and folders -- to denote resource variants. This meant that you weren't free to name your files and folders the way you wanted, and it could sometimes cause problems when importing source art files with periods in their names. All of these restrictions have been lifted; you are now free to use periods in resource names as much as you want.

Simplified texture import

Stingray includes new texture categories and templates such as Normal, Linear Greyscale, Albedo, Albedo Opacity and Roughness/Metallic/AO to help you categorize textures and apply texture settings. The newly added texture templates in the Texture Manager come with default compression settings to work on each supported platform. The textures imported in your project are now assigned the default compression settings. See Import a model with textures and materials.

Occluder boxes

You can use occluder boxes from the Create menu to occlude objects and gain performance improvements by avoiding rendering shadows and objects that give no visual impact to your final rendered frame. For more information, see Create occluder boxes.

Download new plug-ins

Download new Stingray plug-ins and update existing ones using the Get more plugins selection in the Plugin Manager. Select any of the available plugins and click Install to download it. See Add and remove plug-ins using the Plugin Manager.

Switch between DX11 and DX12 when rendering

Source customers can now toggle between DX11 and DX12 as the viewport renderer in the Editor (Edit > Engine > Renderer). Note that this option is available only if you compile the engine with --use-d3d12 flag, provided your engine supports DX12. See Switch between DX11 and DX12.

FBX Version 2017.1

This release of Stingray picks up the latest version of FBX (2017.1), which provides various security improvements.

Protect dev-only Lua functions

Some functions in the Lua API are intended for use only during development, but not in your final release. For example, this is true for anything relating to debugging, using console connections with the editor, autoloading resources, performance monitoring, etc. Since these functions aren't available in the release build, trying to call one of them from your gameplay code crashes the engine.

To avoid the possibility of letting any calls to these functions slip through the cracks when you release your game, you can now ask the development build of the engine to print a warning whenever one of these functions is called.

Use the stingray.Application.toggle_dev_only_warnings() function to turn these warnings on and off. Then, before you release, check that you're not seeing any of these warnings turn up in your logs.

Experimental features

Projects launch faster in a browser

Stingray now runs projects more quickly in a web browser using WebGL. The launching process has been updated to load the content from a URL instead of packaging the compiled data to a separate folder and reading the data. The URL also displays the location of the content folder.

Return to top

What's Fixed

Animation

Asset Browser

Entities

Flow

General

Interop

Lua

Particles

Platform-specific

Rendering and VR

Script Editor

Return to top

Known Limitations


This section lists known limitations and workarounds for Stingray.

Unless otherwise noted in the What's Fixed section, please be aware that this release contains the same Known Limitations described in the previous versions of Stingray Release Notes.

Return to top

Upgrade Requirements


The full installation guide for Autodesk products including Stingray is included in the Stingray online help, here.

This section explains the improvements and fixes that require specific upgrade steps for users currently using a previous version of Stingray.

Lua API changes

For a complete list of all new, modified, and removed elements in the Lua API in this release, see the version history.

If your project contains any API elements that have been modified or removed, you will need to adjust your code accordingly.

Flow node changes

For a complete list of all new, modified, and removed Flow nodes in this release, see the version history.

Forward axis settings

To preserve the forward direction in imported assets, set the forward axis setting (reverse_forward_axis) in .stingray_project instead of settings.ini. See Best practices: preserving axis orientation.

In projects that you migrate from earlier versions of Stingray, the forward axis setting is still read from settings.ini.

Localized resources and resource variants

If you have an existing project that uses the old Stingray resource property system to denote different variants of your resources, you may need to do some additional customization in your .stingray_project file. The engine no longer automatically recognizes resources as being variants based on the . character in their resource names. Now, a new data_compiler setting in the .stingray_project file tells the data compiler exactly which suffixes it should treat as property names. This applies both for platform property names (like .ps4 or .ios) and for language and content property names (like .en, .ja or .lowres). This gives you even more control over the property system, and eliminates restrictions on using periods in file and folder names.

To set up the compiler so that resource suffixes work the same way they did previously for platforms, you'll need to make sure that your .stingray_project file contains a data_compiler block like the ones you'll find in the latest project templates:

data_compiler = {
    file_folder_extensions = [
        ".s2d"
    ]
    resource_overrides = [
        {
            platforms = [
                "win32"
            ]
            suffix = ".win32"
        }
        {
            platforms = [
                "ps4"
            ]
            suffix = ".ps4"
        }
        {
            platforms = [
                "xb1"
            ]
            suffix = ".xb1"
        }
        {
            platforms = [
                "ios"
            ]
            suffix = ".ios"
        }
        {
            platforms = [
                "android"
            ]
            suffix = ".android"
        }
    ]
}

If you also use different versions of your resources for different languages, you'll have to also include your language suffixes:

data_compiler = {
    resource_overrides = [
        {suffix = ".ja", flags = ["ja"]}
        {suffix = ".fr", flags = ["fr"]}
    ]
}

You'll also have to change the way that you identify which of these language flags should be active, by calling the new stingray.Application.set_resource_override(flag_name, priority) function.

For complete details, see Localizing resources.

Advance notice: moving to Visual Studio 2015

This is planned to be the last release of Stingray to support Visual Studio 2012 for rebuilding all components from source code. The develop branch has already moved to Visual Studio 2015.

Return to top