๐Ÿ‹ Interactive Whale Character

A friendly voxel-style whale with WebGL-powered interactions, touch controls, and smooth animations.

WebGL Three.js Touch Controls Mobile Optimized

Loading enhanced whale character...

Initializing enhanced GLB viewer...

Touch to interact with the enhanced whale Click and drag to explore with enhanced performance
๐ŸŽจ Background
FPS: -- Cache: -- State: IDLE
๐ŸŽจ Canvas Styling
800px
600px
12px
๐Ÿ“ Hero Presets

๐ŸŽฎ How to Interact

๐Ÿ‘†

Tap

Make the whale happy with a single tap

๐Ÿ‘†๐Ÿ‘†

Double Tap

Surprise the whale with quick double taps

๐Ÿ‘†โฑ๏ธ

Long Press

Hold to watch the whale swim

๐Ÿ‘ˆ๐Ÿ‘‰

Swipe

Swipe to rotate the camera around

โœŒ๏ธ

Two-Finger Pan

Use two fingers to swipe and smoothly rotate the camera around the whale - perfect for exploring different angles

๐Ÿค

Pinch

Pinch to zoom in and out

๐Ÿ–ฑ๏ธ

Mouse (Desktop)

Left click + drag to explore, scroll to zoom

โŒจ๏ธ๐Ÿ–ฑ๏ธ

Ctrl + Drag (Desktop)

Hold Ctrl key while dragging for smooth orbiting - same silky movement as 2-finger pan on mobile

๐Ÿ˜Š

Happy Animation

Click the happy emoji button to make the whale joyful and playful

๐Ÿ˜ฒ

Surprised Animation

Click the surprised emoji button to see the whale react with wonder

๐ŸŠ

Swimming Animation

Click the swimming emoji button to watch the whale gracefully swim

๐Ÿ”„

Reset Position

Click the reset button to return the whale and camera to default position

๐ŸŒŠ

Background Colors

Use the emoji buttons on the left to change the underwater environment - Ocean, Deep Sea, Sunset, Arctic, Cosmic, or Classic Black

๐ŸŽฏ

World Center Controls

Use the X, Y, Z sliders at the bottom left to adjust the 3D world center position for different viewing angles

๐ŸŒ€

Auto-Rotate

Toggle the Auto-Rotate button on the right to automatically rotate the camera around the whale

๐Ÿ› ๏ธ Technical Details

Performance

  • Target: 60fps on modern mobile devices
  • Minimum: 30fps with graceful degradation
  • Memory usage: <50MB including textures
  • Battery optimized with background pause

Compatibility

  • WebGL 1.0+ required
  • iOS Safari 14+, Android Chrome 90+
  • Desktop: Chrome, Firefox, Safari, Edge
  • Fallback for non-WebGL devices

Accessibility

  • Reduced motion support
  • Keyboard navigation (desktop)
  • Screen reader compatible
  • High contrast mode support

Technologies

  • Three.js r156+ for 3D rendering
  • Hammer.js for gesture recognition
  • GLB model format with Draco compression
  • Astro + TypeScript architecture

๐Ÿ“ Development Notes

This whale character demo showcases modern web 3D capabilities while maintaining excellent performance and accessibility. The implementation follows mobile-first principles with progressive enhancement.

The whale model uses a voxel-inspired design reminiscent of Minecraft aesthetics, making it both charming and technically efficient. All animations are optimized for smooth performance across devices.

This demo represents experimental features that push the boundaries of web technology while remaining practical and user-friendly.