Photogrammetry

Photogrammetry is a technique through which you can extract 3D information from photographs. By extensively photographing an object from all sides, you can use software like Polycam or Abound to create a 3D mesh from these photo's. This mesh can then be imported into 3D software like Blender, and can be rendered using the photo's as textures. 

Polycam

Polycam is an app that can use photogrammetry, gaussian splatting and LiDaR (with apple iPad/iPhone Pro models) to make 3D captures. It can be used for free and paid. The free version offers 20 object scans with a maximum of 100 images per capture. It also offers a free gaussian splatting tool. The paid version has unlimited scans and images per capture. Here's an overview of functions, both free and paid: https://poly.cam/pricing

Unlike in other software, the Polycam app helps you make scans. While you are circling around an object, the app takes photos for you and tells you when to slow down. It also shows you how much photos you have left. When in LiDaR mode, it overlays and previews the mesh that its building in real time. After you're done capturing, it uploads your images to Polycam where it builds your scans. You can view and download them online.

In general, use LiDaR when scanning spaces or environments and use photogrammetry for objects. Gaussian splats may work in scenarios where the object you're scanning has specular, fuzzy or translucent qualities. It is harder to convert into a mesh, however. A short description of when to use LiDaR vs Photogrammetry can be found here: https://www.youtube.com/watch?v=gZ6AWrzIx6c&list=PLqnRz-4Awhm7MXTpkgq9paJLC3ONJEBUX&index=1

Working with LiDaR, photogrammetry and guanssian splatting in Polycam:

Here's a tutorial detailing how to work with LiDaR in Polycam: https://learn.poly.cam/hc/en-us/articles/27419935601940-Creating-LiDAR-Captures

For photogrammetry, see this tutorial: https://learn.poly.cam/hc/en-us/articles/27425185907348-Creating-Photogrammetry-Captures-in-Object-Mode

And for Gaussian splatting: https://learn.poly.cam/hc/en-us/articles/27740818315668-How-to-Create-Gaussian-splats-on-Polycam-mobile

Taking your scans into other software

If you want to process your scans into software like blender or unity, Polycam has great tutorials on these topics on YouTube.

Blender: https://www.youtube.com/watch?v=1HxJiwihi6g&list=PLqnRz-4Awhm7MXTpkgq9paJLC3ONJEBUX&index=9&t=105s

Unity: https://www.youtube.com/watch?v=DEbDsxETQuE&list=PLqnRz-4Awhm7MXTpkgq9paJLC3ONJEBUX&index=14

Find more software use cases here: https://www.youtube.com/playlist?list=PLqnRz-4Awhm7MXTpkgq9paJLC3ONJEBUX

Abound

Reality Capture

Tools to aid in photogrammetry

Circular polarisation filters

Anti-reflective coating spray

Gaussian Splatting: online and local

Gaussian splatting offers an interesting alternative to photogrammetry for specific use cases, particularly where real-time rendering, photorealistic results, and the ability to capture reflective and transparent surfaces are necessary. There are lots of online options for Gaussian splatting, both paid and unpaid. Kiri Engine seems to be a very complete suite and now has the option to make meshes out of splats, for use in for instance Blender in the paid version.

For all online platforms (paid or unpaid), please be aware of your data and privacy! 

Running Gaussian Splatting locally

If you don't want to be reliant on external systems, you can make Gaussian splats (and photogrammetry) locally with a somewhat beefy computer. There are multiple tools available for this, but here we chose Postshot (Gaussian splatting) and RealityCapture (photogrammetry) for a quick comparison. 

Workflow in Postshot:

There are plugins for

Below: the same chair model in Postshot and Blender

Screenshot (2).png

Postshot

Screenshot (3).png

same model in Blender

Compared to local photogrammetry (RealityCapture)

We've used the same source video for a render in RealityCapture. This render took about three minutes and shows one of the problems with photogrammetry: shiny objects become invisible. You can fix this by using a polarizing filter over your lens.

Screenshot (5).png

In RealityCapture

Screenshot (6).png

.obj imported in Blender

Screenshot (7).png

Render with lighting in Blender

Thoughts on using Gaussian Splatting

As long as Gaussian splatting does not easily convert to meshes, it's use in live 3d engines might be limited. Models can be quite heavy (the chair above is 130MB as a splat, vs 20MB as a .obj) and can't be reduced easily. 

It might be more applicable to pre-rendered applications, where you have can re-edit the camera from the original recording. Change angles, change camera movement, etc.

Various tutorials on Gaussian Splatting

importing .ply gaussian splat in Blender

Core principles of photogrammetry

Image quality, Information overlap, Subject coverage

Very good guide: Photogrammetry Basics

Screenshots below were taken from this Unreal Engine YouTube seminar

Screenshot 2025-04-15 at 11.59.44.png

Screenshot 2025-04-15 at 12.00.01.png

Screenshot 2025-04-15 at 12.00.41.png

Screenshot 2025-04-15 at 12.00.59.png