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...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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.
(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.
Intro to becoming an artist for Space Station 3D!
This page will get you informed and all set-up to begin contributing art assets to the SS3D project!
As an artist, there is a lot in our developer guides that will not be relevant to you, but there are a few things you should know. Please read the page and its subpages before proceeding.
SS3D has a number of computers and terminals equipped with screens. By general consensus, their contents should be made in the similar style: flat-colored vector graphics.
In order to be animated, a texture animation should be converted into .mp4 in a resolution enough to fit the model’s screen. For regular consoles (pictured above) it’s 640px X 640px. But do note that the console’s screen is somewhat rectangular so the very top and bottom of the texture will be cut off. AI cores also have a place for textures, allowing some creative freedom (640px X 640px for these as well).
If the image is made after (or based on) a humanoid person, it should resemble the style of the humanoid model. The same principle is used for ID cards in their menus (see UI elements above).
2D User Interface elements
User Interface Style used in the project at the moment can be described as simple and clear: white or brightly colored and outlined elements on a black, 60% semi-transparent, blurred background.
Text elements should be white as a general rule, and always be incased into a block of semi-transparent dark background with rounded edges. When colored (in chat or in case of warnings) text should be bright enough to be readable on the dark background, distinct enough from white text and slightly desaturated, Fonts used are available in the project’s google disk.
Decal is a texture/image overlaid on top of models. It’s mostly used to simulate bullet holes, cracks, spills or footprints.
It is advised that the decals are made of one or several images overlaid on top of each other, in order to be colored separately to simulate the material of the damaged object or material of the substance on top of the object. The colorable image layers must be white in order for Unity to add color procedurally.
When it comes to transport or robots or any other object that uses tracks, the trail left by those tracks is supposed to be composed of a single fragment, meant to be repeatedly placed on the floor with every track movement.
That is supposed to function similarly as a photoshop brush to “paint” continuous tracks on the floor along an object’s path.
Other uses for decals are overlays - decals applied to structures, for example, overlaid over the floor or walls.
One texture might be used for several different items, if it is convenient. Take a look at the floor tile above as an example. Note: Floor tile textures will be rendered from 3d models so we can also render normal maps.
SS3D models mostly use a color palette in place of actual textures, as it negates the need to learn texturing and UV unwrapping, helps with cohesion and supports a unique style of SS3D.
For simpler stuff it might be best to use colored polygons, as pictured on a few examples below:
Do not worry, the render settings make those look seamless, unless the seam is needed. For more info on that, consult the 3D Modeling Guidelines document.
Though do 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.
However, textures may be used for some specific cases. For example, repeating patterns, complex shapes or where cutting up the model to add colors may cause problems.
One of such examples: HumanSeveredLimb.png (256x256) used as a texture for flesh cross section with a bone in the middle.
Another example: a cowhide texture Cow.png (256x256)
Same principle can be applied to models that have too fine details to be modeled yet not enough to create visual noise. Such as clothes.
Complex text or symbols can use a transparent texture and placed on a model like tattoos or floor decals.
Some models can use several texture variants, like cows from the example above. To make the creation of such variants easier, one might create a template to guide others, who might take interest in creating more in the future.
Yet another way the textures are utilized are skyboxes. It is a cube with textures (4000x3000) on its inner faces, used to simulate the sky or similar backdrop around a three-dimensional space. Ours mostly used just for that: space backdrop. But there’s some creativity in creating a skybox for a holodeck (Those are in PNG, 4096x3072):
All the other guidelines apply to particles as well, with a few differences.
As seen above, the particles need to be even more cartoonish, simple and recognizable, since they are not only small overall, but also move and rotate in space a lot. They also must be in PNG format, 64x64 and named in PascalCase.
Icons, used in the UI, should be consistent in the style of the rest of the UI: simple, descriptive and stylized. One of the examples of using the Icons in the UI is the interaction wheel pictured below:
Every Icon is white (we can change its color in Unity), smooth and readable on the dark background (or on a more transparent/light part of the wheel, if the option is selected) and descriptive, clearly indicating the action it represents. (White icons also have the benefit of easily changing their color in the editor.)
In case the action cannot be fully depicted by a simple icon, the priority should be simplicity and readability over descriptiveness.
Take the size of the icon into consideration: most of the icons would be placed into relatively small menus and still should be clearly seen. The “overcomplicated” icon above in that case might also create visual noise when scaled down, due to the distance between the wall and the tool parts of the icon.
Additional, extremely lazy, but hopefully useful mockups for the interface with icons below:
While the general composition of the mockup is not representative of what we aim for, do notice that most of these icons are readable even when zoomed out.
Do avoid pixelization and aliasing of the edges of icons. And generally, avoiding small details and unevenness is a good idea. The problem is, small icons don't scale up well, and large icons don't scale down well. There is a method called “Improved Alpha-Tested Magnification”, outlined here. But until it’s implemented, best to have the icons in a quality that would allow them to be vectorized automatically via any convenient program or service.
Stylization in these icons involves emphasizing certain parts of an object. Just like with modeling objects for the game, the goal is just to make a caricature of the real thing, not emulating an object itself, so feel free to take creative liberties, as long as the previous guidelines apply.
For slots (as seen in the loadout menu example) the icons located inside should be half-transparent to not clash with the items placed into that slot. Alternatively, the icon inside should turn transparent the moment that slot is occupied and return to the full opacity the moment it's vacant once again.
As for rendered icons, they should be recognizable, fit into the inventory square and visible on both light and dark background. One of the options to accomplish it is to give an outline to the rendered item via Unity instruments:
Both options have their advantages. However, as most of the inventory slots are also located in the block that is dark and semi-transparent, right next to the white UI icons, it would make sense to choose the bright outline. Not to mention that there are more colored and dark items then bright ones, and a dark outline on the dark object does not help it's readability:
Windows are UI elements opened when interacting with certain environment items, like accessing the terminal or a piece of tech that is not detailed enough on the level of its model/texture.
Most windows should be interactable, movable and closable. I suggest the design that retains the dark and semi-transparent work area, but has a distinct header with a recognizable close button and a readable name. This header should be wide enough to click on to drag the whole window through the screen.
The text within should be bright and buttons or highlighted elements should have the frame in color of the header. Said color should be brighter then the work area of the window, yet overall diluted to not distract the player too much and spare their eyes. The exact hue can be chosen within unity and changed depending on the window type, window order or other parameters.
The window can also have interactable elements within. They should be bright and readable enough on the window's background and, preferably, should retain some vector style. See an airlock control panel from SS14, for example:
It’s planned to be made out of several individual interactive parts: light bulbs and wires, with several versions of each (uncut, cut or fixed wire, lit or unlit light bulb). For obvious reasons, those versions are better made in the same style.
Note that the photo is the rendered or captured character model with a filter to limit its color to the pallet.
Some UI elements can have variants to be switched for one another in case of different circumstances. In that case the variant switch needs to be seamless, meaning that the images for those elements need to be of the same size and with the same base position.
Note the bar, it is missing from the variant files themselves, but can be added within unity and be programmably extended or shrunk from the bottom of the thermometer.
UI elements can also consist of several parts to be layered on top of each other and programmed to be moved, colored or otherwise changed separately.
As an example, the atmospheric pressure meter consists of 3 parts: the base with a dial, the arrow to rotate and indicate the overall pressure on the base’s dial and an exclamation mark, to be colored and/or flashing in case of dangerous atmospheric conditions. The text for the exact atm amounts is added within Unity, using accepted project fonts, so it can also be changed programmably.
Same principle applies to the target dummy, surgery dummy and other complex UI elements.
!
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
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.
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.
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.
Poster templates can be found on the project’s google disk. Agreed resolution for a poster is 600x900 pixels (or 900x600 pixels for horizontal ones).
In case of posters, the guideline on the amount of details is somewhat lighter, but it’s still encouraged to not create too much visual noise.
Pictured below: Standard NT posters, in pallet’s colors and with sleek vector shapes.
Pictured below: Various posters in cartoonish vector styles.
Pictured below: Various posters, utilizing actual rendered models from the game.
Pictured below: Poster art in a variety of styles.
(add some examples of horizontal posters)
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.
Grizzly Bear 11 Shadow Fill is used for big UI buttons in menus, while Do Heyon is used for pretty much everything default, like menu text, user input, chat messages, etc.
Square Deal is used for window headers and secondary headings in documents.
Font Spessman Regular is generally used for titles or in places when WORDS ARE SUPPOSED TO BE BIG.
There is a Work In Progress idea for generation of unique fonts. It's not a priority, but the main idea sounds like this:
Digital fonts are the fonts used on digital devices like computers and tablets. They are also used for things like borgs or printing a note at the printer. These fonts resemble more of your typical computer fonts.
Handwritten fonts are used for writing on paper (and similar things) with pens/pencil/etc. The font for your character's handwriting would be randomized each round and could be used as evidence against you. (could work for spraypaint letters too) (if a borg did the writing it would be a normal computer font still).
With unique handing writing, how would you get away with a threatening note while also hiding your identity?... Magazine scrap writing. Basically a font with randomized sizes, font colors, and background colors. The player would actually need to cut (using scissors, wire cutters, or a scalpel) up books or magazines to aquire letters for their message.
Language fonts are determined by, you guessed it, your language. They can be used both digitally and for handwriting (not sure yet if the same font will be used for both or if we make variants). [See images below for examples]
Transcribing languages can be another small part of the librarian’s job. Although there will be software available on PDAs and computers to translate messages, hand written messages will need to be transcribed through language dictionaries available in the library. Each book can give like 50 letters and each magazine gives 25.
Languages to consider:
Human
Clown
Grays - eldritch style?
Vox - eldritch style?
Reptilian
Moth
Plasmeme
Cult - Runic
Wizard
Syndicate - Maybe have specific codes to pick up on, and unless you're a syndicate, you gotta REALLY work to find out things (add incentives for this, maybe science or a tcomms agent can intercept messages from syndicate command or whatever and relay their info).
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 (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.
This is a page for menu concepts in terms of info and element allocation, please ignore wrong backgrounds, fonts and/or icons.
Connection menu is where the player pastes the server name or adress or hosts their own server:
Starting menu should be the one to follow the connection menu and the one that actually sends the player into the game as a set character or as a spectator. It also serves several other purposes:
Provides a list of servers or information about a selected server:
Provides a list of players and occupied roles:
And allows editing character at any point prior to embarking.
This menu is made to set up player's character. This requires several other systems, like shape keys, clothing and jobs.
The character appearance is the menu where the player decides the character's shape, mass, hair, skin color, special features and other things:
Character loadout is the menu where equipment like clothes, tools and cosmetics are assigned to the character:
Job selection screen is where the player sets their preferences for their role on the station:
This is the menu to change the setting in the middle of the round or to AFK in if needed.
It has the regular settings one would expect form the 3D game, such as graphical tweaks:
Sound volume levels and sound-related settings:
There are other types of menus that are actually taking part in the gameplay directly, such as crafting menus or console menus. Most of them are either a part of the player's initial interface or a specifically set up type of window with unique interactable elements.
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.
General 2D guidelines.
This document is a set of rules and guidelines for designing and contributing 2D assets for SS3D. It covers the UI elements, textures, decals, particles and so on. Nothing is set in stone, but for reasons of “consistency of style” these things should be kept in mind.
In most cases, .png file format is to be used as it is easy to edit and supports transparency.
For consistency it’s best to use the colors from the 3D pallet when possible.
In case the image or it’s fragment needs to change color, an image should be made white, as Unity programmed coloring works by adding color to the image.
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.
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.
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.
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.
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.
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.
In theory, if every player has unique handwriting which is randomized for each round, we would likely need close to 100 or even more hand written fonts. One way to achieve this would be to sample a bunch of the contributor's normal handwriting and convert these to fonts to use. Another way around this would be to generate the fonts themselves from a collection of letters based on style. Come up with several styles (blocky, bubble, thin, cursive, messy, etc), and then make 5-6 different letters for each style. Your hand writing will now be generated by first randomly selecting a style then randomly selecting each letter (according to the style). This way hand written fonts will truly be random and identifying them will be harder and more engaging, players also can't memorize or save them. Alternatively, we can use a font generator like .
Allows changing the game settings (video and audio settings the same as in the ):
And the same controls menu page from the .
2D tasks can be found here:
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.
Guide for music will go here.
Non-game assets.
Artwork refers to non-game assets, meaning assets which aren't made with the intent of them being added into the game. This may include thing like:
Wallpaper renders
Sticker/Emojis
Gifs/Memes
Trailers/Videos
Music
These Artwork assets are used on our website, community pages, and discord server. It's possible some Artwork assets like wallpapers will be added as in-game assets.
Need to add guides and requirements for artwork assets...
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.
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.
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."
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.
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 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.
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.)
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.
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.
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.
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
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.
(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.
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.
Guide for sound effects will go here.