{"id":325,"date":"2026-04-06T18:30:43","date_gmt":"2026-04-06T18:30:43","guid":{"rendered":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/?page_id=325"},"modified":"2026-04-27T20:41:36","modified_gmt":"2026-04-27T20:41:36","slug":"niagara-system-in-unreal","status":"publish","type":"page","link":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/niagara-system-in-unreal\/","title":{"rendered":"How to Make 3DGS Data Reactive to Niagara Forces"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Install Plugin<\/strong><\/h3>\n\n\n\n<p>Open Unreal Engine. <\/p>\n\n\n\n<p>Click on Edit, Plugins. In the pop-up window, add 3D Gaussians, and reopen Unreal for this change to take effect. <\/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-full\"><img loading=\"lazy\" decoding=\"async\" width=\"649\" height=\"625\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-plugin-window.png\" alt=\"\" class=\"wp-image-501\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-plugin-window.png 649w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-plugin-window-300x289.png 300w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/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=\"564\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/plugin-in-add-1024x564.png\" alt=\"\" class=\"wp-image-502\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/plugin-in-add-1024x564.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/plugin-in-add-300x165.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/plugin-in-add-768x423.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/plugin-in-add-1536x846.png 1536w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/plugin-in-add-2048x1128.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Optional step to see the Niagara folder: Open the Content Drawer on the left side. Click on Settings (gear icon), and make sure Engine Content and Plugin Content are checked. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"429\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Engine-content-and-plugin-1024x429.png\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Engine-content-and-plugin-1024x429.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Engine-content-and-plugin-300x126.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Engine-content-and-plugin-768x322.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Engine-content-and-plugin-1536x644.png 1536w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Engine-content-and-plugin-2048x858.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Import a 3DGS ply file. If a compatibility issue pops up, use SuperSplat to export a Standard PLY. For more information on SuperSplat, check out <a href=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/supersplat\/\" data-type=\"page\" data-id=\"326\">our SuperSplat documentation<\/a>. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/how-to-import-1024x576.png\" alt=\"\" class=\"wp-image-505\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/how-to-import-1024x576.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/how-to-import-300x169.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/how-to-import-768x432.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/how-to-import.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Photo from: <a href=\"https:\/\/akiya-research-institute.github.io\/3dGaussiansPlugin-Manual\/en\/\">https:\/\/akiya-research-institute.github.io\/3dGaussiansPlugin-Manual\/en\/<\/a><\/figcaption><\/figure>\n\n\n\n<p>Once we import the .ply file, we can drag it directly into our game scene and get a 3DGS game object.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"721\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-15-1024x721.png\" alt=\"\" class=\"wp-image-548\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-15-1024x721.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-15-300x211.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-15-768x540.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-15-1536x1081.png 1536w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-15.png 1748w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Get the Special Niagara System<\/strong><\/h3>\n\n\n\n<p>In your Content Drawer, right-click and select Niagara System from plugin&#8217;s folder. This is a specialized Niagara System Template that contains specific parameters from the plugin. We need to edit it as a foundation to create our desired effects.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"478\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-16.png\" alt=\"\" class=\"wp-image-549\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-16.png 720w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-16-300x199.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<p>Double-click on it, and a new window will pop up. Here, we can impelement our own effects.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1021\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-2-1024x1021.png\" alt=\"\" class=\"wp-image-328\" style=\"width:653px;height:auto\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-2-1024x1021.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-2-300x300.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-2-150x150.png 150w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-2-768x766.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Niagara-2.png 1168w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">An example that will lead to the effects shown in the video below. <\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Time Control<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click on <strong>Emitter State<\/strong>. Change the <strong>Loop Duration<\/strong> to a big number (e.g. 10000)<\/li>\n\n\n\n<li>Click on <strong>Initialize Particle<\/strong>. Change the <strong>LifeTime Max<\/strong> to a big number (e.g. 10000)<\/li>\n<\/ul>\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 aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"648\" height=\"481\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Emitter-State.png\" alt=\"\" class=\"wp-image-508\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Emitter-State.png 648w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Emitter-State-300x223.png 300w\" sizes=\"auto, (max-width: 648px) 100vw, 648px\" \/><\/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 aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"490\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Initialize-particle.png\" alt=\"\" class=\"wp-image-509\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Initialize-particle.png 661w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Initialize-particle-300x222.png 300w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use SystemUpdate.LoopDuration as the actual particle system life time. For exapmle, if we set the time in SystemUpdate.LoopDuration as 8, the effect will last for 8 seconds<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"279\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-11.png\" alt=\"\" class=\"wp-image-544\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-11.png 1000w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-11-300x84.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-11-768x214.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Add Effect<\/strong><\/h3>\n\n\n\n<p>To achieve the desired effect, we can edit the Particle Update module; within this module, we can add various forces, allowing the Niagara System to use them to manipulate the movement of the particles. Here, we add a Curl Noise Force, which causes the particles to gradually blur and then fade away.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"489\" height=\"1024\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-12-489x1024.png\" alt=\"\" class=\"wp-image-545\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-12-489x1024.png 489w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-12-143x300.png 143w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/image-12.png 534w\" sizes=\"auto, (max-width: 489px) 100vw, 489px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bind to 3DGS Object<\/strong><\/h3>\n\n\n\n<p>Once the Niagara system is ready, we can link it directly to the 3DGS Object so the Niagara System can control the behavior of particles.<\/p>\n\n\n\n<p>Under Niagara Override, select the system you just made. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2553\" height=\"1389\" src=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara.png\" alt=\"\" class=\"wp-image-531\" srcset=\"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara.png 2553w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara-300x163.png 300w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara-1024x557.png 1024w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara-768x418.png 768w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara-1536x836.png 1536w, https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-content\/uploads\/2026\/04\/Unreal-Niagara-2048x1114.png 2048w\" sizes=\"auto, (max-width: 2553px) 100vw, 2553px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\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=\"3DGS with Niagara particle system\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/rVNViccjK_Y?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\">Example effects from Alex<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Last Updated: April 2026<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Install Plugin Open Unreal Engine. Click on Edit, Plugins. In the pop-up window, add 3D Gaussians, and reopen Unreal for this change to take effect. Optional step to see the Niagara folder: Open the Content Drawer on the left side. Click on Settings (gear icon), and make sure Engine Content and Plugin Content are checked. [&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-325","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages\/325","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=325"}],"version-history":[{"count":10,"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages\/325\/revisions"}],"predecessor-version":[{"id":554,"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/pages\/325\/revisions\/554"}],"wp:attachment":[{"href":"https:\/\/projects.etc.cmu.edu\/dots-to-depth-studios\/wp-json\/wp\/v2\/media?parent=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}