đšī¸Demo App
An interactive example showcasing all Timeflow animation features
Last updated
An interactive example showcasing all Timeflow animation features
Last updated
This is an all-in-one example demonstrating how Timeflow can be used for both choreographed and interactive animations. The full source is included with the Timeflow examples and can be run in the editor or built to any platform for testing.
Click the link below to view a WebGL build of this demo. However, please note that audio reactive behaviors do not work in the web player due to API limitations.
https://axongenesis.com/timeflowdemo/
See the Download Builds section below to download app binaries, or watch the video above for a screen capture of the full app.
The app is structured using scenes loaded and unloaded asynchronously at runtime by the DemoAppMain.cs controller script. Before the app can be played in Unity, the required scenes must first be added to the Build Settings scenes list in the order shown below.
Previous versions of Timeflow required adding the scripting define symbols USING_URP or USING_HDRP, however these are no longer needed in Timeflow v1.1 or later and may be removed since the pipeline in use is automatically detected by the assembly definition.
The examples are provided in both URP and HDRP. To select one, please locate and import the package included in Assets/AxonGenesis/Timeflow/Examples.
If you wish to use the pipeline settings provided in the examples, locate the Examples/Settings directory and assign the pipeline assets in Project Settings > Quality, and Graphics.
Once the scenes have been added above, the app can be played in the Unity Editor by opening the scene DemoAppMain and pressing play. Once the intro animation finishes, or you skip the intro, it loads the next scene App01_Home, which displays the main interface.
At runtime, the AppMain controller is set to DontDestroyOnLoad so that it remains persistent throughout the app and is accessed by the scene controllers as a singleton instance.
Each of the additional scenes demonstrates examples of specific Timeflow features and are only loaded when the 'LOAD DEMO' button is pressed while the app is playing. In the Unity editor you may also open and play each of the scenes individually. The animation in each can also be previewed by playing Timeflow without having to enter into play mode in the editor.
In some scenes, markers are used to split the scene into separate sections to highlight additional features. This also demonstrates one way in which markers and the work area may be used for interactively controlling Timeflow playback.
The demo has 3 quality settings (Low, Medium, and High) which the app sets dynamically in the editor and during runtime by tapping the quality display in the upper right of the home screen (next to ABOUT). Performance and frame rate depends on the graphics capabilities of the device run on.
The Timeflow examples includes URP render assets for each of the quality settings, as shown below. To work properly with the app, they must be configured in the order displayed with Low, Medium, and High.
The AppMain controller includes logic to set the default quality on first run, and then stores that value for subsequent runs using PlayerPrefs, which the player may change. The default setting can be set in the inspector on the AppMain object by selecting the Quality Mode.
Medium is recommended for the default Quality Mode but can be changed if desired to suit your target device. It may need to be set to Low quality for smooth playback on some devices. This primarily has to do with post processing effects, texture and shadow resolution, and antialiasing settings.
The app is designed to run on any platform in landscape mode, ideally 16:9. It has been built and tested on Android, iOS, WebGL, and standalone Mac and Windows. You may build the demo in Unity, or alternatively download one of the following example binaries.
Please note that an iOS build is not provided presently due to complexities with provisioning profiles, however the live web demo can be viewed on an iOS device and provides a similar experience and demonstrates performance on the device.
It is beyond the scope of this documentation to explain all the steps and settings required to build and deploy on each platform, however the Player Settings can be downloaded here or you may create your own.
The sample code for the app is provided as a demo only and is not intended to be used for production. This is merely an example to show what's possible using Timeflow and to provide a quick start to test the features on various platforms. For any developers interested, all source code has been included.
No Audio Reactive Support on WebGL
Please note that audio features vary by platform depending on the audio capabilities of the device. When building for WebGL, audio processing is not available so the related audio reactive features do not work. Audio playback and synchronization can be used in the web player, as well as midi files.
No Audio?
On some devices (such as iOS) the audio output may be muted automatically upon start, in which case tapping the screen once should re-enable the audio.
Control Input
All input is based on Unity's built-in UI system. This demo does not provide any custom scripts for handling input from game controllers other than the mouse and keyboard and touch screens. If you wish to run this demo on a platform that uses game controllers, additional setup may be required and is not included in this example.