Tips of 3D data creation

Web output


The web is the strongest platform.
Just hit the URL and the content will appear without installation. And the perfect multi-platform. There is no need to separate development and management from the iOS version, Android version, etc. unlike the application.

Techniques on the web

The advantage of not requiring installation is both a merit and a demerit.
No matter how huge the size of the application, you will have no trouble starting it, only the stress during installation.
But that's not the case on the web. The moment the content is accessed, how to develop the content without feeling the loading stress is the creator's skill.
The point is to keep the data size smaller and more efficient.


WebGL is a derivative of OpenGL.
You might think it's slow on the web, but that's not the case at all.
For game machines like the original PlayStation and Dreamcast, the technique of extremely reducing the number of polygons was important, but on modern PCs and smartphones, such savings are not necessary, Furthermore, on a customized PC as a gaming machine, the performance will be the same as the current game program.

However, I don't know what kind of environment the Web will be displayed in. In some cases it may be necessary to be aware of extreme low polygon models.
A non-standard machine such as a self-made PC that seems to raise the resolution even though it has low specifications It does not mean that it is not displayed even on extremely old machines.
It is up to the project and the creator's discretion whether to discard these or to consider low specifications.


Notes on light source when exporting glb

The XR Studio Staging Editor allows you to import Lights if your GLB export data includes Lights.
In Blender, if you check [Punctual Lights] and export GLB, the data will include Light.
Although it is a little tip, by exporting only lights, staging data of only lights can be generated, so it can be used as an additional light in AR.
(In AR, you may not need a stage object, so it's a good idea to keep this tip in mind.)


Center of rotation

Be especially careful with objects with joints

The origin of an object is the center of rotation for each individual object.
The current version of XR studio does not have the ability to edit the origin of individual objects.
Make correct adjustments within the 3D tool.
In the case of an object with joints such as a person or robot arm, natural movement can be realized if the joints of the parts have an origin.

Skeletal animation

Skeletal animation is the animation method with bones.

Bone Animation export

When the bone animation is applied, it is necessary to export the armature as well.
Align the Normals, which are the directions of the polygon faces, correctly. Cameras, null objects, etc. are not needed in XR Studio and need not be included in the export.
(As for lights, some data can be read with XR Studio Staging Editor)

Handling multiple Armatures

The XR Studio Performing Editor allows you to import multiple Armatures and Actions.
The imported Action can be moved in any SkinnedMesh, but if it is not a SkinnedMesh that is supposed to correspond, the polygon will be distorted, so It is better to move the Action to the SkinnedMesh that is supposed to correspond as much as possible.

Export Action

You can apply multiple actions to an Armature by using DopeSheet >ActionEditor in Blender.
Usually, it is registered as a direct child of Armature, but sometimes an Action with another parent can be created.
To check and edit the structure of Armature and Action, use NLA Editor.
(Move the mouse to each item and press Shift+A to create a new track or new strip. You can delete it with the X key and move the strip with the G key.)

Bone animation initial position

You can check the movement of Morph animation freely by moving the frame in Blender.
This is a source of confusion if you capture it like a preview.
The shape of the morph at the time of export will be the initial position as it is.
Be sure to export back to the default pose frame.

NOTE: In case of Blender 2.8, it seems that only the animation clip in the first layer can be imported on the NLA tool.
The specifications may change with the tool update, but if the animation does not import correctly, please check the NLA tool.

Tips for weight painting

For Blender.
Edit> Uncheck Lock Object Modes

Move in real time

Texture size

Images of any size can be used as textures, but powers of 2 are the most memory efficient and have no limits on their use.

  • 64px x 64px
  • 128px x 128px
  • 256px x 256px
  • 512px x 512px
  • 1024px x 1024px

Unit of length

In glTF format, the unit of length is metric.
In XR Studio, it is assumed that the integrated human model is displayed in the center of the screen. Since it is the size of a person, it is an image that an object up to about 2 meters is displayed.
You can change the size in the XR Script Editor, but we recommend that you consider it as a temporary measure.
After all, the size should be uniform when creating the model.

Units in 3D tools

Since Blender version 2.80, the default length unit is metric.
If you are using other tools or older versions of Blender, you need to align the units.

XYZ Axis

The tool may have different axes, but in XR Studio the Y axis is height and the Z axis is depth.
Please be careful if your 3D tools differ from XR Studio.

Some 3D tools, including Blender, may have Y and Z reversed.
With the Blender add-on glTF Exporter, there is an option called "+Y Up" when outputting, so let's use this.
Even with other tools, you can handle it by rotating it 90 degrees manually.

GLB compression

GLB has a compression method called Draco Compression.
Web-XR Studio supports this Draco compression, but please note that if you compress a Skinned Mesh with Bone Animation, the mesh will disappear.
(We are investigating whether it is a bug or such a specification, but the behavior on GLB side matters is such.)