weapon-trail

Create a ribbon trail effect that follows a weapon's movement.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "weapon-trail" with this command: npx skills add verekia/r3f-gamedev/verekia-r3f-gamedev-weapon-trail

Weapon Trail

Create a ribbon trail effect that follows a weapon's movement.

Technique

Build a custom BufferGeometry that stores a history of positions in a ring buffer. Each frame, record the current world positions of trail points and update the geometry vertices to create a ribbon connecting all historical positions.

Key Concepts

  • Define trail points (e.g., base and tip of weapon)
  • Use a ring buffer to store position history efficiently
  • Create geometry with proper UVs for texture mapping (gradient fade)
  • Update vertex positions each frame with positions.needsUpdate = true
  • Use localToWorld() to get world positions from the target object
  • Support enabling/disabling with fade out animation

Usage

const trailPoints = [new Vector3(0, 0, 0), new Vector3(0, 1.5, 0)]

<group ref={weaponRef}>
  <mesh>{/* weapon mesh */}</mesh>
</group>
<Trail target={weaponRef} points={trailPoints} enabled={isAttacking} />

Geometry Structure

  • Segments: historical snapshots (oldest to newest)
  • Points per segment: trail point positions at that time
  • UVs: u = position along trail (0-1), v = age (0 = newest, 1 = oldest)
  • Alpha map texture for gradient fade effect

This skill is part of verekia's r3f-gamedev.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

smooth-interpolation

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

reactive-polling

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ui-useframe

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

miniplex

No summary provided by upstream source.

Repository SourceNeeds Review