PitchHut logo
Experience an immersive journey through emoji-filled space.
Pitch

Spacemoji offers a captivating single-file HTML5 Canvas animation that takes users on a journey through a vibrant, emoji-filled space. Utilizing 3D perspective projection and smooth warp transitions, it transforms interactivity into a visually delightful experience, all dictated by a set of customizable parameters.

Description

Spacemoji is an innovative single-file HTML5 Canvas animation that guides users through a mesmerizing journey in an emoji-filled space. Utilizing 3D perspective projection, this project creates a captivating visual experience with smooth warp transitions.

Key Features

  • Interactive Journey: Users can click, tap, and hold to warp through space, while lifting to disengage from the warp, offering an engaging interaction model.
  • Configurability: The project's behavior is governed by a detailed configuration object, allowing customization of various parameters such as:
ParameterDefaultDescription
totalParticles700The total number of active emojis in the simulation.
farZLimit3000Distance at which emojis spawn on the Z-axis.
focalLength1000Simulated lens width affecting zoom and distortion effects.
baseSpeed3Constant travel velocity when not interacting.
warpSpeed100Maximum speed reached during interaction.
accelerationRate0.05Rate of transition between base and warp speeds.
motionTrailOpacity0.3Determines the opacity of motion trails, with lower values yielding longer trails.
spawnSpreadRange5000Range within which emojis spawn, with lower values resulting in a more compact distribution.
rotationSpeedMultiplier0.0005Base spinning speed of emojis during travel.

3D Projection

The project employs advanced 3D projection mathematics to convert world coordinates to a 2D viewport. This technique generates a realistic depth experience and enhances the illusion of movement as particles approach the viewer. The formulae for screen coordinates are:

screenX = (worldX * focalLength) / worldZ + centerX
screenY = (worldY * focalLength) / worldZ + centerY

As the worldZ value decreases, the particles appear larger and travel faster across the display, enriching the immersive experience.

Explore the project further by viewing the Live Demo and see the endless possibilities of navigating through a vibrant, emoji-laden universe.

0 comments

No comments yet.

Sign in to be the first to comment.