{"id":80,"date":"2026-02-09T19:42:14","date_gmt":"2026-02-09T19:42:14","guid":{"rendered":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/?page_id=80"},"modified":"2026-03-20T21:58:38","modified_gmt":"2026-03-20T21:58:38","slug":"week-4-blog","status":"publish","type":"page","link":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/week-4-blog\/","title":{"rendered":"Week 4 Blog"},"content":{"rendered":"\n<p>With the help of our Subject Matter Experts, Matt and Dom, we finally established the pipeline: from filming with Insta360 X5 cameras to a 3D model in PostShot. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Step 1: Filming<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Holding the camera: the screen should always face you, and the camera on the opposite side should always face the object you want to film\n<ul class=\"wp-block-list\">\n<li>For objects: Walk around the object in a complete circle<\/li>\n\n\n\n<li>For environments: Walk around the room in a complete loop<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Film three different angles: a mid angle, a high angle, and a low angle.\n<ul class=\"wp-block-list\">\n<li>For the low angle, you can turn the camera upside-down to get a lower angle, just make sure the screen is still facing you and the camera is still facing the object.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Step 2: Insta360 Studio<\/strong><\/p>\n\n\n\n<p>To import footage to your computer<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Insta360 Studio\n<ul class=\"wp-block-list\">\n<li>Plug in the camera to your computer and open Insta360 Studio<\/li>\n\n\n\n<li>Click on the video you want to export from your camera<\/li>\n\n\n\n<li>On the right hand side, click the top Stabilization Type, toggle on FlowState Stabilization, and check Direction Lock. This way, when you preview the video, the object you filmed will always be in view.<\/li>\n\n\n\n<li>Click Export on the top. Export as 360 Video, turn Bitrate all the way up, and Start Export.<\/li>\n\n\n\n<li>Repeat these steps with your two other videos of different angles.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Step 3: Blender<\/strong><\/p>\n\n\n\n<p>To remap the 360-degree video to a sequence of images. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install the 360 Extractor Blender plugin: Edit \u2192 preferences \u2192 add-ons \u2192 Add-on settings (on the right hand side, looks like a down arrow) \u2192 install from disk\n<ul class=\"wp-block-list\">\n<li>If Blender updates, the plugin <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click Add Equirectangular Video and choose all three videos\n<ul class=\"wp-block-list\">\n<li>Equirectangular is the standard way of &#8220;unwrapping&#8221; a sphere onto a flat, 2D rectangle. Think of it like a world map (Mercator projection). The Earth is a sphere, but to see the whole thing at once on a piece of paper, we stretch it into a rectangle.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click on the High angle video, under Camera Setup, name it High, then click Create Camera Group. Repeat for the other two videos.<\/li>\n\n\n\n<li>Toggle the camera view on.<\/li>\n\n\n\n<li>Under Camera Setup, click on High, adjust the Height to 10, and Link the High video (important). Repeat for the low video and adjust height to -10. Mid can stay at 1. <\/li>\n\n\n\n<li>Moving on to the right panel. Feel free to delete Camera, Cube, and Light.<\/li>\n\n\n\n<li>In the Output tab, edit the Resolution X and Y to the desired numbers. We usually use a square of 1920&#215;1920. You will see a square when you toggle on the camera view.<\/li>\n\n\n\n<li>Under Scene Collection, click on all the cameras to check which ones have yourself in the square. Delete those cameras so they don\u2019t confuse the algorithm later. Repeat for the other two angles.<\/li>\n\n\n\n<li>Moving back to the Plugin window. Under Render Output, choose a folder location. Change the Frame Step to a desired number; you can check how many photos you will get by clicking on Render Selected Camera Groups. Ideally, you want 300-500 photos total. It\u2019s recommended to not exceed 1000 photos. We usually use a Frame Step of 30-60, which means that for every 30-60 frames, 1 photo is extracted.<\/li>\n\n\n\n<li>Click ok. There is no progress bar, so simply go to the folder you chose to find all three folders of photos gradually forming.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Step 4: RealityScan<\/strong><\/p>\n\n\n\n<p>To quickly align images, which is the process where a computer looks at your photos to figure out exactly where you were standing and which way you were pointing the camera for every single shot.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the Workflow tab, import all three folders of photos.<\/li>\n\n\n\n<li>In the Alignment tab, click Align Images. It usually takes only minutes to complete. This is also why we do this step in RealityScan instead of in PostShot, which is a lot slower at image alignment.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Tomato bottle RealityScan image aligned\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/cyBajsfEtVU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">575 images from all three angles are aligned in the software RealityScan. <\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the Workflow tab, click Export, and export two things:\n<ul class=\"wp-block-list\">\n<li>Under Camera Alignment, click Internal\/External Camera Parameters. The downloaded file should be a csv file (Excel file).<\/li>\n\n\n\n<li>Under Sparse Scene Structures, click Sparse point cloud as Polygon File Format (*.ply). In the export parameter details, toggle Export ascii to False. The downloaded file should be a .ply file.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Step 5: PostShot<\/strong><\/p>\n\n\n\n<p>To create a 3D point cloud using Gaussian Splatting. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Import all three folders containing the photos, and the two files exported from RealityScan, into PostShot.\n<ul class=\"wp-block-list\">\n<li>You should see that Import becomes an option in Camera Poses, because PostShot is now reading the csv and ply files.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>There should be an Import Files pop-up.\n<ul class=\"wp-block-list\">\n<li>For Image Selection: Use all images<\/li>\n\n\n\n<li>For Radiance Field Profile, Splat3 is theoretically good for textures. Splat MCMC is theoretically good for polished surfaces. <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The screen should show the Radiance Field changing (insert photo), and you will quickly see if the scan is successful or not.<\/li>\n\n\n\n<li>File \u2192 Export scene radiance field \u2192 name-rad-field \u2192 save it in the shared folder (DotsToDepth)<\/li>\n<\/ul>\n\n\n\n<p><strong>Step 6: Unreal Engine<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Window \u2192 Import 3D Gaussians<\/li>\n\n\n\n<li>Content Drawer \u2192 Under the ThreeDGaussians folder, find the file you exported from PostShot, and drag it into the scene. <\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Fun Experimentation with Image Count<\/strong><\/p>\n\n\n\n<p>These are two different PostShot renderings of the same scene. There is a noticeable improvement in render quality when the image count is increased from 415 to 575. It remains to be seen if there will be diminishing returns if the image count is increased to 700-800. <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"790\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Grace-tomato-result-1024x790.png\" alt=\"\" class=\"wp-image-81\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Grace-tomato-result-1024x790.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Grace-tomato-result-300x232.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Grace-tomato-result-768x593.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Grace-tomato-result-1536x1186.png 1536w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Grace-tomato-result-2048x1581.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Result from 415 images<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"642\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Christina-tomato-result-1024x642.png\" alt=\"\" class=\"wp-image-82\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Christina-tomato-result-1024x642.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Christina-tomato-result-300x188.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Christina-tomato-result-768x481.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Christina-tomato-result-1536x963.png 1536w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/02\/Christina-tomato-result-2048x1284.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Result from 575 images<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>February 2-6, 2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the help of our Subject Matter Experts, Matt and Dom, we finally established the pipeline: from filming with Insta360 X5 cameras to a 3D model in PostShot. Step 1: Filming Step 2: Insta360 Studio To import footage to your computer Step 3: Blender To remap the 360-degree video to a sequence of images. Step [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-80","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":7,"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages\/80\/revisions"}],"predecessor-version":[{"id":250,"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages\/80\/revisions\/250"}],"wp:attachment":[{"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/media?parent=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}