UE4 runtime module for the Chroma SDK
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Config
Content Simplified blueprints Oct 8, 2018
Plugins/ChromaSDKPlugin
Saved/Config
Source Put class name first Oct 8, 2018
UnrealEngineVersionChanger
images
.gitignore
Engine_Switch_4_10.cmd
Engine_Switch_4_11.cmd
Engine_Switch_4_12.cmd
Engine_Switch_4_13.cmd
Engine_Switch_4_14.cmd
Engine_Switch_4_15.cmd
Engine_Switch_4_16.cmd
Engine_Switch_4_17.cmd
Engine_Switch_4_18.cmd
Engine_Switch_4_19.cmd
Engine_Switch_4_20.cmd
Engine_Switch_4_5.cmd
Engine_Switch_4_6.cmd
Engine_Switch_4_7.cmd
Engine_Switch_4_8.cmd
Engine_Switch_4_9.cmd
LICENSE
OpenPluginBinaries.cmd
Package_Source.cmd
README.md
SwitchEngineVersion.cmd Fixed uproject reference Apr 25, 2018
UE4ChromaSDKRT.uproject Plugin compiles Feb 24, 2018
UE4ChromaSDKRT_4_10.uproject
UE4ChromaSDKRT_4_11.uproject
UE4ChromaSDKRT_4_12.uproject
UE4ChromaSDKRT_4_13.uproject
UE4ChromaSDKRT_4_14.uproject
UE4ChromaSDKRT_4_15.uproject Added version changing scripts Apr 25, 2018
UE4ChromaSDKRT_4_16.uproject
UE4ChromaSDKRT_4_17.uproject
UE4ChromaSDKRT_4_18.uproject
UE4ChromaSDKRT_4_19.uproject
UE4ChromaSDKRT_4_20.uproject
UE4ChromaSDKRT_4_5.uproject
UE4ChromaSDKRT_4_6.uproject
UE4ChromaSDKRT_4_7.uproject
UE4ChromaSDKRT_4_8.uproject
UE4ChromaSDKRT_4_9.uproject Added version changing scripts Apr 25, 2018
clean_intermediate_files.cmd
empty.zip

README.md

Table of contents

See Also

Apps:

Plugins:

Overview

UE4ChromaSDKRT provides a runtime module for using the ChromaSDK (requires UE 4.5.1 or better). The runtime module provides a blueprint library and C++ methods for playing Chroma animations. See the Chroma Guide for details on how to make visually interesting Chroma animations using the plugin API.

Tutorials

Chroma Design Guide

UE4ChromaSDKRT Plugin Setup for your specific version of UE4.

UE4ChromaSDKRT Overview

Simplify UI Blueprints

Supported versions

The following UE4 versions are supported:

4.5
4.6
4.7
4.8
4.9
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20

4.10 and 4.11 requires Visual Studio 2015 Update 2 Update 3 has a problem treating warnings as errors

The plugin's Release Page has source for each UE4 engine version.

Dependencies

UE 4.5.1

UE 4.5.1 requires Visual Studio 2013

image_1

Plugin Structure

Plugins/
Plugins/ChromaSDKPlugin/ChromaSDKPlugin.uplugin
Plugins/ChromaSDKPlugin/Resources
Plugins/ChromaSDKPlugin/Resources/Icon128.png
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/ChromaSDKPlugin.Build.cs
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/Animation1D.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/Animation2D.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/AnimationBase.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaSDKPlugin.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaSDKPluginAnimation1DObject.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaSDKPluginAnimation2DObject.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaSDKPluginBPLibrary.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaSDKPluginPrivatePCH.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaSDKPluginTypes.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/ChromaThread.cpp
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/Animation1D.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/Animation2D.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/AnimationBase.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/ChromaSDKPluginAnimation1DObject.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/ChromaSDKPluginAnimation2DObject.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/ChromaSDKPluginBPLibrary.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/ChromaSDKPluginTypes.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/ChromaThread.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/IChromaSDKPlugin.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/RzChromaSDKDefines.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/RzChromaSDKTypes.h
Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/RzErrors.h

Plugin appears in Window->Plugins

image_1

Samples

Animation Sample

  • The animation sample showcases invoking the ChromaSDK Blueprint Library from the C++ Sample BP Library.

image_3

  • Event BeginPlay invokes the setup for UI and buttons, and finishes invoking the SampleStart BP function.

image_4

  • Event EndPlay ends the application by invoking the SampleEnd BP function.

image_5

  • The SetupUI custom event loads the sample BP Widget and adds the stored widget var to the viewport.

image_6

  • The AnimationWidget_BP UI Widget defines the all the button variable names.

image_8

  • The SetupButtons custom event manually uses the Widget variable to add a click handler for each UI Widget button accessor which invokes the corresponding BP sample function.

image_7

  • The animation sample Chroma files are found in the project's content folder. There's a set of Blank, Fire, and Random Chroma animation files. After building the Windows standalone application, the Chroma files should be copied to the compiled application content folder.

API

UE4ChromaSDKRT is a Blueprint API library with more methods than the older UE4ChromaSDK Blueprint library with some exceptions to be compatible with earlier versions of UE4.


CopyKeyColorName

Copy color from a source animation to a target animation for a key

void UChromaSDKPluginBPLibrary::CopyKeyColorName(const FString& sourceAnimationName,
  const FString& targetAnimationName,
  const int frameIndex, EChromaSDKKeyboardKey::Type key)

CopyKeysColorName

Copy color from a source animation to a target animation for a set of keys

void UChromaSDKPluginBPLibrary::CopyKeysColorName(const FString& sourceAnimationName,
  const FString& targetAnimationName,
  const int frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys)

CopyKeysColorAllFramesName

Copy color from a source animation to a target animation for a set of keys for all frames

void UChromaSDKPluginBPLibrary::CopyKeysColorAllFramesName(const FString& sourceAnimationName,
  const FString& targetAnimationName,
  const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys)

CopyAllKeysAllFramesName

Copy colors from a source animation to a target animation for all keys and all frames

void UChromaSDKPluginBPLibrary::CopyAllKeysAllFramesName(const FString& sourceAnimationName,
  const FString& targetAnimationName)

CopyNonZeroAllKeysAllFramesName

Copy nonzero colors from a source animation to a target animation for all keys and all frames

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesName(const FString& sourceAnimationName,
  const FString& targetAnimationName)

CopyNonZeroKeyColorName

Copy nonzero color from a source animation to a target animation for a key

void UChromaSDKPluginBPLibrary::CopyNonZeroKeyColorName(const FString& sourceAnimationName,
  const FString& targetAnimationName,
  const int frameIndex, EChromaSDKKeyboardKey::Type key)

CopyNonZeroKeysColorName

Copy nonzero color from a source animation to a target animation for a set of keys

void UChromaSDKPluginBPLibrary::CopyNonZeroKeysColorName(const FString& sourceAnimationName,
  const FString& targetAnimationName,
  const int frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys)

CopyNonZeroKeysColorAllFramesName

Copy nonzero color from a source animation to a target animation for a set of keys for all frames

void UChromaSDKPluginBPLibrary::CopyNonZeroKeysColorAllFramesName(const FString& sourceAnimationName,
  const FString& targetAnimationName,
  const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys)

GetKeyColorName

Get the color from the animation frame's key

FLinearColor UChromaSDKPluginBPLibrary::GetKeyColorName(const FString& animationName,
  const int frameIndex, EChromaSDKKeyboardKey::Type key)

FillColorName

Set the RGB value for all colors in the specified frame

void UChromaSDKPluginBPLibrary::FillColorName(const FString& animationName,
  int frameId, int red, int green, int blue)

FillColorAllFramesName

Set the RGB value for all colors for all frames

void UChromaSDKPluginBPLibrary::FillColorAllFramesName(const FString& animationName,
  int red, int green, int blue)

FillNonZeroColorName

Set the RGB value for all colors in the specified frame if the destination color is not black

void UChromaSDKPluginBPLibrary::FillNonZeroColorName(const FString& animationName,
  int frameId, int red, int green, int blue)

FillNonZeroColorAllFramesName

Set the RGB value for all colors for all frames if the destination color is not black

void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesName(const FString& animationName,
  int red, int green, int blue)

MultiplyIntensityName

Multiply all the colors in the frame by the intensity value

void UChromaSDKPluginBPLibrary::MultiplyIntensityName(const FString& animationName,
  int frameId, float intensity)

MultiplyIntensityAllFramesName

Multiply all the colors for all frames by the intensity value

void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesName(const FString& animationName,
  float intensity)

OffsetColorsName

Offset all colors in the frame using the RGB offset

void UChromaSDKPluginBPLibrary::OffsetColorsName(const FString& animationName,
  int frameId, int red, int green, int blue)

OffsetColorsAllFramesName

Offset all colors for all frames using the RGB offset

void UChromaSDKPluginBPLibrary::OffsetColorsAllFramesName(const FString& animationName,
  int red, int green, int blue)

OffsetNonZeroColorsName

Offset all colors in the frame using the RGB offset if the destination color is not black

void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsName(const FString& animationName,
  int frameId, int red, int green, int blue)

OffsetNonZeroColorsAllFramesName

Offset all colors for all frames using the RGB offset if the destination color is not black

void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsAllFramesName(const FString& animationName,
  int red, int green, int blue)

SetKeyColorName

Set the animation frame's key to the supplied color

void UChromaSDKPluginBPLibrary::SetKeyColorName(const FString& animationName,
    const int frameIndex, const EChromaSDKKeyboardKey& key, const FLinearColor& color);

SetKeysColorName

Set the animation frame to the supplied color for a set of keys

void UChromaSDKPluginBPLibrary::SetKeysColorName(const FString& animationName,
    const int frameIndex, const TArray<EChromaSDKKeyboardKey>& keys, const FLinearColor& color);

SetKeyColorAllFramesName

Set the key to the supplied color for all animation frames

void UChromaSDKPluginBPLibrary::SetKeyColorAllFramesName(const FString& animationName,
    const EChromaSDKKeyboardKey& key, const FLinearColor& color);

SetKeysColorAllFramesName

Set the keys to the supplied color for all animation frames

void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesName(const FString& animationName,
    const TArray<EChromaSDKKeyboardKey>& keys, const FLinearColor& color);

SetKeyNonZeroColorName

Set the animation frame's key to the supplied color if the key is not already black

void UChromaSDKPluginBPLibrary::SetKeyNonZeroColorName(const FString& animationName,
  const int frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam)

SetKeysNonZeroColorName

Set the animation frame to the supplied color for a set of keys if the key is not already black

void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorName(const FString& animationName,
  const int frameIndex,
  const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys,
  const FLinearColor& colorParam)

SetKeysNonZeroColorAllFramesName

Set the keys to the supplied color for all animation frames if the key is not already black

void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorAllFramesName(const FString& animationName,
  const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor& colorParam)