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
- Pointcloud experiment in TouchDesigner by Martial Gallorini. So cool!!
- Iteota Teaser by Marshmellow Laser Feast: a 360º virtual reality film of forest scans captured in England. Still scraping my jaw off the floor.
- The MEGALOPOLIS Collection by Benjamin Bardou. Words can't even describe it.
Built With
- cloudcompare
- touchdesigner
Log in or sign up for Devpost to join the conversation.