General Modeling Guide
Here you can find all the information you need to start uploading models. In order to keep efficiency on the game, there are some restrictions you need to comply as they are laid out in our Guidelines.
Supported Formats
We are currently supporting the FBX Binary, glTF, and glb file types for 3D assets. We recommend to use the FBX Binary file type for the best results.
Meshes
- Avoid multiple meshes. Join them all if able to.
- Check for good topology. We will automatically generate LODs for your model so the better the topology the better the result.
- Remember: This is a game. Low Poly is preferred. Optimize your mesh ALWAYS.
- Be cautious with overlapping models (is preferred to not overlap as you can get artifacts).
- Do not use N-gons. Either triangulate or send as quads.
- Ensure your models are solid. We do not render double sided faces of models. If you want an inside to be visible you will have to create the inside of the mesh or use a solidify modifier in Blender or Extrude the interior in Maya to give the model an inside.
- Non-manifold geometry will result in unpredicatble results.
- Zero area geometry or NaN geometry will produce unpredicatable results.
- Do not use Blendshapes (except for the approved portion of Avatars). Any other model will be stripped of their Blendshapes/Shape Keys.
Materials
- We support two types of materials:
- Opaque
- Transparent
A transparent material will be assigned if the alpha channel of the Base Color texture is configured as an opacity map. Transparent materials increase the build weight of the object in the game, so be sure this is not the case if an opaque material will suffice!
Textures & UV
- The following texture maps we support are:
- Base Color
- Metallic
- Normal
- Smoothness or Roughness
- Emission
- Ambient Occlusion
To use Ambient Occlusion in an FBX file, attach the texture to the Specular channel. For glb/glTF follow the correct workflow for your respective software to include Ambient Occlusion.
- We do not support UDIM, only use the default UV area
- Maximum texture size will depend on the model type
- Do not overlap UVs (if not intended)
- Only use one UV set per mesh
For glTF and glb we only support texture nodes directly linked to the material, no extra mixer or split nodes at the moment.
Rigs and Animations
Avatar rigs compliant with unity humanoid definition are the only supported rigs at this time.
Collisions
This is a Nifty Island only feature.
By default we will use the mesh of the asset as the collision. If you want better collisions and performance you can create custom collisions in your asset file instead.
Create Custom Collisions
If you create custom collisions it will be used instead of any other collisions. You can use multiple custom collisions in the file to best define how things can collide and interact with your asset. We recommend using the primitive collisions as much as possible and mesh for complex shapes or forms.
The types of custom collision that can be made are:
- Box
- Sphere
- Capsule
- Mesh
To create a custom collision it is best to use the corresponding primitive that best suits the shape:
- Cube -> Box Collision
- Sphere -> Sphere Collision
- Cylinder -> Capsule Collision
A mesh collision will of couse be made from a mesh, we suggest to use a convex hull or a greatly reduced polygon that best shapes around your mesh or asset.
Then the collision mesh will need the following prefix depending on the type of collision wanted:
NI_COL-BOXNI_COL-SPHERENI_COL-CAPNI_COL-MESH
For an asset you have that you want to have no collisions at all simply add a single empty object with the none collision naming:
NI_COL-NONE
Snap Locations
This is a Nifty Island only feature.
If you want to have precise snapping for your model when building in game, you can create snap locations.
Create Snap Locations
To create a snap location make an Empty Axis (Blender) or a Group (Maya) and set the transform where you want things to be able to snap to the object. Label the transform with the prefix NI_SNAP. You can have at most 20 snap locations and it is recommended they all be at least 0.5m away from eachother to ensure clean snapping.