The number of 3D modeling tools and file formats is very excessive and picking the best 3D model format for your AR applications because it can be somewhat frustrating and confusing this article explains what we learned from building our first AR application, and which 3D file format proved to be the strongest for the job.
Problem
Our XR application is powered by popular union game
machines, and our CMS allows us to import new assets into our application when
they run. This makes it easy to make changes to your application without having
to push the entire application update to the store.
The first step is to decide on the 3D file format for use,
and one of the main criteria is the unity must be able to swallow it. View
unity documents, we learn that FBX, Dae (Collada), 3DS, DXF, OBJ, and SKP files
are supported. We then narrowed this list. For example, OBJ is not an option,
because it does not support animation, and 3DS only works with 3ds max, so it's
too limited. We finally decided that the FBX, the 3D format that is widely used
by Autodesk, is the type of file option because it functions with various
software packages, OBJ, DXF, DAE, and 3DS can be easily converted to FBX using
FBX. SDK, and FBX models can be seen on the web using Three.js.
The main problem we encounter is that the unit does not
like it when you try to import 3D models during runtime, because game
developers usually have all their models imported in their unitary projects
before they build it ("edit time"). We found assets importers 3D
models at the Store Unity Asset, which promised to allow runtime to import 40+
3D file formats. However, our original format planned to use, FBX, only
partially supported, and so we don't understand how we import models at
runtime.
What will sketch be doing?
In the title, we originally specialized in VIDEO 360ยบ VR, so
handle a new 3D model for us. That's why we decided to see Sketchfab, one of
the largest 3D model websites in the world, to see if we could learn something
from what they did. What we found was a pleasant surprise ...
Mech Drone by Willy Decarpentrie in Sketchfab
When we try to download the Mech model from Sketchfab, we
are presented with two options: 1) Download the original file uploaded by the
creator, or 2) Download the converted file in the GLTF format. GLTF?! Never
heard that before! But if it is the format of choice for sketchfab, there must
be something for it, and some further excavations reveal a lot of interesting
information about this mysterious file format.
GLTF: JPEG of 3D
GLTF is "JPEG of 3D" that is self-proclaimed, and
the first thing to raise us about GLTF, is that it is a format created by the
Khronos group, which is a group behind WebGL standards, and includes members
like Apple, Microsoft, Google, Nvidia , and many more heavyweight technology industry.
In the words of the creator:
GLTF minimizes the size of 3D assets, and processing runtime
needed to disassemble and use these assets. GLTF defines the format of general
publications that can be expanded to 3D content tools and services that
streamline workflows are writing and allow the use of interoperable content
throughout the industry. "
As you can read in the statement above, GLTF is free of
royalties, and not related to certain software packages. It also has small file
sizes and extraordinary performance, making it an ideal format for cellular and
web applications.
We also see the fact that SketchFab uses GLTF as the format
of choice as the main added value, because in the future we will be happy to
allow users to import their 3D models to headjack directly from their SketchFab
account. Even Facebook announces support for GLTF!
Closer display.
On a more technical note, what is the GLTF file? Well, it's
actually a combination of files, as you can see in the image below.
However, because we host these models on the server and have
to import it into the application, it will be much easier if .gltf, the .bin,
and texture files can be combined into one file. Fortunately, the GLTF standard
has this option, in the form of a GLB file container with the .glb extension. In
this way we only need to deal with one file, which makes many things easier and is the main benefit of file format such as obj, which does not have this
option.
In connection with compression, the group has the following
to say:
However, the design team believes that compression is a very an important part of transmission standards, and there is already a work that is
being done to define compression extensions."
For now, however, some compression can be achieved using
web3d_quantized_attributes.
As expected from the standard Khronos group, there is
extensive support for the GLTF format. Some examples of striking tools that have
supported it:
Unity
Sketchfab.
Three.js.
A frame
Microsoft Paint 3D.
And head jack can be added to the list after we launch our AR
feature later this year!
Now you have hopefully as excited as us about GLTF, but
how can you change your model into a GLTF file? Well, one way is to upload your
model to SketchFab, and then download it as GLTF. However, a better approach is
to use one of some GLTF exporters and converters out there. For example,
official blenders, 3ds max and sketch exporters, and FBX2GLTF converter or
obj2gltf. This GLTF model can then be seen in Unity, Paint 3D, or a very
impressive viewer of clay. As you can see, there is already a very impressive
ecosystem for this rather new format.
No comments:
Post a Comment