How to Turn a KIRI Engine 3DGS Scan Into a Game-Ready Asset

0Article by Filip Radivojevic
3D Gaussian Splatting makes it easier to capture real-world objects, but a scan is only the starting point. If you want to use that capture in a game engine or publish it as a marketplace-ready 3D asset, it needs to become a clean, optimized, textured model with proper files and presentation.
In this workflow, we take a KIRI Engine 3DGS scan from image capture and mesh export through cleanup, remeshing, texture baking, game-ready preparation, and final publishing on the RenderHub marketplace. The goal is to show how a visual scan can move beyond capture and become a usable 3D asset for real production and sale.
Capture Source Images for a Cleaner 3DGS Mesh
We can use either the KIRI Engine mobile app or the web version. Here, we'll be using the web version.
With the mobile app, you can directly capture photos or videos and upload them right from the app.
Since we're using the desktop version, let's look at how to properly capture your subject.
Whether you're taking photos or recording a video, it's best to capture the object from three different heights or angles while moving around it to ensure full coverage.

We generally prefer taking photos instead of recording a video because it gives us more control over the capture process.
One thing we've noticed is that it's best to keep the size of the subject consistent across all images. If the subject appears at a certain scale in most of the photos, try not to change that scale dramatically between shots.
Large changes in the subject's size can sometimes cause issues during the reconstruction process and may result in a less accurate mesh.

Create a 3DGS Mesh in KIRI Engine
Now it's time to upload your images. After logging into your account, go to 3DGS Scan.

You can upload up to 300 images or a video up to 3 minutes long.
Next, choose your preferred mesh format. In this example, we're selecting OBJ.
Make sure to enable Remove Background if you want to generate a standalone 3D model without the surrounding environment.

After uploading your images, give the system a few minutes to process them.
The 3DGS will be generated first, followed by the mesh.

When the processing is complete, you can find the mesh in the Scans section.

Clean Up the KIRI Engine Mesh Before Export
Once you've opened the mesh, you can use the Edit button to make any necessary adjustments.

For example, we applied a slight rotation and cropped a small portion from the bottom of the mesh to achieve a cleaner result.

You also have access to color correction tools for adjusting the texture.

Once you're done editing, click Finish in the upper-right corner of the screen. A new window will appear. Enable both Fill Holes and Rebake Texture to optimize the texture based on the updated, cropped model.

Export the Mesh for Further Editing
Generating the updated model may take a few minutes. Once it's ready, it's time to export your mesh. Click the Export button in the upper-right corner of the screen.
Here, you can use the default settings and download your model immediately.

Alternatively, you can use the Advanced Settings, which allow you to generate a quad mesh, include PBR materials, change the mesh file format, adjust the texture resolution, or generate a rig for your model.

Exporting with Advanced Settings takes longer to process, and the completed export will be sent to your email address.
Here's a comparison between a regular export (left) and an export using the advanced settings (right).


Remesh the 3DGS Scan for Game-Ready Topology
We used the Quad Mesh option to optimize the mesh slightly, but it's still not sufficient for a game-ready model. We need to remesh it and prepare it for baking./p>
To do that, we used Instant Meshes, a free software tool that can quickly reduce the polygon count of an object while generating a cleaner topology.
Simply open your OBJ file. For the Target Vertex Count, we entered a value of around 2,000 vertices.
Next, click Solve in the Orientation section and review the orientation of your mesh. If any areas need adjustment, you can use the Comb tool to make local orientation edits.
Once you're satisfied with the orientation, click Solve in the Position section as well.
If you're happy with the result, continue and click Export Mesh. Then press Extract Mesh to generate and preview the final result. Finally, click Save to export your mesh.

Bake Texture Maps from the Scan to the Low-Poly Model
Now we have both the high-poly model (the 3DGS scanned mesh from KIRI Engine) and the low-poly model (generated with Instant Meshes). The next step is to bake the textures from the high-poly model onto the low-poly mesh.
It's important that both models occupy the exact same position in 3D space. To make the low-poly model match the high-poly version more closely, we can use the Shrinkwrap modifier.
Add a Shrinkwrap modifier to the low-poly model and select the high-poly mesh as the Target. This will project the low-poly surface onto the high-poly model, helping it better match the original shape. Once you're satisfied with the result, apply the modifier.

Before baking, we need to unwrap the low-poly model. You can either manually mark seams and create the UVs yourself, or use Smart UV Project for a quicker unwrap.
To use Smart UV Project, enter Edit Mode, select all faces by pressing A, then press U and choose Smart UV Project from the menu.

Everything is now set up and ready for baking the normal, base color, and roughness maps. Let's start by baking the normal map.
First, select the low-poly model and create a new material. Add an Image Texture node, create a new image with a resolution of 2048 2048, and set its Color Space to Non-Color. Connect it to a Normal Map node, then plug that into the Normal input of the Principled BSDF shader.

Next, go to the Render Properties tab and reduce the Max Samples value for the render. This will help speed up the baking process.

Set the render engine to Cycles. Open the Bake section, select Normal as the Bake Type, and enable Selected to Active.

Make sure both the high-poly and low-poly models are visible and that nothing is hidden. In the Outliner, select the high-poly model, then hold Ctrl and select the low-poly model so it becomes the active object. In the Shader Editor, make sure the Image Texture node is selected. Finally, click Bake.

If you get a poor result, like we did in this example, it usually means the bake cage needs adjustment.

Under Selected to Active, increase the Extrusion value. Let's try 7 cm and bake again.

The result is much more convincing.

To bake the base color map, select the high-poly model and import the base color texture generated by KIRI Engine if it wasn't imported automatically. Then connect it to the Base Color input of the Principled BSDF shader.

The process is very similar to baking the normal map, with a few small differences.
Add a new Image Texture node and connect it to the Base Color input of the Principled BSDF shader. Make sure the Color Space is set to sRGB.
In the Bake settings, change the Bake Type to Diffuse. Under Influence, disable both Direct and Indirect, leaving only Color enabled. This ensures that only the base color information is baked into the texture.

Select the high-poly model, then select the Base Color image texture node in the Shader Editor.

Hold Ctrl and select the low-poly model in the Outliner so it becomes the active object. Then select the new Image Texture node and click Bake.

The normal and base color maps are now ready. Next, let's bake the roughness map.

Baking the roughness map is very similar to baking the base color map. The main difference is that the roughness texture should use Non-Color as its Color Space. Also, make sure to set the Bake Type to Roughness before starting the bake.

Here's our final game-ready model, consisting of approximately 3.4K triangles and a complete set of normal, base color, and roughness maps.

Don't forget to save all of your baked textures so you can safely use them later without losing any data.

Prepare the Game-Ready Asset for Distribution
Before uploading the model to a marketplace, let's make a few final adjustments and get everything ready for distribution.
First, let's fix the scale of the model. This astronaut figure is approximately 21 cm tall in real life, but our model is currently 394 cm tall.

Simply scale the model down until the Z Dimension reaches 21 cm. Once the size is correct, press Ctrl + A and choose Scale to apply the object's transforms.

Since this is a game-ready model, we should triangulate the mesh before exporting it. First, make a backup copy of the model in case you need to make changes later.
Then enter Edit Mode, select all faces, and press Ctrl + T to convert the mesh to triangles.

Also, make sure the model's origin is located at the bottom center of the mesh and that the model is positioned at the world origin (0, 0, 0). This helps ensure proper placement and compatibility across different game engines.

Package the Model, Textures, and Presentation Images
We can now export the model in different formats, such as FBX and OBJ.
It's also a good idea to provide a Blender file with the materials already set up and all textures packed into the project file.
Additionally, create a separate Textures folder containing all of the texture maps so users can easily use them in other 3D software or game engines.
Also, create a collection of renders and screenshots showcasing your model from different angles. Include wireframe views to demonstrate the topology and overall mesh quality.
Good presentation images help buyers quickly understand what they're getting and can significantly improve the appeal of your product.

Publish the Finished 3D Asset on RenderHub
Submitting an item to the RenderHub marketplace is pretty straightforward.
Click the Submit button in the top-right corner of the screen and select Marketplace Item.

Choose your product type and name.

Add a description.

Rate your content, choose the appropriate category and subcategory, and select a license for your product. You can also add relevant tags to improve discoverability on the marketplace.

Add more detailed information about your model.

Select all file formats included in your product.

Enter the price of your product, add any collaborators who will share the profit with you, and choose whether the product was made with AI or not.

Upload the main thumbnail of your product.

Also add all promotional images.

Upload all your files as a single packed ZIP archive.

Check this box to confirm that you agree to RenderHub's Terms and are authorized to sell this item.
Finally, click Submit Product.

Congratulations! Your product has been published.
You can manage it in your Product Manager section.

Once published, the asset appears in the RenderHub marketplace.

Final Thoughts
Turning a 3D Gaussian Splat scan into a game-ready asset requires a full production pass, but it gives artists a practical way to bring real-world captures into a production pipeline. Once the scan has been converted, cleaned up, remeshed, baked, optimized, and prepared with proper textures and files, it becomes much more than a visual capture. It becomes a usable 3D asset that can be presented, imported into a game engine, and prepared for marketplace distribution.
This workflow shows one focused path from KIRI Engine capture to a finished asset, but Gaussian Splatting can support many other creative directions as well. For a broader look at how 3DGS scans can be shared, showcased, converted, referenced, and reused after capture, you can also read KIRI Engine's guide to 3DGS scan use cases. When your asset is ready, RenderHub gives you a place to publish your work, reach 3D artists and developers, and turn your scan-based workflow into something others can discover, download, and use in their own projects.
Have you started using 3D Gaussian Splatting in your own asset workflow? Share your results, challenges, or questions in the comments. We would like to see how artists are turning real-world captures into usable 3D assets.












