How can I compress my 3D files in Blender for Spark AR?

Hi,
I download 3D models online to use in Spark AR but they are often way to big. I am a Blender user so I would like to know how I can compress them inside Blender?

Hey,

I’m more of a Maya user, so don’t know the exact process on Blender but the basic idea is :
1° Delete any unused scene items (lights, controllers, etc…)
2° Textures can sometimes be bundled up in the export so, if you’re going to use spark and are unsure how big your textures are, just save a separate copy in which you delete them (they can be remade in spark for lower weight/file size)
3° Reduce the polygon count of the meshes in the scene. In Maya typically this goes through a Mesh > Reduce, and a quick search seems to suggest Blender’s Decimate tool would be similar :
https://help.augment.com/en/articles/2666702-blender-how-to-reduce-the-polygons-count

A last thing worth mentioning is that different file formats will lead to different weights, so depending on whether or not you have an animation for example, you could use a simple .obj instead of a .fbx

Hi @Boris
oh the decimate tool works quite well! that was a good tip!
I am not sure what you mean with a simple .obj instead of a fbx. What is the difference anyway? For spark AR you can only use .fbx no?

Thank you already!

I don’t have the technical knowledge to explain the differences sadly, but I noticed the weights weren’t consistent when I was having unrelated 3d issues with spark (which led me to try different formats for the same file).
Spark doesn’t only take .fbx actually :+1: The ideal import format would be .gltf 2.0 if I’m not mistaken, which can actually be exported from Blender. That file format should keep the most of your original scene once imported in spark.
With .fbx I tend to have to remake the materials for example. And .obj actually solves the annoying creation of multiple null groups once your model is imported, so I tend to use that when I don’t have any skeletal animation, rather just a model.

Hi @Boris
I see thanks again! I will try it with obj. as well from now on! I never used a .gltf format though sounds great ans since I use blender I will try that as well!!

cheers!

The Spark team recently released a blender plugin for reducing poly count and exporting as gltf. It has some auto cleaning tools and a handy thing for re-centering your mesh on the origin. It also lets you set the height of the mesh in centimeters, so you don’t end up having an object that is 100x too big.

3 Likes

actually maya also allows gltf exports, which surprised me as it doesnt have a native importer, at least in v2019

1 Like

if you actually use blender, then you can use the recently published export tools

ps. oh didnt see @josh_beckwith also had posted this my bad

lets add something useful then:
if you happen to be exporting animations, every joint in the skeleton counts towards animation weight, and every vertex adds twice to the overall weight, as weights information is also needed, plus the realtime calculations. so first reduce mesh density, then check how many joints you can live without

5 Likes

@MartinBerisso Thank you for the extra tips!
I do not download rigged models a lot but I will keep this in mind for sure!

Hi @Sarah.
I’m Pierre Schiller. I’m a Blender Foundation Certified Trainer. I would happily help you with any inquiries you have about optimization.

4 Likes

hi @activemotionpictures
Oh wow that’s great! I do not have a question on top of my mind atm. but I most likely will need help again soon :smiley: