Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
(Most of this should be elaborated on at some point.)
They’re fine as long as they’re at and won’t be animated.
Triangulating
Don’t triangulate your models.
Inverted normals
By inverting the normals of a model you can achieve an interesting pseudo transparency effect.
It’s not realistic but we’re not aiming for realism.
Double sided
Many thin objects such as paper, leaves or cloth don’t need to have proper thickness, but for performance the engine does backface culling, where faces that are “backwards” aren’t rendered.
This can be avoided by selecting the mesh, duplicating and then inverting the normals.
Pivot
Always at the center (XZ) and base (Y) of the object.
Modeling with NURBS
Cables and wires, but also some round but geometric objects like the plastic “cup” chair.
Cell fracture
To shatter objects for ingame destruction. Takes some setup.
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.
This document is a set of rules and guidelines for designing & contributing 3D assets for SS3D. It covers style & formatting, rigging, and animation.
These guidelines are written with Blender in mind, so we recommend using that, but the principles should translate to any 3D software.
These plugins are NOT required but are recommended by our developers. Links are added for plugins not included in blender by default.
Highly Recommended:
Simple Renaming Panel - Tools for renaming objects. Useful for mass renaming.
Material Utilities - Tools for managing materials. Useful for mass replacing duplicate materials.
Recommended:
tinyCAD Mesh tools - Some additional mesh manipulation tools.
3D Modeling Template (Blender)
3D Model Rigging Template (Blender)
3D Example Models (Blender)
3D Animation Kit (Maya)
3D Modeling tasks can be found here: https://trello.com/b/ZVcDitv0/ss3d-models
3D Modeling tasks that include rigs can be found here: https://trello.com/b/cyDuUYyv/ss3d-rig-models
3D Animation tasks can be found here: https://trello.com/b/xZ5bhNWw/ss3d-animations
Coloring models helps give more character and even depth to 3D models.
Having a palette has many upsides. It removes the need to learn texturing and also UV unwrapping, which is a tedious mechanical process that would raise the entry barrier to making SS3D content.
It makes it really easy to try different color variations, and it helps with cohesion.
By coloring parts of the mesh with a darker shade of the same color you give the impression that it's casting a shadow on itself.
Old games did this a lot, but it should be used very sparingly— it can look very wrong when light shines directly on the darkened part.
The disposals bin can’t rotate, so it’s safe to assume light will be hitting it from above.
At this point the model has no UV mapping. Select all faces and press U
> Reset
which is the most unwrapping you’ll need for most things.
Make sure everything is selected in the UV editor then scale it all down into a single point (press S
the 0
). Now select the faces you want to color, then drag the corresponding points in the UV editor to a swatch in the palette.
Textures may be used for repeating patterns, or where cutting up the model to add colors may cause problems.
Complex text or symbols can use a transparent texture, and of course posters and pictures are alright.
For more info on textures see the .
For simpler things consider just using polygons.
These simple decorations are floating just above the object’s surface. This also includes the “fake” grates on the lockers. They’re too small and the camera too far for the player to ever notice.
This section is immensely important to maintain consistency with our art style. Follow what comes after this sentence like gospel: Stylization involves emphasizing the defining parts of an object. When modeling something that exists in reality don't try to accurately reproduce it, even with reference the goal is just to make a caricature of the real thing. Another thing to keep in mind is that the world the characters inhabit is vastly different from the one that we do. When your fingers are thrice as thick as those of a human, the design language of everything you interact with changes dramatically to accommodate.
Just because you modeled that fancy AK-47 as accurately as you could, it can't be usable in game simply because the characters wouldn't even be able to comfortably hold it. Its stock would be too long and makes holding it awkward, and the trigger guard wouldn't even let a finger through. objects that would fit comfortably in our hands like a multitool, would be miniscule and hard to use for the game characters if they got their hands on it. If a single word could be used to describe the design language of everything in SS3D, it would be 'chunky'. Thick edges, large buttons, etc. In the image below, you can see just how different the character looks like compared to an anatomically correct human. Ensure you take this into consideration when making the assets.
Remember that items will be seen from pretty far away, so zoom out early and often, and always look at your work from all angles.
Focus on details that contribute to the silhouette. A gun barrel or tube doesn’t need to be hollow, it’s enough if the end cap is a darker color or just solid black.
If certain details are important but too small to be noticeable, make them bigger.
As a poor example, you don’t need 101 keys to model a keyboard the same way you wouldn’t draw every brick in a wall, just enough so that it’s readable as one, and big enough that it can be seen from far away. Don’t get attached to close shots of your model.
Too fine or complex detail might just become noise when viewed from the proper distance, so zoom out often.
The current year is 2018 and modern computers are capable of rendering millions of triangles per frame.
Low poly is largely a stylistic choice, but SS13 is a sandbox game and it’s not unreasonable to expect that hundreds of objects could be on screen at the same time.
It’s also about consistency— objects that are very polygon-dense will look out of place next to their low-poly friends.
Enough that it looks like a cylinder from camera distance. Larger objects have more sides, as well as objects that should have glossy highlights like the cryotube on the right.
It's difficult to correct this later in the modeling process. Remember to turn on smooth shading by selecting all faces then using Ctrl-F > ShadeSmooth. Select a matcap from the Shading panel on the right, regular Blender lighting is distractingly shiny and bumpy.
Matcaps don’t affect the material whatsoever, it’s just a preview within Blender.
Bevels are very useful in hard surface modeling since they catch and reflect light, highlighting the edges of an object.
SS3D though has a rough clay look, with left smoothness as a special eect for things that really need it so bevels are not that important and mostly optional. Do add them when your object has large surfaces, like a fridge, which otherwise would look like a tall box.
Small objects or small parts of larger objects don’t need them, since it would have little impact on the silhouette.
Alternatively use the Bevel Modifier in combination with bevel weights, which you can set individually for edges in the model.
It’s easier to tweak but I recommend applying the modifier after you’re done with it.
I've seen it called retrofuturistic, but that would imply that tech is fixed and has an unique inspiration. I think SS13 is closer to reality, where technology moves forward but machines that grow old and obsolete aren't always replaced or upgraded.
The result is a station where sentient positronics coexist with brain-in-a-jar cyborgs, and the crew uses dot-matrix PDAs to send messages to each other. This happens in reality, even now the military is carrying literal nuke disks—
—while the navy organizes their documents on computers running MSDOS. In the end it's both funny and good since it gives creators the liberty to add almost whatever they want, present or future.
I fully expect the HoP’s account database to be stored in tape drives.
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.
Modeling 3D models.
This guide is NOT a guide on 3D modeling itself, if you would like to learn, we recommend using the latest version of Blender (it's free) and watching a few tutorials on YouTube.
This guide is aimed at people who have the modeling basics down. Many people wanting to contribute are new to modeling so while there’s some general art advice, everything applies to SS3D.
The topics are in order of priority. Silhouettes are the most important thing, try not to add color or detail until you're satisfied with the shape of the model.
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.
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.
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.
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.
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.
Given that head items almost always need to be weighted only to the head, this is the simplest type of cosmetic item to add, and is very beginner-friendly.
When modeling a head item, you may want to take a peek at the supplied hair models within the rigging guide. Given that hair and hats both need to fit on a player's head, hair needs to change its shape depending on the hat.
As such, hairstyles have four possible shape keys: hats, helmets, masks, and hoods. For helmets that cover the entire head, like hardsuit helmets, the hair may be hidden entirely.
When designing a head item, you may want to enable the desired hair shape key and design around it.
After you're done, consider whether your hat needs a held variant based on the type of head item you created.
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.
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.
To beginners, this may be the first part of the guide where you may need to do extensive weight painting. If this sounds like you, you may want to brush up on techniques by checking out YouTube tutorials on weight painting, or by asking fellow SS3D model creators.
There are two key methods for creating torso clothing for SS3D characters:
First is just by editing the reference items and maintaining the weights that way. You can find some tips for this method by checking out the Basic Clothing section of this guide on page 5.
The second method is by creating your own model from scratch, then by transferring the weights from the model in the rigging template named "Human Weight Transfer Model." In order to transfer weights from one mesh to another, follow these steps:
Parent your mesh to the rig with empty vertex groups.
Add a Data Transfer modifier to your article of clothing.
In the modifier, select the eyedropper and select the object you want to transfer the weights from, then toggle "Vertex Data."
Select the drop down in the top right of the modifier and click "apply."
Hairstyles are among the most in-demand cosmetic types, being one of the most ground-level customization options for players. Provided you're able to model some decent-looking hair, the rigging process for hairstyles is similar to hats, with a bit more work.
Hair is easy to rig, provided you don't need the hair to move off the head (like a ponytail swishing around.)
To rig most types of hair, you can simply follow the guide on the head items page.
If you need to add bones to make the hair move, you can edit the default rig to include those bones. Adding bones named hair1, hair2, hair3, etc. and weighting them in Blender is enough -- dynamic bones are applied in Unity, if used.
Hair utilizes shape keys to allow it to fit inside headwear. When making hairstyles, use the reference hat, helmet, mask and hood to create the respective shape keys.
(When making the Helmet key, only use the "Reference Helmet 1". "Reference Helmet 2" is an example of an item that would hide the hair completely in-game.)
The rigging template includes a myriad of clothing items that you can use as reference for creating your own.
Because clothing items aren't always worn, jumpsuits, shirts, pants, shoes, gloves, neck items, oversuits and some types of hats need secondary variants to be held and placed as items around the map.
The reference models in the rigging template serve 3 purposes:
To supply modelers with a basis for articles of clothing.
To ensure that your hair shape keys fit within the constraints of a hat.
To serve as a reference for origin placement.
The Contents of the rigging template:
Human model featuring all cutoff points and shape keys.
References for head-worn items.
Reference hairstyle with shape keys.
All applicable materials.
References for jumpsuit, gloves, and shoes.
References for held clothing items.
References for jumpsuit shape keys.
The reference items are not only for viewing purposes, they also serve as an example for the formatting of things such as shape keys. Shape keys store positions for vertices, and are used for functions such as hiding hair under hats, helmets, hoods, and masks.
To edit shape keys on an item, simply click the desired shape key in Edit Mode, then move the vertices to the desired position as per each key.
TIP: You can use destructive and light constructive editing on the provided clothing items to make something new, while still maintaining clean armature weighting. However, too many changes in the geometry may result in needing to recreate shape keys.
This section will cover basic things you will need to know in order to progress in this guide.
To rig an item, you must select the mesh, then select the armature, and press CTRL+P. This will bring up the following menu:
"Empty Groups" creates a parenting with weights equal to zero, which is helpful for making things that are weighted to only one bone, like hats.
"Automatic Weights" does its best to automatically calculate which bone attaches to which vertex. Often produces undesired effects, but may be useful.
"Weighting" in 3D modeling refers to the amount of influence a bone has over a vertex. Typically, a weighting of 1 means "this bone has maximum influence," while a weighting of 0 means "this bone has no influence." However, more than one bone may be weighted to the same vertex.
This section and beyond is incomplete until precedent is set for such things. In the meantime, here are some key points:
• When making models based off the human rig, try to avoid making them thicker than the human model. This is to ensure human clothes fit.
• If making a non-humanoid rig, please be aware that there is no current standard. If you are going to attempt to create a new standard, consider the following:
Rigs with altered lower-bodies (like digitigrade legs) may reuse much of the human upper-body. This should expedite the conversion of existing clothes to your new species.
Clothes for new races do not need any new item variants for clothing, provided they are based on an already existing outfit.
If you are establishing a new standard rig, be keenly aware that you will also likely need to create new animations to accommodate.
• Analogues to hair on new races (like antennae or lizard frills) may also need to have shape keys similarly to human hair, otherwise your lizard frills will probably clip through a helmet or two.
• If your race's limbs are severable you will of course need to make severable limbs. To do this without having visible seams, you can copy the normals from the completed version of your race's body mesh. To copy normals, overlap the severed version and the completed version, and apply a Data Transfer modifier to your severed version. Then, check "Face Corner Data", select "Custom Normals", and set Mapping to "Nearest Corner of Nearest Face". Then, make the Source of the data transfer your completed body, and then apply the modifier. You will need to do this for each of the body parts. You can do it all at once by slapping all of the severed limbs into one object, and seperating them into individual parts after you've applied the modifier.
The majority of head items (aside from things like hoods or hats with dangly bits) can be weighted entirely to the head bone. To do this, make sure the hat is parented to the armature with empty vertex groups, then in edit mode, select all vertices and assign 1.000 weight in the tab.
You can check what shape keys an item needs by clicking the tab while any of the reference items are selected. When creating an item of the same type as one of the reference items, follow the naming convention exactly, including the order of the shape keys.
You can manually set the values of vertices to bones by clicking the button in Edit Mode, finding the desired bone in the list of vertex groups, selecting the vertices you wish to assign, then setting the weight and clicking assign.
While the rigged model is useful for being worn, it is not very useful as a held or dropped item. For this purpose, we need two models for a given piece of equipment (with the exception of head items).
One for being worn on the character, and as an item to be held in the hand. Head-worn items generally do not deform like most clothes do, so it is unnecessary to make separate rigged and item versions of these articles.
If for some reason you need your head-worn item to deform, then you will likely need a separate held item for it as well.
Value is brightness independent of the color you use. If you were drawing a picture that would be the end of it, but in 3D, value is a function of the shape of your object and the lighting ingame, which could come from any different angle.
You can’t control lighting, but the shape of the object is up to you. If computers could draw an infinite amount of polygons you wouldn’t have to worry about anything else, since you could just perfectly describe the surface of any object.
But we have a limited polygon budget so we rely on normals to make up for it. Normals are just the direction the surface is facing, which by default is straight up from each individual face.
By tweaking these directions you’re “bending” the surface even though its shape hasn’t really changed.
Mood in a single SS13 round can vary wildly, and lighting needs to lend itself to both calm and spooky situations. Under regular conditions, like well lit Medbay or hallways, objects are fairly uniformly lit so normals aren't that big of a deal.
This is intentional as the skill floor for creating new assets shouldn't be high. The exception to this are objects with large at surfaces, which can look pretty different.
Sharp edges are hints for Blender to do the normal splitting for you. Setting sharp edges is very easy, just put them down wherever there should be a discontinuity in the surface.
The base of a bolt sticking out of plating, two different materials making up the same surface, or the seam where parts of an object would be welded together.
Some examples: The tubes going into the cryo don’t need it, since sharp edges are used to split continuous meshes and the tubes are separate from the base.
Formatting rigged 3D models for export.
It is recommended you read through and follow this guide in its entirety before you consider your model complete.
When weighting clothes to the armature of a character, it's often very difficult to ensure that it deforms 100% consistently with the body underneath, resulting in parts of the body clipping through the clothing.
To circumvent this, we hide portions of the body beneath the clothes, so clipping isn't an issue.
To make use of this, it is recommended that you model the ends of the clothes along specific cutting lines, such as at the wrist and below the shoulder for tops, and directly above the knee and below the ankles for bottoms.
We can also make use of an alternate body mesh that reveals only the area surrounding the neck, so shirts can have some leeway on the size of the collar.
When modeling the ends of the clothes, it's also best if you model inside the ends of sleeves, so if the limb is severed, it will still look natural.
A shape key (also referred to as "blend shapes") is a basic mesh transformation that moves vertices directly from point-A to point-B.
Shape keys can be used for a variety of functions, but in this context, we use them to customize the proportions of player-created characters.
Accordingly, the rigged clothes need to be able to support the shape of the body underneath, so clothing items also need to contain the same shape keys.
The shape keys that need to be accounted are as follows, and need to be named exactly the same way:
Basis - The default character shape.
Female - The female variant of the base character.
Breasts - Size of the bust.
Fat - Chubbiness.
Muscle - The size of the character's muscles.
While body shape keys are used for customization, hair shape keys are used to maintain the look of the character while also allowing hats, helmets, masks, and hoods to be worn on top.
For this, we shrink the effected part of the hair so it fits within the constraints of the hat. For this, I've created a couple shape keys that should fit the constraints of a large majority of hats.
The shape keys that need to be accounted are as follows, and need to be named exactly the same way:
Hat - Squishes the top of the hair down as if there were a hat on top.
Helmet - Squishes all sides of the hair inward toward the head aside from the bangs. Used primarily in instances where the helmet might reveal a lot of the head.
Mask - Squishes the bangs inward as if a mask were pressed against the face.
Hood - Like the Helmet shape key, but more extreme.
The basic clothing types in this page mainly refer to things that are easy to edit from the reference items, such as shoes or gloves.
If you are inexperienced in weight painting, take care not to model too destructively when modifying reference items, or you may cause damage to the weighting of the mesh. This is especially difficult to fix when working in tight areas like the fingers of a glove.
If you want to add details to the reference items, you may be better off duplicating the selected faces of a mesh using Shift+D, which duplicates the faces' weighting as well.
And of course when you are finished making your item, make sure you create a placed/held item variant. Feel free to get creative with the positioning, as long as it still looks like one item.
Simply put, dynamic bones work pretty much the same as regular bones, but they are made dynamic in Unity. You will add bones to the rig up the subject the same as normal, applying weights where you would normally.
Something to keep in mind when rigging up hair or other equipment with dynamic bones would be to ensure that the shape keys don't ruin the effect of the weighting.
Additionally, especially long hair might need an alternate hair model with shorter hair to fit within the confines of a closed helmet, and things like ponytails can be made into separate objects so they can easily be hidden when a helmet is put on.
Remember to parent the dynamic bones to the correct location. In the case of dynamic hair, parent the additional bones to the head bone.
Object origins hold a lot of vital information, such as an object's scale, rotation, and position. You'll want to apply the scale, and rotation of the object, or it will likely be horribly disfigured after export.
To apply scale and rotation in blender, select the object and press CTRL+A in Object Mode, and select the respective options in the menu.
If the object is rigged to the body, the origin of the object should be in the exact location of the body's origin. As for hats and other non-rigged head-worn items, the origin should be placed in the middle of the head bone.
If you are using the human rigging template in the SS3D Modeler's Template, you can use the included objects as reference for where the origin should go.
Some objects don't need to be rigged, and can just be parented to the bones in-game. Below I will detail which items need to be rigged to the character armature, and which items do not.
Hair
Jumpsuits
Overcoats
Underwear
Backpacks
Gloves
Shoes
Belts
Hats
Helmets
Masks
Glasses
Ear Comms
(This page will get removed once we resolve the size discrepancy issue.)
To match assets created before the human model was finalized, the rigged human model is scaled down .87 in-game.
This creates a size discrepancy with a majority of items in the game. Because the rigged model is scaled down automatically in Unity, the size discrepancy is also negated automatically. Do not adjust the scale of the rigged model.
The dummy model included in the SS3D Modeler's Kit is the in-game size, while the rigging size is the size you should be working in for rigged items.
When exporting a rigged item, you need to export the model itself as well as the armature you used. If the rigged item requires a secondary held item, it should be included in the same .FBX file as the rigged model and the armature.
As always, if you are exporting items from a file with multiple objects, be sure to select only the objects you want to export and turn on "Selected Objects" in the export settings.