Best Practices in 3D Graphics General practices for successful and problem free model handling within 3D software Quick Checklist This is a simplified checklist for submitting 3D models to Simlab software Scene/File Setup ● System and Display Units should be set to Centimeters ; model is real-world scale ● All Geometry is under one group ( No object linking ), and one Layer is named after the scene ● No Cameras, Lights , or anything other than the model’s geometry and materials, should be in the scene ● All nodes for objects, groups, layers, and materials are uniquely named ( no duplicate naming ) ● All textures should be placed in their own folder titled ‘Textures’ ( or saved into the model file itself GLB/GLTF ) ● All textures should have Relative Paths Geometry ● No Isolated Vertices, Overlapping Vertices, or Overlapping Faces ● Xforms, Transform, and Scale are reset, and the model’s overall xform should have its center pivot    centered on the origin of the XY Plane and touch the lowest Z point ● No visible faceting, texture stretching, visible seams, or flipped normals; all objects must contain at least one smoothing group ● All modifiers besides must be collapsed ● UVs should be Non-overlapping and logically unwrapped to Maximize Texel Density Textures ● Textures are 8-Bit , RGB , and in JPG or PNG format ● Textures are square resolution and same resolution is used within a given texture set ● All Base maps are included for DCC and RT ( if applicable ) ● Textures follow naming conventions and are plugged into correct slots ● Texture map contribution is set to 100% ● Texture Gamma for all maps is set correctly ( Automatic or Override 1.0 ) Materials ● All Geometry has a material applied of the correct type ● Materials do not contain any maps or procedural nodes that are not listed in this document ● Normal Bump node must be used for all Normal Maps ● If Refraction is used, all settings should be correctly configured Preparing 3D models is a complicated task, if you do not have prior experience doing so, we recommend using premade models from 3D shops and/or the services of a professional 3D artist Advanced instructions We recommend following the stem cell modeling requirements article from the 3D website Turbosquid. File format It is best to share with us models in file formats requested by specific software.  SIM-ON : GLB, GLTF STAGES : OBJ, FBX Avoid Bad Geometry ● No isolated vertices - inefficient, can cause issues ● No coincident vertices - cannot run smoothing operations, may pull apart ● No coincident/coplanar faces - leads to z-fighting in real-time ● No coincident edges (unwelded seams) ● No inverted face normals Sensible Polygon Detail We would prefer the models to have as few polygons as possible without sacrificing important details as well as ensuring clean/non-faceted silhouettes. This is a hard judgment call. Maximum Size The maximum size of the geometry for real-time purposes should be less than 100K vertices. Smaller is better, but one has to be realistic. Transforms Scale All objects should be created such that they are in real-world scale. This allows for multiple objects to be imported into the same context without scaling issues. It also improves the ease of accurate lighting because it enables lighting based on physical quantities. Position Objects should be placed such that its natural base is located at 0,0,0. Orientation The object should be oriented so that its natural front is on the Y axis , facing to the positive side of the axis. Scene Hierarchy We allow for an internal object hierarchy. It is best if it is logically grouped. Nodes should be in English and have meaningful names. Calling things Box001, Box002, Plane003 is not the best way. Node Limits One should aim to only have a sufficient number of nodes but not an excessive amount. 5 to 40 nodes per model. UVs All objects should have UV sets that are natural. We recommend one or two UV sets. Primary The first UV set is used by the albedo map, normal map, bump map, roughness map, metalness map, anisotropy map, and emissive map. If you want to have different map repeats you can set the individual texture map tiling and offset values. Unwrapped / Baked The second UV set, if it exists, is generally unwrapped. It is used by the quantities that are baked onto the mesh, such as the light map and the ambient occlusion map. Normals Each object should have normals specified as either a normal set or smoothing groups. Creases can be specified via smoothing groups, very disconnected normal sets, or via edge crease values. Textures Power of 2 Use texture in power of 2, such as 4096x1024, 1024x1024, 1024x512 or 128x512. To avoid loss of quality by rescaling of textures, it is best to create your textures in a power of 2 size. Formats We recommend JPG and PNG texture formats. PNG should only be used for textures that require an alpha channel as it does not compress as well as JPG. Maximum Sizes Real-time applications require texture sizes to be less than 2MB in total per model unless the model is uniquely complex. No Procedurals Procedural textures cannot be correctly transferred between tools, thus we would prefer these to not be used. Naming Conventions Texture maps must be named with the same name as the material they are applied to followed by the correct suffix. All texture file names must be suffixed correctly as listed below. There must be no text after the suffixes. Example: GlossyPlastic_Diffuse.PNG. Some additional maps may be required when additional effects are present (Self Illumination, Opacity, etc.). Follow suffix naming conventions listed below. Diffuse – sRGB  Metallness – Linear  Roughness – Linear Ambient Occlusion – Linear  Normal – sRGB  Self Illumination – sRGB  Opacity – Linear  _Diffuse _Metalic _Roughness _AO _Normal _Emissive _Opacity Materials Unpacked Logically Separate Materials should be one actual physical material per material definition. Thus if there is plastic and also a metal mesh in your scene these should be represented by two separate material definitions rather than a single material definition with packed textures. We can pack textures ourselves if we so choose. Color or 100% Maps Per Property It is best to either use a color or a 100% map per material property rather than using a combination. The reason that combinations are problematic is that many tools do not interpret the combinations of color and map in the same fashion. Texture map contribution is set to 100% Parameters Like many modern tools, we support the standard physically based model. In particular we recommend using the following parameters: Albedo Also called base. Uses the primary UV set. The surface color. sRGB space. Roughness Uses the primary UV set. Surface roughness, controls both diffuse and specular response. Linear space. Metalness Also called Metallic. Uses the primary UV set. The metallic-ness (0 = dielectric, 1 = metallic). This is a linear blend between two different models. The metallic model has no diffuse component and also has a tinted incident specular, equal to the base color. Linear Space. Normal Uses the primary UV set. Perturbs the surface normal. Uses the standard normal map tangent space. Linear space. Bump Uses the primary UV set. Perturbs the surface normals in a low quality fashion. Linear space. Emissive Uses the primary UV set. Light emitted from the object surface. Specified in Lux. sRGB space. Opacity Uses the primary UV set. The opacity of the object, how much can one see what is behind the object. This means that it affects all aspects of the object’s interaction with light. sRGB space. Displacement Uses the primary UV set. This is a vector quantity that displaces in 3D the surface vertices. Linear space. Unwrapped These are the unwrapped quantities that are also usually baked. Light Uses the unwrapped baked UV set. A baked light that is used as indirect diffuse on the surface. Thus it has the effect of lighting the albedo diffuse layer. sRGB space. Ambient Occlusion Uses the unwrapped baked UV set. A measure of the accessibility of a point on a surface to the environment surrounding an object. So it modulates the contribution of for example a light probe or sky dome. It doesn't model shadowing though, so it shouldn't be applied versus lights that are not completely surrounding the object. Linear space.