Skip to main content

Flipbook

Flipbook is a classic feature that allows images from a Texture Array to be played as an animation on the Material. This can be a way to play GIFs or a specific 2D animation that either animates in a loop or in a specified pattern.

Flipbooks use a Texture Array, which is a special type of file that consists of a multiple set of images that are sorted in a specified sequence. They can be created in Unity using ThryEditor TextureArray Utility.

caution

Texture Arrays can quickly add up to your VRAM consumption depending on the resolution and the amount of images used in your array! Please keep this in mind when creating your Texture Arrays.

Flipbook Controls Alpha

  • Type: Checkbox

Toggles whether the flipbook alpha should override the final alpha of the material. This allows the flipbook to be rendered on top of the material, even if the material is transparent.

Intensity Controls Alpha

  • Type: Checkbox

Toggles whether the alpha's intensity (determined by the max value of any of the color channels) should be used to determine the flipbook's blending alpha. This allows black to be used as a no-render color, allowing the flipbook to be rendered cleanly without using the "Add" blend mode.

Color Replaces Flipbook

  • Type: Checkbox

Determines if the flipbook's color should be replaced with the color from Color & Alpha, instead of being tinted.

Texture Array

  • Type: Texture Array (sRGB ON)

Flipbook texture array. This uses a Texture2DArray texture to store multiple flipbook frames.

Texture Arrays can be created from GIF files imported to unity, or a series of single frames. By right clicking the file (or files) to be made into a texture array and selecting Thry -> Gif 2 Texture Array or Thry -> Images 2 Texture Array, the texture array will be created. Make sure to take note of the "Slices" value, which is the number of frames in the array.

Note that Texture2DArrays can get very big very quickly - make sure your source image files are low resolution, such as 512x512 or lower.

Mask

  • Type: Data Texture (sRGB OFF)

Defines where on the UV the flipbook can be applied. Black indicates the flipbook can not be applied, while white indicates the flipbook can be applied. If this texture is not defined, the flipbook can apply everywhere.

Color & Alpha

  • Type: Color

Defines the color tint and alpha value (transparency) of the flipbook. This allows the flipbook to be tinted, or to blend only partially. Can generally be left at the default values.

Total Frames

  • Type: Integer

The total number of frames to be used in the flipbook. In almost all cases, this should be set to the number of frames in the texture array, which can be found by viewing the texture array in the inspector, expanding the preview, and looking at the "Slices" value at the bottom center.

FPS

  • Type: Float

How many frames per second the flipbook should play if "Manual Frame Control" is not enabled. This is used to determine how fast the flipbook should play. The default is 30 FPS.

Scale / Offset

  • Type: Vector4

Determines the Scale (size) and Offset (position) of the flipbook. The first two values are the scale (in X/Y) and the second two are the position (in X/Y). This allows placing the flipbook like a Decal.

Side Offset ←→↑↓

  • Type: Vector4

Side Offset allows stretching and squishing the flipbook in the X and Y directions. Each value can be positive or negative values, with positive values stretching the flipbook in that direction, and negative values squishing the flipbook in that direction.

The first two values the left and right offsets, and the second two are the top and bottom offsets.

Tiled

  • Type: Checkbox

Determines if the flipbook should be tiled. If this is enabled, the flipbook will tile across the selected UV.

Emission Strength

  • Type: Float, Range: 0.0 - 20.0

How much emission the flipbook should have. This stacks with whatever blending options are selected.

Rotation

  • Type: Float, Range: 0.0 - 360.0

How much to rotate the flipbook by, in degrees.

Rotation Speed

  • Type: Float

A constant roatation speed applied to the decal. A value of 180 will rotate the decal once per second, which is quite fast.

Blending

These options control how to blend the flipbook with the material. Generally, only one of these should be used at a time.

Replace

  • Type: Float, Range: 0.0 - 1.0

Replaces the base color with the flipbook. This is the default.

Multiply

  • Type: Float, Range: 0.0 - 1.0

Multiplies the base color and the flipbook. This generally darkens the color, with white not affecting the color, and black completely darkening the color.

Add

  • Type: Float, Range: 0.0 - 1.0

Adds the base color and the flipbook together. This generally brightens the color, with black not affecting the color, and white significantly brightening the color.

Manual Frame Control

  • Type: Checkbox

Determines whether the flipbook should be manually controlled. If this is enabled, the flipbook will not play automatically, and the frame must manually advance via animations. This is useful for dynamically controlling the speed of the flipbook, or using the flipbook to show specific frames.

Current Frame

  • Type: Float

Determines which frame to show. Only visible when "Manual Frame Control" is enabled.

Crossfade

  • Type: Checkbox

Enables or disables crossfading. This is used to smoothly transition between frames, which can be useful for reducing the number of frames needed in the flipbook.

Fade Range

  • Type: Float Range, Range: 0.0 - 1.0

Determines how much to crossfade the flipbook between frames. Defined by a start and stop value.

Hue Shift

  • Type: Checkbox

Enable or Disable the Hue Shifting functionality.

This toggle can be animated.

Shift Speed

  • Type: Float

How much to constantly shift the hue with time. A value of 1 will result in a full hue shift cycle every 20 seconds.

Hue Shift

  • Type: Float, Range: 0.0 - 1.0

How much to shift the base color around the hue circle.

This value is circular, and will have the same result at 0 and 1.

Scale

Scale Band

  • Type: Dropdown, Options: Bass/Low Mid/High Mid/Treble

Which band of the audio to use for the Audio Link Scale Mod.

Scale Mod

How much to modify (mod) the scale of the flipbook. These values are added to the current scale, and can be positive or negative.

  • Type: Vector4
ChannelFunction
XAmount Added to X Scale with no audio in Scale Band
YAmount Added to Y Scale with no audio in Scale Band
ZAmount Added to X Scale with max audio in Scale Band
WAmount Added to Y Scale with max audio in Scale Band

Alpha

Alpha Band

  • Type: Dropdown, Options: Bass/Low Mid/High Mid/Treble

Which band to use for the Audio Link Alpha adjustment.

Alpha Mod

  • Type: Vector2

How much to modify (mod) the alpha of the flipbook, in degrees.

ChannelFunction
XAmount Added to alpha with no audio in alpha Band
YAmount Added to alpha with max audio in alpha Band

Emission

Emission Band

  • Type: Dropdown, Options: Bass/Low Mid/High Mid/Treble

Which band to use for the Audio Link Emission adjustment.

Emission Mod

  • Type: Vector2

How much to modify (mod) the alpha of the flipbook.

ChannelFunction
XAmount Added to Emission with no audio in Emission Band
YAmount Added to Emission with max audio in Emission Band

Frame

Frame Band

  • Type: Dropdown, Options: Bass/Low Mid/High Mid/Treble

Which band to use for the frame adjustment.

Frame Control

How many frames to add. This is added to the current frame, and stacks with a constant FPS, or with Chronotensity frame control.

Chronotensity?

Chrono Band

  • Type: Dropdown, Options: Bass/Low Mid/High Mid/Treble

Which band to use for the chronotensity frame adjustment.

Chrono Type

  • Type: Dropdown, Options:
Chronotensity Options
  • Motion Increases as intensity of the band increases
  • Above but Smooth
  • Motion moves back and forth as a function of intensity
  • Above but Smoooth
  • Fixed Speed Increase when the band is dark Stationary when light
  • Above but Smooooth
  • Fixed Speed Increase when the band is dark Fixed speed decrease when light

Chrono Speed

  • Type: Float

How much chronotensity should affect the frame continuation of the decal. Good starting values are 5 - 30. Combines well with FPS being set to 0.