

{"id":9962,"date":"2026-04-20T11:49:05","date_gmt":"2026-04-20T15:49:05","guid":{"rendered":"https:\/\/sites.temple.edu\/tudsc\/?p=9962"},"modified":"2026-04-20T11:49:05","modified_gmt":"2026-04-20T15:49:05","slug":"envisioning-metamorphosis-simulating-habitats-of-worms-with-point-clouds-and-unity-vfx-graph","status":"publish","type":"post","link":"https:\/\/sites.temple.edu\/tudsc\/2026\/04\/20\/envisioning-metamorphosis-simulating-habitats-of-worms-with-point-clouds-and-unity-vfx-graph\/","title":{"rendered":"Envisioning Metamorphosis: Simulating Habitats of Worms with Point Clouds and Unity VFX Graph\u00a0"},"content":{"rendered":"\n<p>By Jiayu Yang<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Introducation<\/h2>\n\n\n\n<p>Can you imagine becoming a worm in a beehive, in a jar, or on a disk in a laboratory? How would a worm perceive man-made structures? Kafka\u2019s <em>The Metamorphosis<\/em> (1915) follows the transformation of the protagonist, Gregor, into a giant bug, offering a metaphor to look back at the alienating and dehumanizing aspects of modern human society. Today, when insects are increasingly integrated into human society, what could be seen if viewed through the senses of a parasite or a worm in a lab? More than postulating metaphors, my project at the LCDSS aims to model artificial habitats from a speculative worm\u2019s view in order to reveal the unstable captivity of nonhuman creatures.\u00a0\u00a0\u00a0<br><br>To recap, I am a documentary filmmaker and digital media artist working with wax worms (Galleria Mellonella), which were first found in nature as parasites of beehives, and are now proteins for pets, model organisms for immunology, and sources of plastic-degrading enzymes. In an era of species endangerment, wax worms are a unique case of thriving insects that are making habitats across the urban landscape. In my <a href=\"https:\/\/sites.temple.edu\/tudsc\/2025\/11\/04\/hosting-wax-worms-3d-modeling-ecologies-in-artificial-habitats\/\">previous blog post<\/a>, I detailed the emergence of various artificial habitats for wax worms across apiculture, worm farms, and laboratories, and how I want to transport these habitats into VR environments through Photogrammetry and Unity. In this blog post, I will share details about my workflow and how the 3D models will be displayed and interacted with.\u00a0<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Becoming an Insect Through Visual Simulation<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1-1024x576.png\" alt=\"\" class=\"wp-image-9968\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1-1024x576.png 1024w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1-300x169.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1-768x432.png 768w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1-1536x864.png 1536w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1-850x478.png 850w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/image-1.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 1. Photo from <em>In the Eyes of Animals <\/em>(2015)by Marshmellow Fest<\/figcaption><\/figure>\n\n\n\n<p>To simulate a worm\u2019s perception, which is haptic and non-visual, I find the format of point clouds to be of great potential. Point clouds are collections of three-dimensional information, with each dot representing the x, y, and z coordinates on the perceivable surface of a physical space or an object. Primarily generated for computer processing, point clouds are used to tell photogrammetry programs where a surface is located; their density indicates how much information is gathered and how confident the computer should be in reconstructing that surface. They are an intermediary translation of the physical world into the digital. <\/p>\n\n\n\n<p>Breaking solid space into contingent, porous clouds, point clouds reflect a nonhuman vision that alienates familiar physical spaces from the human eye. Today, point clouds have become a new aesthetic in visual art, with many visual artists working with them to simulate animal vision and represent the world in an alienated form. Examples that have inspired me to work with point clouds are Marshmellow Fest\u2019s <a href=\"https:\/\/marshmallowlaserfeast.com\/project\/in-the-eyes-of-the-animal\/\">In the Eyes of the Animals<\/a> (2015), Reality Design Lab\u2019s <a href=\"https:\/\/reality.design\/project\/echovision\">Echovision<\/a> (2024), and Refik Anadol\u2019s <a href=\"https:\/\/refikanadol.com\/works\/echoes-of-the-earth-living-archive\/\">Echos of the Earth: the Living Archive<\/a> (2024).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Methods <\/h2>\n\n\n\n<p>To transform a physical space into metamorphosing particles, there are a few steps I take:&nbsp;<\/p>\n\n\n\n<p><strong>Step 1<\/strong>: Photogrammetry&nbsp;<\/p>\n\n\n\n<p><strong>Step 2<\/strong>: Import to Unity VFX Graph&nbsp;<\/p>\n\n\n\n<p>In the following sections, I will walk through these steps in more detail.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Photogrammetry<\/strong><\/h3>\n\n\n\n<p>Photogrammetry is a method of 3D scanning that interprets multiple photos of a physical space or an object and constructs 3D models based on the spatial information (x,y,z) in them. In my case, I used an iPhone camera, a Sony a7s2 camera, and an Insta360 camera to take the photos. Usually, I take around 70 to 150 photos from all angles, depending on the size and details of my object. With cameras that have higher resolution and higher shutter speed, such as the Sony full-frame mirrorless camera and the 360 camera, I often record videos first, then extract the frames from the recording as photos for photogrammetry. After all, videos are photos playing at 24 frames per second.&nbsp;<\/p>\n\n\n\n<p>After the photos were ready, I used Agisoft Metashape to interpret the spatial information. Metashape would first&nbsp; \u201calign photos\u201d and then build a \u201ctie point\u201d (figure 2) out of them. At the stage of \u201ctie point,\u201d the 3D structure is sparse and lacks details. I then asked Metashape to build a \u201cpoint cloud\u201d by locating more points in the 3D space. With a point cloud, the model becomes more legible, while retaining a surreal look (figure 3). Then, simple edits such as \u201cselect\u201d and \u201cdelete\u201d can be done with the software. After some quick edits, I exported the point cloud as .ply files for creative use later.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"741\" data-id=\"9969\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.04.55-1024x741.png\" alt=\"\" class=\"wp-image-9969\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.04.55-1024x741.png 1024w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.04.55-300x217.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.04.55-768x555.png 768w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.04.55-850x615.png 850w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.04.55.png 1510w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"738\" data-id=\"9970\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.13-1024x738.png\" alt=\"\" class=\"wp-image-9970\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.13-1024x738.png 1024w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.13-300x216.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.13-768x553.png 768w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.13-850x613.png 850w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.13.png 1074w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Figure 2. The tie points of the beehives.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"867\" data-id=\"9972\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.05.37-1024x867.png\" alt=\"\" class=\"wp-image-9972\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.05.37-1024x867.png 1024w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.05.37-300x254.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.05.37-768x650.png 768w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.05.37-850x720.png 850w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.05.37.png 1368w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"930\" height=\"804\" data-id=\"9971\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.50.png\" alt=\"\" class=\"wp-image-9971\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.50.png 930w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.50-300x259.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.50-768x664.png 768w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-03-24-at-14.06.50-850x735.png 850w\" sizes=\"auto, (max-width: 930px) 100vw, 930px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Figure 3. Point clouds created by the tie points.&nbsp;<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Import to Unity VFX Graph<\/strong><\/h3>\n\n\n\n<p>Using Unity as the primary platform for viewing and animating the point cloud, I have learned to import point clouds as Unity assets with a point cloud importer\/renderer, since .ply is not natively supported in Unity. To import point clouds into Unity, I found the <a href=\"https:\/\/github.com\/keijiro\/pcx\">PCX package <\/a>shared by <a href=\"https:\/\/www.keijiro.tokyo\/\">Keijiro Takahashi <\/a>(a renowned visual artist) on GitHub helpful. By installing this package in Unity, I was able to import the .ply file and render it as a position map and a color map. These maps are then used to tell VFX Graph how to position and color the particles.\u00a0<\/p>\n\n\n\n<p>Unity\u2019s VFX graph is an updated particle system, allowing faster, more efficient rendering of large numbers of particles. It uses a node-based structure to program the particles. To create a VFX graph, I first installed it via the Unity package manager. Then it became an asset I could create and add to my scene.\u00a0<\/p>\n\n\n\n<p>After creating a preset looping VFX graph, I went into the \u201cinitial particle\u201d block to add two more blocks: \u201cset position from map\u201d and \u201cset color from map.\u201d These blocks allow me to link the position and color maps to the VFX graph (figure 4). After that, I adjusted the spawn rate of the VFX graph to match the point count of my point cloud, so the particles would look exactly like the point clouds I generated.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2243\" height=\"1335\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited.png\" alt=\"\" class=\"wp-image-9982\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited.png 2243w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited-300x180.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited-1024x609.png 1024w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited-768x457.png 768w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited-1536x914.png 1536w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited-2048x1219.png 2048w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2026-04-13-at-09.37.22-1-edited-850x506.png 850w\" sizes=\"auto, (max-width: 2243px) 100vw, 2243px\" \/><figcaption class=\"wp-element-caption\">Figure 4. Using the position map and color map generated by the pcx package to initialize the VFX graph.&nbsp;<br><\/figcaption><\/figure>\n\n\n\n<p>Once translated into a VFX graph, the point clouds become clouds of particles that can be given lifetimes, sizes over time, velocity, or attraction. I can set them to flow with turbulence or slowly reconfigure into other shapes. The potential to manipulate and animate is infinite.&nbsp;<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A Work in Progress&nbsp;<\/strong><\/h2>\n\n\n\n<p>So far, I have built a scene of an infested artificial beehive in Unity. This is the first scene I built because these hives are where the worms first enter civilization as parasites. When set to morph with turbulence, the point clouds of the boxes of the hive become floating particles in this scene, as if they are bees or pollen (figure 5).&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"788\" height=\"490\" src=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2025-12-16-at-15.43.42-copy.png\" alt=\"\" class=\"wp-image-9977\" srcset=\"https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2025-12-16-at-15.43.42-copy.png 788w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2025-12-16-at-15.43.42-copy-300x187.png 300w, https:\/\/sites.temple.edu\/tudsc\/files\/2026\/04\/Screenshot-2025-12-16-at-15.43.42-copy-768x478.png 768w\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" \/><figcaption class=\"wp-element-caption\">Figure 5. Point clouds transformed into flowing particles by the VFX graph&nbsp;<br><\/figcaption><\/figure>\n\n\n\n<p>I am building more scenes and working on the design of haptic interactions to simulate elusive visions or unattainable memories. My goal for the near future is to translate viewers\u2019 hand movements into forces that disrupt and reshape the point clouds of a habitat. This way, a viewer can see themselves dissipate the human narrative and reimagine these emerging organisms as something beyond the scientific captures.&nbsp;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Jiayu Yang<\/p>\n","protected":false},"author":37444,"featured_media":9976,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[447,297,2,352],"tags":[238,174,6,75,45],"class_list":["post-9962","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ecology","category-film-studies","category-grad-students","category-visual-art","tag-3d-modeling","tag-photogrammetry","tag-top-news","tag-unity","tag-virtual-reality"],"_links":{"self":[{"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/posts\/9962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/users\/37444"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/comments?post=9962"}],"version-history":[{"count":12,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/posts\/9962\/revisions"}],"predecessor-version":[{"id":10002,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/posts\/9962\/revisions\/10002"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/media\/9976"}],"wp:attachment":[{"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/media?parent=9962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/categories?post=9962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.temple.edu\/tudsc\/wp-json\/wp\/v2\/tags?post=9962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}