Behavior of xLights Cube models in groups

Elliott

New elf
Joined
Feb 19, 2023
Messages
4
Hi all,

Toying with a pixel-stake display idea for 2023, I have created two cube models in xLights:
  • 30 pixels wide, left to right
  • 5 pixels deep, front to back
  • 5 pixels high, ground to sky
The cubes are set up as:
  • 5 strings
  • Vertical Left/Right
  • No Zig-Zag
One cube begins at Back Bottom Right, the other Back Bottom Left. They're left-right mirror images, with the intent of placing the controller between them. They are not rotated about the X axis, and they are aligned with ground level.

Effects work as I would expect when applied to the cubes as independent models. A sine Wave effect undulates like a flying carpet in the wind. I can perfectly bounce the five layers as "flat sheets" from ground to sky. On the individual models, a "layer" therefore can light pixels at the same height, perhaps the top pixel on every stake (5-5-5-5-5), or the bottom (1-1-1-1-1), or the third (3-3-3-3-3), as the effect requires.

But when I group the two cubes, these same effects tilt front-to-back, like a model rotation around the X axis. A lighted pixel layer or "sheet" that lies planar with the ground on the individual models now tilts as if you've partially opened the cover of a book. In the group, a flat horizontal-plane "layer" lights the top (fifth) pixel in the front left-right row of stakes (string 5), then the fourth pixel in the second row, then the third pixel in the middle row, then the second, then the bottom (first) in the back row: heights 5-4-3-2-1.

The tilt can be reversed or flipped by changing buffer style, but I have tried every possible combination of model setup, buffer style, transformation, and rotation, completely failing to eliminate the tilt and make the group behave like the individual models.

For some effects, this doesn't matter. It is a problem for an undulating sine, which appears to undulate across the front-back depth in addition to its left-right travel. Meteors make an effective flowing-river effect on the single models, but when grouped, the water is one pixel deep at the back and five pixels deep at the front.

I need grouping for these effects to appear sequentially from left to right across both cubes. Applying the effects individually leaves the sine wave disjointed between the two cubes, and the Meteor River starts flowing from both the left side and the middle (the left edge of each model) at the same time.

To be clear, the effects do work on the group in every sense except for the tilt, which distorts the result.

Is it me, a bug, or just the way it is?

Thanks,
Elliott
 

Zuseleets

Full time elf
Joined
Oct 12, 2016
Messages
289
Location
Townsville
What are your layer settings at when you apply the effect to the group? Have you changed the render style at all? Per model option may change things to be more how you expect?
 

Elliott

New elf
Joined
Feb 19, 2023
Messages
4
Thanks for your reply.

Sorry, I used an incorrect term in my previous post. I stated "buffer style" when I should have said "render style." My sentence should have read, "I have tried every possible combination of model setup, render style, transformation, and rotation...."

Layer blending choices (normal, masks, reveals, etc.) make no difference on the group.

"Stacked X horizontally" gives the desired result on the individual models. On the group, default render style comes the nearest, but that's where the tilt comes in. Some of the other render styles are the same or similar, but I can find nothing that duplicates the individual model result.

Thanks again!
 

Elliott

New elf
Joined
Feb 19, 2023
Messages
4
Thanks Keith. It occurred to me in the middle of the night that I might work around the behavior by defining my cube models to be two-dimensional. I created ten cubes with no depth: 30 pixels wide, 5 high, 1 deep. I stacked these into two 30 by 5 by 5 groups side by side, 60 pixels wide in total. Since xLights can't do anything unexpected (to me) with a depth of one, the sine wave and meteor effects now look good. Some of the other effects are more troublesome, but I'll take the tradeoff.

I also grouped all ten "flat" cubes--five on the left, five on the right--into a single 60 by 5 by 5 group. Meteor flows smoothly across all, sine is undistorted and in-phase across all. Some other effects work well on this group as a whole, but others appear separately (simultaneously) on the left and right halves. If I recall correctly, fan and pinwheel differ in this; one renders as a single effect across the 60-wide group, the other renders as two 30-wide effects.

Having some success with group-cubes built from 2D models, I also tried using icicle models in the same manner. This didn't work very well.

In the end, though, I have a workable solution. Thanks again for your help.
 
Top