{"id":954,"date":"2026-09-14T13:46:45","date_gmt":"2026-09-14T13:46:45","guid":{"rendered":"https:\/\/quickref.me\/blog\/?p=954"},"modified":"2026-09-14T13:46:45","modified_gmt":"2026-09-14T13:46:45","slug":"pbr-texture-map-cheat-sheet-for-real-time-3d-assets","status":"publish","type":"post","link":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/","title":{"rendered":"PBR Texture Map Cheat Sheet for Real-Time 3D Assets"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Physically based rendering, commonly shortened to PBR, helps 3D materials respond consistently to lighting. Instead of painting every highlight and shadow directly into a colour texture, artists use separate maps to describe properties such as colour, surface roughness, metallic behaviour and fine detail.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This approach makes an asset easier to move between scenes and rendering environments. A metal tool, painted wall or fabric bag should retain its basic material identity whether it appears outdoors, inside a dark room or beneath coloured lighting.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">However, PBR terminology can be confusing. Different applications may use different channel names, and a texture that looks correct in one program may appear too shiny, too dark or incorrectly inverted after export.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This cheat sheet explains the most common texture maps, how they should be configured and what to check before importing a textured model into a real-time engine.<\/span><\/p>\n<p><b>PBR Maps at a Glance<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Texture map<\/b><\/td>\n<td><b>Controls<\/b><\/td>\n<td><b>Typical appearance<\/b><\/td>\n<td><b>Colour space<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Base Color or Albedo<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Visible surface colour<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Full-colour image without baked lighting<\/span><\/td>\n<td><span style=\"font-weight: 400;\">sRGB<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Roughness<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Sharpness of reflections<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Greyscale<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linear or Non-Color<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Metallic<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Whether the surface behaves like metal<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Usually black or white<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linear or Non-Color<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Normal<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Small surface direction changes<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Blue-purple image<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linear or Non-Color<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Height or Displacement<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Apparent or actual surface depth<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Greyscale<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linear or Non-Color<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Ambient Occlusion<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Contact and crevice shading<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Greyscale<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linear or Non-Color<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Opacity<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Visible and transparent areas<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Greyscale or alpha channel<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linear or Non-Color<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Emissive<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Areas that appear to produce light<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Colour or greyscale<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Usually sRGB<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">The exact setup varies between rendering systems. Always check the requirements of the destination engine instead of relying entirely on how the material appears in the texturing application.<\/span><\/p>\n<p><b>Base Color or Albedo Map<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The base colour map defines the visible colour of a surface. It may contain painted patterns, stains, labels and colour variation, but it should generally avoid directional lighting information.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A base colour texture should not contain:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Strong painted highlights<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Deep directional shadows<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Reflections from the reference photograph<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ambient occlusion that will be added elsewhere<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Metallic reflections<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Lighting tied to a particular camera angle<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Baked lighting may initially make a texture look detailed. Once the object moves beneath a different light source, however, the fixed shadows and highlights can conflict with the scene.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Display the base colour map by itself. If the lighting direction is obvious even without a 3D model, the texture may contain too much baked illumination.<\/span><\/p>\n<p><b>Roughness Map<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The roughness map controls how broadly reflected light spreads across a surface.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In a conventional roughness workflow:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Black represents a smooth surface with sharp reflections.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">White represents a rough surface with broad, diffused reflections.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Grey values represent intermediate levels.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">A polished metal panel may use darker roughness values, while dry concrete or unfinished wood will generally be lighter. Real objects rarely have perfectly uniform roughness, so subtle variation can make surfaces more believable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Roughness does not simply mean brightness. A dark object can be rough, and a light-coloured object can be smooth.<\/span><\/p>\n<p><b>Common mistake<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Some tools use a glossiness or smoothness map instead. This normally represents the inverse concept: white is smooth and black is rough. If a material looks polished where it should be dull, check whether the channel needs to be inverted.<\/span><\/p>\n<p><b>Metallic Map<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The metallic map tells the renderer which parts of a material behave like metal.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In most metallic-roughness workflows:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Black represents a non-metal.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">White represents a metal.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Values between black and white are used sparingly.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Wood, plastic, stone, skin and fabric are non-metallic. Iron, aluminium, copper and exposed steel are metallic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A painted metal object requires special attention. The paint is a non-metallic coating, while exposed scratches may reveal metal underneath. The metallic map should therefore follow the material itself rather than the object\u2019s general identity.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Ask what substance is visible at each pixel. If the viewer is looking at paint, dirt or rust rather than exposed metal, that area usually should not be fully metallic.<\/span><\/p>\n<p><b>Normal Map<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A normal map changes how light interacts with the surface without adding corresponding geometric detail. It is useful for representing scratches, fabric weave, shallow grooves, pores and small bevels.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Most tangent-space normal maps have a blue-purple appearance. They should be imported as data rather than colour images.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Normal maps are particularly valuable in real-time projects because they can preserve the impression of detail when geometry has been reduced. However, they do not change the model\u2019s silhouette. A large ridge, deep opening or shape visible around the edge of an object still needs geometry.<\/span><\/p>\n<p><b>Common problems<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The green channel is inverted.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The texture is imported as sRGB.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The normal strength is too high.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UV seams create visible shading breaks.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Details are too deep for the scale of the object.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The mesh uses incompatible tangent settings.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">DirectX and OpenGL workflows may interpret the vertical component differently. If dents look like bumps, or bumps look like dents, check the target engine\u2019s normal-map convention.<\/span><\/p>\n<p><b>Height and Displacement Maps<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Height maps use greyscale values to describe relative depth. Their effect depends on how the material or renderer uses them.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A height map may drive:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Bump mapping<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Parallax effects<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Tessellation<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">True geometric displacement<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Bump and parallax techniques create the appearance of depth without substantially changing the mesh. True displacement can move vertices and alter the silhouette, but it requires sufficient geometry and may carry a higher performance cost.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Use height information for larger depth transitions than those represented in the normal map, but confirm whether the target platform supports the intended displacement method.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For mobile games or distant assets, normal mapping may provide a better balance between appearance and performance.<\/span><\/p>\n<p><b>Ambient Occlusion Map<\/b><\/p>\n<p><span style=\"font-weight: 400;\">An ambient occlusion map adds subtle darkening where surfaces meet or where indirect light is naturally restricted. Typical areas include creases, corners, bolt recesses and contact points between components.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ambient occlusion can help small details remain readable, but it should not be used as a substitute for proper lighting.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Heavy occlusion may cause:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Dirty-looking surfaces<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Unnaturally black corners<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Loss of detail in dark scenes<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Shading that remains fixed when parts move<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Double-darkening when the engine adds real-time occlusion<\/span><\/li>\n<\/ul>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Reduce the map\u2019s strength and compare the result. If the object loses its entire sense of structure, too much form may depend on baked shading.<\/span><\/p>\n<p><b>Opacity and Alpha Maps<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Opacity maps define which areas of a material are visible.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They are commonly used for:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Foliage<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fences<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Hair cards<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Torn fabric<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Decals<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Thin decorative patterns<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Depending on the engine, transparency may be handled through alpha clipping, alpha blending or a dedicated mask channel.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Alpha clipping creates a hard visible-or-invisible boundary and is often more efficient and predictable for foliage or fences. Alpha blending supports partial transparency but can introduce sorting problems and additional rendering cost.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">If the material only needs hard cut-out edges, use a masked workflow where possible. Reserve blended transparency for effects that genuinely require partial visibility.<\/span><\/p>\n<p><b>Emissive Map<\/b><\/p>\n<p><span style=\"font-weight: 400;\">An emissive map marks areas that appear self-illuminated, such as screens, signs, magical symbols and indicator lights.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Emission can make a surface appear bright even when the surrounding environment is dark. Whether it actually casts light into the scene depends on the engine, renderer and lighting configuration.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Avoid using excessive emission to compensate for poor scene lighting. Very high values may destroy texture detail, create distracting bloom or make an object difficult to balance across environments.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Test the material with bloom disabled and under both bright and dark lighting. The source pattern should remain readable instead of becoming a featureless white shape.<\/span><\/p>\n<p><b>Channel Packing<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Several greyscale maps can sometimes be stored in the red, green, blue and alpha channels of a single texture. This is known as channel packing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A project might combine:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ambient occlusion in red<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Roughness in green<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Metallic in blue<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The exact arrangement depends on the engine and studio pipeline. Channel packing can reduce the number of texture samples and files, but an undocumented layout can quickly cause mistakes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The officialglTF 2.0 specification\u00a0defines a metallic-roughness material model and explains how material textures and channels are represented in glTF assets. In this format, roughness and metallic information can share different channels of the same texture.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Never identify a packed map by its filename alone. Confirm which property is stored in each channel and document the convention for the project.<\/span><\/p>\n<p><b>Colour Space Reference<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Incorrect colour-space settings are a common reason materials look wrong after import.<\/span><\/p>\n<p><b>Use sRGB for:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Base colour<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Emissive colour<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Other textures intended to be viewed as colour<\/span><\/li>\n<\/ul>\n<p><b>Use Linear or Non-Color for:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Roughness<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Metallic<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Normal<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Height<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ambient occlusion<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Opacity masks<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Packed data maps<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Colour textures need gamma-aware interpretation because they represent visual colour. Data maps contain numerical material values and should not receive the same colour correction.<\/span><\/p>\n<p><b>Texture Resolution Reference<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Texture resolution should reflect how large the asset appears on screen, not simply how important the object feels to its creator.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Common square texture sizes include:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">256 \u00d7 256<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">512 \u00d7 512<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">1024 \u00d7 1024<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">2048 \u00d7 2048<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">4096 \u00d7 4096<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Larger textures can preserve more detail but increase memory use, download size and loading time. A small background object may not benefit from a 4K texture, especially when it occupies only a few pixels on screen.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When setting resolution, consider:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Normal viewing distance<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Screen coverage<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Target platform<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Number of similar assets<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Texture compression<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Available memory<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether materials can be shared<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether a texture atlas is appropriate<\/span><\/li>\n<\/ul>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">View the asset at its expected gameplay distance. If reducing the resolution produces no visible difference, the larger version may be unnecessary.<\/span><\/p>\n<p><b>Texel Density<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Texel density describes how much texture resolution is assigned to a given amount of model surface.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Consistent texel density helps nearby objects display a similar level of sharpness. Without it, one part of a character might look crisp while another appears blurry, even though both use the same texture dimensions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Exceptions can be intentional. A character\u2019s face may receive more texture space than the soles of their shoes because the face appears more often in close-up.<\/span><\/p>\n<p><b>Quick check<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Apply a checker texture before final texturing. Look for squares that change size, stretch or become distorted across different parts of the model.<\/span><\/p>\n<p><b>Using AI to Create an Initial PBR Material<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Manually producing complete texture sets can take considerable time, particularly when a team is testing several visual directions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Meshy\u2019s\u00a0<\/span><a href=\"https:\/\/www.meshy.ai\/features\/ai-texture-generator\"><span style=\"font-weight: 400;\">AI texture generator<\/span><\/a><span style=\"font-weight: 400;\">\u00a0can apply textures to an uploaded 3D model using a text description or reference image. The feature supports uploaded OBJ, FBX and GLB models and can produce PBR maps including albedo, normal, roughness and metallic information.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For example, an artist could upload an untextured science-fiction storage crate and describe it as:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Worn dark-green painted metal, scratched corners, subtle dust, faded warning stripes, realistic industrial game asset.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The initial result can help the team compare styles or prepare a prototype more quickly. It should still be treated as a draft rather than an automatically approved production material.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After generation, inspect:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether the texture follows the UV layout<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether seams are visible<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether lettering or symbols are distorted<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether metal and non-metal regions are classified correctly<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether highlights or shadows are baked into the base colour<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether roughness variation matches the material<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether texture resolution suits the target platform<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether the maps are assigned to the correct colour spaces<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether the result remains consistent under different lighting<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">AI can accelerate the first pass, but the artist remains responsible for material logic, technical optimisation and visual consistency.<\/span><\/p>\n<p><b>Prompt Formula for AI Texturing<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A useful texture prompt can follow this structure:<\/span><\/p>\n<p><b>Material + colour + condition + surface details + style + intended use<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Example:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Brushed aluminium casing, cool grey, lightly used, fingerprints and fine edge scratches, realistic PBR style, first-person game prop.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Another example:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Hand-painted wooden shield, muted red and cream, weathered edges, visible grain and small chips, stylised fantasy game asset.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Avoid relying only on broad descriptions such as \u201cmake it realistic.\u201d A more specific prompt gives the system useful information about the surface and its intended appearance.<\/span><\/p>\n<p><b>Pre-Export Material Checklist<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Before exporting a textured asset, confirm the following:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The base colour does not contain unwanted lighting.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Roughness values match the intended surface.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The metallic map reflects the visible material.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Normal maps use the correct orientation.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Height effects are suitable for the target platform.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ambient occlusion is not excessively dark.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Transparency uses the appropriate rendering mode.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Emissive areas retain visible detail.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Data maps are imported without sRGB correction.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Packed texture channels follow the project convention.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Texture dimensions match the asset\u2019s screen size.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UV seams and stretching have been inspected.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">File names clearly identify each map.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The material has been tested under multiple lighting conditions.<\/span><\/li>\n<\/ul>\n<p><b>Common Naming Conventions<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Clear filenames make texture sets easier to review and automate.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A simple convention might use:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Suffix<\/b><\/td>\n<td><b>Texture<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_BaseColor<\/span><span style=\"font-weight: 400;\">\u00a0or <\/span><span style=\"font-weight: 400;\">_Albedo<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Base colour<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_Roughness<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Roughness<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_Metallic<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metallic<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_Normal<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Normal<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_Height<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Height or displacement<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_AO<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Ambient occlusion<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_Opacity<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Opacity<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_Emissive<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Emissive<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">_ORM<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Packed occlusion, roughness and metallic<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">The team should choose one naming standard and use it consistently. Mixing terms such as glossiness and roughness without indicating inversion can cause avoidable import errors.<\/span><\/p>\n<p><b>Troubleshooting Quick Reference<\/b><\/p>\n<p><b>The model looks too shiny<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Check the roughness map, its colour-space setting and whether a glossiness map was interpreted as roughness.<\/span><\/p>\n<p><b>Metal looks like plastic<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Confirm that exposed metal regions are white in the metallic map and that the base colour contains appropriate metal colour information.<\/span><\/p>\n<p><b>Bumps appear inverted<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Invert the normal map\u2019s green channel or export it using the convention required by the target engine.<\/span><\/p>\n<p><b>The texture looks washed out<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Check whether the base colour has been imported using the wrong colour space or processed twice as sRGB.<\/span><\/p>\n<p><b>UV seams are visible<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Inspect UV padding, normal-map continuity, texture filtering and mipmaps. Increase padding when lower-resolution mip levels cause neighbouring islands to bleed together.<\/span><\/p>\n<p><b>Transparent objects render in the wrong order<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Use a masked material when soft transparency is unnecessary. If blending is required, review the engine\u2019s sorting and material settings.<\/span><\/p>\n<p><b>The material looks correct in one scene but wrong in another<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Remove baked lighting from the base colour, review roughness values and test the asset under neutral lighting.<\/span><\/p>\n<p><b>Final Thoughts<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A PBR material is a coordinated set of surface instructions rather than a collection of decorative images. Base colour defines visible colour, roughness controls reflection sharpness, metallic identifies exposed metal, and normal maps add small-scale lighting detail. Additional maps handle depth, occlusion, transparency and emission.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AI-assisted texturing can make early material creation faster, but technical knowledge remains essential. Artists must still inspect UV coverage, distinguish metals from non-metals, configure colour spaces and test every asset inside its destination engine.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The most reliable workflow combines efficient tools with a clear texture standard. When map names, channels, resolutions and import settings are documented consistently, assets are easier to review, optimise and reuse across real-time projects.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Physically based rendering, commonly shortened to PBR, helps 3D materials respond consistently to lighting. Instead of painting every highlight and shadow directly into a colour texture, artists use separate maps &hellip; <a href=\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\" class=\"more-link\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":955,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-954","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PBR Texture Map Cheat Sheet for Real-Time 3D Assets - Blog QuickRef<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PBR Texture Map Cheat Sheet for Real-Time 3D Assets - Blog QuickRef\" \/>\n<meta property=\"og:description\" content=\"Physically based rendering, commonly shortened to PBR, helps 3D materials respond consistently to lighting. Instead of painting every highlight and shadow directly into a colour texture, artists use separate maps &hellip; Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog QuickRef\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-14T13:46:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"tedm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tedm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\"},\"author\":{\"name\":\"tedm\",\"@id\":\"https:\/\/quickref.me\/blog\/#\/schema\/person\/781b09d7f4bdae81ce0d191fb1b1d5ec\"},\"headline\":\"PBR Texture Map Cheat Sheet for Real-Time 3D Assets\",\"datePublished\":\"2026-09-14T13:46:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\"},\"wordCount\":2459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/quickref.me\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\",\"url\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\",\"name\":\"PBR Texture Map Cheat Sheet for Real-Time 3D Assets - Blog QuickRef\",\"isPartOf\":{\"@id\":\"https:\/\/quickref.me\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png\",\"datePublished\":\"2026-09-14T13:46:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage\",\"url\":\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png\",\"contentUrl\":\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png\",\"width\":512,\"height\":256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/quickref.me\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PBR Texture Map Cheat Sheet for Real-Time 3D Assets\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/quickref.me\/blog\/#website\",\"url\":\"https:\/\/quickref.me\/blog\/\",\"name\":\"Blog QuickRef\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/quickref.me\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/quickref.me\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/quickref.me\/blog\/#organization\",\"name\":\"Blog QuickRef\",\"url\":\"https:\/\/quickref.me\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/quickref.me\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2023\/10\/cropped-wuickref.png\",\"contentUrl\":\"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2023\/10\/cropped-wuickref.png\",\"width\":236,\"height\":63,\"caption\":\"Blog QuickRef\"},\"image\":{\"@id\":\"https:\/\/quickref.me\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/quickref.me\/blog\/#\/schema\/person\/781b09d7f4bdae81ce0d191fb1b1d5ec\",\"name\":\"tedm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/quickref.me\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2689288940b2c1525bf9633d5f4c4b96d14ab0593b0ec8d5404a1f968810e963?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2689288940b2c1525bf9633d5f4c4b96d14ab0593b0ec8d5404a1f968810e963?s=96&d=mm&r=g\",\"caption\":\"tedm\"},\"sameAs\":[\"https:\/\/quickref.me\/blog\"],\"url\":\"https:\/\/quickref.me\/blog\/author\/tedm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PBR Texture Map Cheat Sheet for Real-Time 3D Assets - Blog QuickRef","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/","og_locale":"en_US","og_type":"article","og_title":"PBR Texture Map Cheat Sheet for Real-Time 3D Assets - Blog QuickRef","og_description":"Physically based rendering, commonly shortened to PBR, helps 3D materials respond consistently to lighting. Instead of painting every highlight and shadow directly into a colour texture, artists use separate maps &hellip; Read More","og_url":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/","og_site_name":"Blog QuickRef","article_published_time":"2026-09-14T13:46:45+00:00","og_image":[{"width":512,"height":256,"url":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png","type":"image\/png"}],"author":"tedm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tedm","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#article","isPartOf":{"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/"},"author":{"name":"tedm","@id":"https:\/\/quickref.me\/blog\/#\/schema\/person\/781b09d7f4bdae81ce0d191fb1b1d5ec"},"headline":"PBR Texture Map Cheat Sheet for Real-Time 3D Assets","datePublished":"2026-09-14T13:46:45+00:00","mainEntityOfPage":{"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/"},"wordCount":2459,"commentCount":0,"publisher":{"@id":"https:\/\/quickref.me\/blog\/#organization"},"image":{"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage"},"thumbnailUrl":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/","url":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/","name":"PBR Texture Map Cheat Sheet for Real-Time 3D Assets - Blog QuickRef","isPartOf":{"@id":"https:\/\/quickref.me\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage"},"image":{"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage"},"thumbnailUrl":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png","datePublished":"2026-09-14T13:46:45+00:00","breadcrumb":{"@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#primaryimage","url":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png","contentUrl":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2026\/09\/meshy1.png","width":512,"height":256},{"@type":"BreadcrumbList","@id":"https:\/\/quickref.me\/blog\/pbr-texture-map-cheat-sheet-for-real-time-3d-assets\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quickref.me\/blog\/"},{"@type":"ListItem","position":2,"name":"PBR Texture Map Cheat Sheet for Real-Time 3D Assets"}]},{"@type":"WebSite","@id":"https:\/\/quickref.me\/blog\/#website","url":"https:\/\/quickref.me\/blog\/","name":"Blog QuickRef","description":"","publisher":{"@id":"https:\/\/quickref.me\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quickref.me\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/quickref.me\/blog\/#organization","name":"Blog QuickRef","url":"https:\/\/quickref.me\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quickref.me\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2023\/10\/cropped-wuickref.png","contentUrl":"https:\/\/quickref.me\/blog\/wp-content\/uploads\/2023\/10\/cropped-wuickref.png","width":236,"height":63,"caption":"Blog QuickRef"},"image":{"@id":"https:\/\/quickref.me\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/quickref.me\/blog\/#\/schema\/person\/781b09d7f4bdae81ce0d191fb1b1d5ec","name":"tedm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quickref.me\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2689288940b2c1525bf9633d5f4c4b96d14ab0593b0ec8d5404a1f968810e963?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2689288940b2c1525bf9633d5f4c4b96d14ab0593b0ec8d5404a1f968810e963?s=96&d=mm&r=g","caption":"tedm"},"sameAs":["https:\/\/quickref.me\/blog"],"url":"https:\/\/quickref.me\/blog\/author\/tedm\/"}]}},"_links":{"self":[{"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/posts\/954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/comments?post=954"}],"version-history":[{"count":1,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/posts\/954\/revisions"}],"predecessor-version":[{"id":956,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/posts\/954\/revisions\/956"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/media\/955"}],"wp:attachment":[{"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/media?parent=954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/categories?post=954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quickref.me\/blog\/wp-json\/wp\/v2\/tags?post=954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}