Tunnel Vision

Infinite tunnel effect with scaling rings moving through 3D space.

Main Features of Tunnel Vision

How to Use Tunnel Vision in Next.js

Installation Guide for Tunnel Vision

Props

Customize the component with these props

PropertyTypeDefaultDescription
ringCount
number5Number of rings in the tunnel
backgroundColor
stringbg-zinc-950Background color of the component
perspective
stringperspective-500CSS perspective value for 3D effect
ringSize
number300Base size of the rings
ringBorderColor
stringborder-zinc-500/30Border color of the rings
text
stringWARPText displayed in the center
textColor
stringtext-whiteColor of the text
textSize
stringtext-4xlSize of the text
initialZ
number-1000Initial Z position of rings
finalZ
number500Final Z position of rings
animationDuration
number4Animation duration in seconds
delayMultiplier
number0.8Delay multiplier between rings
scaleRange
[number, number][0.5, 1.5]Scale range for rings
textPulseDuration
number2Text pulse animation duration
className
stringAdditional CSS classes

When to Use

Ideal for artistic portfolios, experimental startup landing pages, and cinematic web experiences. This production-ready React UI component is perfect for intro sequences where you want to draw the user 'into' your site's world.

Best Practices

To follow React best practices, ensure the `animationDuration` is slow enough to avoid motion sickness while still maintaining rhythm. Maintain consistent spacing within your design system by using the `perspective` prop to match other 3D components on your site. Optimize for performance by using a reasonable `ringCount` (e.g., 5-8).

Why This Component Matters in Modern UI Development

Infinite motion is a powerful tool for building immersive modern UI development experiences. This reusable React component gives developers a way to implement the 'dolly zoom' effect in a 2D space, adding incredible depth to your real-world application architecture.

Frequently Asked Questions

QCan I put a video in the center?

Yes, the center of the tunnel is a standard React container where you can place text, videos, or even other components.

QHow do I control the depth?

The `initialZ` and `finalZ` props define the start and end of each ring's journey through 3D space.

QDoes the text pulse automatically?

Yes, there is a built-in `textPulseDuration` prop to keep the center element alive and engaging.

Tunnel Vision - Premium Next.js 3D Component | Uilora