One thing I can’t wait to do again is travel. The concept’s just so cool to me: you pack up anything you can’t live without, get on a plane & wake up in a new world. With a countdown ticking down to when it’s time to return home, you learn how to savor every little thing: the landscapes, the colors, the sounds. Since I won’t be going anywhere for a long time, I wanted to take a place I could only dream of visiting and bring it into my living room.

I considered destinations like Japan, Spain and Greece before settling on Castle Ban, Rhins of Galloway: a beautiful spot off the coast of Scotland. My projection takes a virtual scan of the landscape, turns it into a point cloud (think of it as a pointillism painting but in 3D!) and flies you through it in first-person.

How I built it

First, I searched Sketchfab for a photogrammetry scan I could get lost in. Then, once I had an .obj to work with, I used an open-source tool called CloudCompare to generate a point cloud from it via a process called mesh sampling. I exported this cloud as an ASCII file (containing nearly 1 million points!) and passed it over to a creative coding application known as TouchDesigner. In there, I could use the cloud's position & color data to spawn thousands of tiny circles in 3D space — sort of like a pointillism painting brought to life. Lastly, I set up a virtual camera and animated it to fly through the cloud along a path. The resulting display is sent to my projector and cast across my wall.

Challenges I ran into

  • The textures wouldn’t show on the photogrammetry model when I first opened it in CloudCompare. This taught me a lot about OBJ and MTL files - I literally had to open them up in a text editor and fix some lines to get it working.
  • I had super low FPS in TouchDesigner when rendering the cloud. I guess it’s only fair— I was processing 946,729 points on a 2012 MacBook Pro. :x

What I learned / Accomplishments I'm proud of

  • TouchDesigner: a node-based visual programming language for real-time interactive media
    • Today was my first time ever trying it!! I've been dying to for months, but the introductions always looked so intimidating.
    • I'm starting to get used to the variety of tools and components, such as "arcball cameras" and the operators for textures, animation & polygons.
  • CloudCompare: an open-source point cloud processing software. (Also my first time using this!)
  • What a point cloud is, and how they're made
  • How to read .OBJ and .MTL files
  • The process of instancing, or taking a geometry and copying it over & over to assemble something bigger

Credits

  • Fearann Alba: creator of the Castle Ban photogrammetry scan
  • Thank you to Matthew Ragan, Markus Heckmann, and Mickey van Olst for being TouchDesigner gods & putting out amazing tutorials for free :’)
  • And a special thanks to Martial Gallorini for answering so many questions about his workflow in the comment section of his showcase video! I wouldn’t have known where to start without you.

What's next for Cloud Nine

I'd like to make the points shift/waver slightly so that the experience feels more "alive." It would be super nice to make the points glow too :) There was even this cool experiment where the particles could react to music and pulse/color shift to the beat, but that might be more fitting for another project entirely. I'm just really excited to keep messing with TouchDesigner!

Inspiration

Built With

  • cloudcompare
  • touchdesigner
Share this project:

Updates