Hi guy! Today i will share about how to optimize 3D assets, compare with 5 methods you can use.
World effect filters that use plane tracking will mostly use 3D objects and bring this 3D object into the real world. However, the allowed limit of an Instagram FIlter can only be up to 4MB. While 3D objects will mostly be heavy. This article will show you how to optimize 3D assets in your project.
If you don't know why we need to optimize 3D assets, please read the article: Spark AR fundamentals you need to know!
To make it easier to understand and compare, After adding all 3D assets including models, materials, and textures, I used 5 different methods to optimize 3D assets:
1. Delete unused assets
In the process of importing assets, sometimes there will be redundant assets, these extra assets also affect the file size of the project.
Spark ar provides a tool to check which assets you are not using in your project. You can delete them all with one click. Very convenient
2. Compress the original textures using Spark AR compression tool
Compress the original textures using Spark AR compression tool and compare between 3 options: None, automatic, manual. The following results:
None: File size is as heavy as the original and not optimized
Automatic: Good optimization, but the original file is still kept inside the project folder making the project can exceed 40MB
Manual: Very well optimized in Simulator, but on the device appears noise and grain.
3. Use a 3rd party to compress the texture before putting it into the project.
Two free websites that I often use to compress images for my projects (not just with Spark AR) are tinyPNG and squoosh.app. I also did a comparison between these two websites and my advice for you is:
If you need to compress many images at once, and your project still has a lot of space, you can use tinyPNG to save time, but the file size will not be reduced much.
If you focus on minimizing the size of images and keeping the best quality, you should use squoosh.app. However, you have to do each image file one by one, which will take more time.
4. Use textures compressed by squoosh.app into Spark AR Studio
Textures that are compressed before being included in Spark AR have advantages over using the compression tool inside spark ar studio:
Control the file size of all images in your project
Sometimes compressing with Spark AR Studio will make your .arproj file size meet Instagram and FB requirements (4MB or less), however, the .arexport file will still be larger than 40MB
Compression before importing into Spark AR Studio will satisfy both conditions .arproj (<4Mb) and .arexport (<40MB)
There will be many options for you to optimize your images.
5. Compare the results
After using all the ways you can compress images, Compression with the squoosh.app gives the best results, tinyPNG comes in second, and finally Spark AR Compression.
Above are my experiences with 3D object optimization, you can watch the video to understand more about how they work.
If you have any good experiences with 3D object optimization, please comment and share them for discussion. Thank you!