Vixen
dd8b0a81
csharp
public sealed class RibbonOutputNode

Particles joined into strips, oldest first.

Read the guide page for this →

As a graph node

Create menu
Vfx/Output/Ribbon

Remarks

The one renderer that needs particles to know about each other. Which strip a particle belongs to is a custom attribute — Attribute names it — and where it sits within one is its age, which the runtime already keeps. Particles sharing a value are one ribbon.

⚠ Always sorted by age, whatever a billboard node's sort port would have said. That is the ribbon's own order rather than a drawing preference: a strip drawn in the order the particles happen to sit in the buffer is a tangle.

⚠ It names the attribute rather than numbering it. A slot is where a name landed in the graph's declaration list, and that position moves the moment somebody adds a block above — so a number typed here would have silently pointed at a different attribute. The name is resolved to a slot after every block has contributed, which is also why an output dropped on the canvas before the block that writes its attribute still compiles.

⚠ An attribute nothing writes is refused. Storage nothing has written is zero for every particle, so every particle would be in one strip — one tangle rather than the many ribbons that were drawn, and no error to search for. VfxGraphBuilder.SlotOf says so instead.

Fields and properties (3)

  • public Flow In

    Where the blocks connect.

  • public string Attribute

    Which custom attribute holds the strip identifier.

  • public static NodeTypeDefinition Definition

    What this node type is, for the registry. Generated.

Methods (2)

  • protected internal override void Contribute(VfxGraphBuilder builder)

    Adds whatever this node contributes.

  • public override void Bind(NodeBinding binding)

    Fills the port fields from what the compiler resolved. Generated.

Used by (1)

  • NodeTypesVixen.Editor.VfxGraph