r3f-pushback

star 1

Make React Three Fiber enemies flash white and rock back and forth when receiving damage.

cyberpunga By cyberpunga schedule Updated 6/3/2026

name: r3f-pushback description: Make React Three Fiber enemies flash white and rock back and forth when receiving damage.

Pushback

Make enemies flash white and rock back and forth when receiving damage.

Technique

Track pushback state with a direction vector and progress value. In useFrame, interpolate the position along the pushback direction using a back-and-forth curve, and change the material color to white during the effect.

Key Concepts

  • Store pushback direction (dx, dy) and progress (0 to 1)
  • Use a triangle wave for back-and-forth motion: t < 0.5 ? t * 2 : (1 - t) * 2
  • Flash material color to white during pushback
  • Reset to original position and color when complete
  • Direction should be opposite to the damage source (player position)

Usage

const pushbackRef = useRef<{ dx: number; dy: number } | null>(null)
const pushbackProgress = useRef(0)

useFrame((_, delta) => {
  if (pushbackRef.current) {
    pushbackProgress.current += delta * 8
    material.color.set('white')

    const t = pushbackProgress.current
    const offset = t < 0.5 ? t * 2 : (1 - t) * 2
    mesh.position.x = baseX + pushbackRef.current.dx * offset
  }
})

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

Install via CLI
npx skills add https://github.com/cyberpunga/pungafighters --skill r3f-pushback
Repository Details
star Stars 1
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator