top of page

MAX/MSP_Interactive Mouse • ripple effect

  • Writer: Fionn Han
    Fionn Han
  • Nov 28, 2023
  • 2 min read

Updated: May 11, 2024



  • Step 1: Using cartopol to capture mouse's position data

  • Step 2: Using jit.gl.multiple for background

  • Step 3: Customizing cursor with jit.gl.sketch

  • Step 4: Make cursor invisible while preserving its interaction

  • Bonus Tips


In this series of patches, I aim to create an interactive cursor that dynamically interacts with background objects within Max. Specifically, the background objects will alter their directions and colors based on my cursor's real-time position. I've developed four patches to progressively achieve this goal (see below).


This project was inspired by my research of immersion with the game music of怊NieR: Automata怋. I have incorporated a few soundtracks from the video game to accompany these patches, excluding the Civilizations ones (showcased above & demo below), for which I created the sound design myself.


ā•”STEP 1ā•ž


I utilize my mouse's position data (Cartesian coordinates) to determine how the cursor rotates and points in the right direction in jit.world, employing the cartopol object.


怚soundtrack: Pascal, by Keiichi Okabe怛


ā•”STEP 2ā•ž

ree

Using the jit.gl.multipleĀ object, I multiply the cursor icon as the background in the jit.matrix object. Each small cursor inĀ jit.gen is assigned information such as location, size, rotation angle, and color based on my mouse's movement data. TheĀ jit.genĀ content can be seen at the bottom right corner.


ā•”STEP 3ā•ž


To enhance the interactive experience, I customize the cursor while maintaining its interaction with the background using the jit.gl.sketch object.


怚soundtrack: Amusement Park (8-bit version), by Keigo Hoashi怛

ree

Besides importing different images for your cursor icon using the message box 'importmovie, bang', you can freely decide the objects shown in the background by simply changing the file names in jit.gl.texture object (circled in light beige). The Civilizations showcase (above) and the demo (below) are made by the same patch with minor value adjustments to achieve the best visual effect.



ā•”STEP 4ā•ž


Finally, to elevate the playful experience, I send the 'hide cursor' message to Max. This allows participants to explore the relationship between their mouse movements and the background objects.


怚soundtrack: Treasure Time, by Keigo Hoashi怛

ree

To enhance the tranquil atmosphere of this composition "Species," I employ the jit.slide object to gently decelerate the color-changing process. In the final touch, I've also incorporated the jit.gl.camera into this patch, providing users with the flexibility to adjust the background's distance based on their preference for proximity.


怐Credit怑

Sound: Hua-Chun Fan

Max/MSP programming: Hua-Chun Fan



Ā 
Ā 
Ā 

2025 ©  Hua-Chun Fan(IE. UK. TW)   All rights reserved. 

Ireland. London / Vienna / Denmark / Poland / Japan / Taipei

bottom of page