Dragonblaze is a tool to use RGB led strips in your stop motion projects. It is a proxy that controls a Pixelblaze using DMX and frame position information from Dragonframe.
You can create animations in Pixelblaze. You can use lightning channels in Dragonframe which are mapped to variables on the Pixelblaze side. This lets you create animated lightning effects that look fluid when shot in stop motion:
Dragonblaze sets the brightness and some variables based on the state of Dragonframe.
Lighthing channel 1 in Dragonframe is used to set the global Pixelblaze brightness.
Lighthing 2 and up are mapped to the channel_2
and up variables.
The variable position
is filled with the current frame number.
Some example Pixelblaze code:
export var position = 0
export var framesPerSecond = 12
export var useStopmotionTime = false
function stopmotionTime(interval) {
if (useStopmotionTime) {
return mod(position / framesPerSecond / 65.536 / interval , 1)
} else {
return time(interval)
}
}
export function beforeRender(delta) {
t1 = stopmotionTime(0.1)
}
export function render(index) {
h = t1 + index / pixelCount
s = 1
v = 1
hsv(h, s, v)
}
There are some setup steps required to run this. We hope to make this easier to get done in the future.
Dragonblaze is written in Rust. Currently you need to install Rust. Checkout this project. Then run the following command in the terminal to install:
cargo build --release
Setup your Pixelblaze and fetch its IP address. You can then start dragonblaze in the terminal:
target/release/dragonblaze <ip>
It will log what it is doing and if the connection is successful.
On the Dragonframe end you have to setup a script and Artnet connnection.
Open Dragonframe preferences. Then go to Advanced. Check "Enable action script". In the input below put <project location>/target/release/dragonframe
.
Open your scene. Then open Scene > Connections. Create an "ArtNet DMX" connection and enter 127.0.0.1
. Everything should now be working.