Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Formatting 3D models for export.
This guide is built with the intent to allow model submissions to come into the hands of developers as close to usable as possible, so that minimal cleanup or edits are required, and as such, a finished, accepted model needs to meet the criteria listed in the following pages.
A "normal" is the direction the face of a model is pointed. In the images to the right, the normals are represented by the blue lines.
To save processing power, software like Unity will only render the "normal" side of the face. This process is called "backface culling".
By default in Blender, backface culling is turned off, so it will render both the front (normal) and backside of each individual face. This commonly results in models that have faces with inverted normals, since, to the modeler, the faces appear to be all the same.
This can be prevented by enabling backface culling in Blender. As of Blender 2.8, backface culling can be found in the material settings while in LookDev view.
The template in the SS3D modeler's kit has backface culling enabled by default for all present materials. Hopefully taking this step and allowing backface culling should allow modelers to keep better track of the normals. Keep these fundamentals in mind when modeling flat objects like paper, as they will need to be double-sided.
The function of an object's origin is slightly difficult to explain to someone unfamiliar with the concept, but simply put, an object's origin is its handle. In Blender, an object's origin is represented by a little orange dot.
When you rotate, scale, or move an object in object mode, these functions are performed on account of its origin's location. Blender's mirror modifier is also dependent on the location of the object's origin.
The placement of the origin is something to consider, because in gameplay, it is the point from which the object spawns, as well as the default point from which it is picked up and held.
As a general rule, if the object has a handle, the origin should be placed in the center of the handle. If the object has no obvious handle, then it should go in the bottom center of the mesh.
Another (less common) origin placement would be in the center of a rotating axis, like in the hinges of a door or lid.
This is touched on in the SS3D Style Guide, but it still bears repeating since it's so often overlooked. People often associate low poly art with flat-shaded surfaces, but this is not the case with SS3D! Models in SS3D all have a smooth-shaded appearance, which helps a great deal in getting that soft, almost pastel-like appearance.
Surfaces in Blender 2.8 can be shaded smooth all at once by entering object mode, selecting your target, and clicking Shade Smooth from the "object" dropdown at the top of the layout.
If a sharp edge is desired, you can mark an edge sharp by selecting the edge in edit mode, and clicking Mark Sharp from the edges menu at the top of the layout. Sharpness can also be removed in a similar way, but instead, selecting Clear Sharp from the same dropdown.
For best smoothness, try to model using only quads (four-sided polygons). An additional thing to note is that the materials don't use specular highlights, so if you're setting up your own material, turn specular down to 0.
To properly align an object with the player's holding bones, we need to ensure that there is a precedent set for the rotation/orientation of objects.
Ideally, held objects should be upright, like in the attached images. This isn't mandatory, since you can set the position manually in Unity, but this is the preferred way to position things.
This makes it way easier to preview the holding animations within Blender.
You can test out hold positions by adding rotation and location constraints to the desired object, then selecting the armature, then the right hold bone.
Many objects in SS3D will have variants to go with them, such as light bulbs and their broken counterparts, or different stages of construction, crafting, or consumption.
For a clean in-game transition from one variant to the next, it is important that all variants of an item have their origins in the same exact relative location.
And while all variants of an item can technically be saved as different files, it is best that all variants of the same item are stored within the same .FBX file to decrease clutter within folders.
When opening the .FBX files, the multiple objects can be distinguished within Unity.
So, you've followed this guide to a T and now you're ready to export. Here are some notes before you export:
Selected Objects - This allows you to export only the objects you have selected. Highly recommended to toggle it on so you don't accidentally export the whole scene.
Apply Scalings - Set this to FBX All This fixes some scaling issues in Unity.
!EXPERIMENTAL! Apply Transform - This also fixes scaling issues in Unity, but primarily in regards to armatures. Just toggle it on anyway.
No Leaf Bones - Turn off "Add Leaf Bones". It adds useless additional bones to the ends of armatures.
If you are using the template provided in the SS3D Modeler's Kit, then hurray! The sizing should already be obvious to you.
A square in the checker grid is the size of a tile in SS3D, but even if you aren't using the template, a square in Blender's default grid is the same size.
You should take care to ensure that a 1x1 sized object fits slightly within the confines of a grid space, so that it does not collide when being slid through doorways.
When exporting a file to .FBX, the model will not preserve its textures. Instead, the materials will be applied in Unity, so it's important that the material is named something recognizable.
By default in the template file, there will be pre-named materials. Palette05 should be attached to all relevant materials, so UV mapping should remain the same between all of them.
It's also worth noting that some materials might need to change dynamically in-game, such as liquids.