LogoLogo
ThreeKitDeveloper HubForumsSupportStatus
  • Guides
  • Documentation
  • Releases
  • Community Home
  • Changelog
  • Getting Started
    • Project Prep
      • 1. What Should I Expect During Onboarding?
      • 2. Getting Ready for Your Threekit Project
      • 3. Org Provisioning & Adding Users
      • 4. Intro to Support
      • 5. Training
      • 6. Requirements Checklist
      • 7. Customer Resources & Onboarding Checklist
    • Managing Your Implementation
      • Implementation Design Review
      • Requirements Traceability Matrix (RTM)
      • Project Delivery Checklist
      • Daily Stand-up Meeting
      • Status Report Template
      • Stakeholder Meeting
      • Customer Roles and Responsibilities
      • Internal QA
      • Customer Support Handoff Doc
      • Post Implementation Training Agenda
      • Managing the Discovery Process
      • What is a Quality Workshop?
      • Project Update/Exam Template
      • Consulting Methodology - Presentation Consulting Methodology - Presentation
      • Task Estimation
    • Implementation
      • UAT Planning
      • Earned Value
      • User Stories
      • Milestone Signoff / Project Acceptance Document
  • Learn
    • Platform Overview
    • Workflows
      • Basic Visualization
      • Best Practices
        • General 3D Content Creation
        • Performance Guidelines
        • 3D Asset Naming Conventions
        • Usage of Shadows With AO & SSAO
        • Camera Set-up Best Practices
        • Reference Image Guidelines
      • Text Personalization
      • Image Upload Personalization
      • V-Ray Workflow
        • 1. VRay Requirements
        • 2. VRay Asset Preparation
        • 3. VRay Asset Export
        • 4. VRay Scenes
        • 5. VRay Models
        • 6. VRay Materials
        • 7. Vray VFB Presets
        • 8. Vray Operators
        • 9. Vray Light Linking
        • 10. Vray Compositing
        • 11. Vray Render Workflow
        • 12. Vray Troubleshooting
      • Template Assets
    • Training
      • Self-Led Training
        • Basic Renders
        • Adding Pricing
        • Adding Additional Languages
        • Rules
        • Data Tables
        • Dimension Annotations
        • Stages
        • Metadata
        • Proxy Materials
        • Image Annotations
        • Upcoming Training Videos Outline
    • FAQ
      • General FAQ
      • Threekit Glossary
      • What are the different types of Visualization?
      • What are Material Scans?
      • What is Layered Rendering?
    • Trio Talks
      • October 20, 2022 - Augmented Reality
      • September 15, 2022 - Order of Operations
      • August 18, 2022 - Performance & Model Optimization
      • July 21, 2022 - Collision Detection & Drag and Drop
      • June 16, 2022 - Virtual Photography
      • May 2022: Conquering APIs: 10 Useful API Options You May Not Know About
      • April 21, 2022: Adding Bling: Falloff, Glass, Iridescence, Bloom
      • March 17, 2022 - Treble
      • January 20, 2022 - Modular Configuration
  • Tools
    • General Apps
      • Republish Items
      • Apply Metadata Pattern
      • Render to vrscene
      • Filter Saved Configurations
      • Performance Dashboard
      • Asset History
  • Feedback
    • Want to give us feedback on the Threekit Community? Click Here!
Powered by GitBook
On this page
  • What is AO?
  • Why is AO used?
  • When should AO be used?
  • When should AO not be used?
  • What is SSAO?

Was this helpful?

Edit on GitHub
  1. Learn
  2. Workflows
  3. Best Practices

Usage of Shadows With AO & SSAO

Welcome to our series on 3D Best Practices. In this series, we address the key components of describing the differences and optimal usages of AO and SSAO. This article focuses on what AO and SSAO are, and how to use them most effectively. Following these simple steps can dramatically improve the visual quality of the configurator output.

What is AO?

Ambient Occlusion or AO is a method where shadows are pre-baked into a texture. In 3D this is a shading and rendering technique which calculates the exact area in which ambient light would interfere, thus causing shadowed areas.

Why is AO used?

AO is primarily used to greatly improve the visual quality of your scene. You can have AO baked onto your model, the floor beneath it, or the room around it. Essentially anything that is a 3D Mesh can have AO. AO is calculated with consideration of the other objects in the scene, which means some implementations cannot use AO easily.

AO does a few things:

  • Increases the realism of your object by giving it “weight” and grounding it

  • Reduces blown out areas due to bright lighting, and overall softens the look of the objects it is applied to

  • Helps with anti-aliasing and having very jagged white edges on the mesh

  • The most visually appealing method of applying realistic shadows

When should AO be used?

AO is a very useful tool to have in your arsenal when it comes to creating visually appealing configurators or renders. AO should definitely be used in simple configurations, especially those that do not have moving or changing physical properties. Basically, any implementation that is material property changes only are perfect for the use of AO, and should always be used for maximum visual appeal.

When should AO not be used?

AO is a lot more simple to use when the configuration involved does not have many changing physical parts. The reason for this is because the shadows being baked makes them static, and being static means that if parts move or change, those shadows will remain and look incorrect. The way around this is to bake a different shadow for every possible iteration of the configuration. Sometimes, you can get around this by “exploding” your mesh and baking shadows. What this means is separating all the parts and moving them apart slightly to bake a more general shadow. In any case, it’s quite evident why this can become complicated depending on the implementation.

What is SSAO?

Screen Space Ambient Occlusion or SSAO is a similar method for utilizing shadows, but has different uses and performance capabilities. The main difference that SSAO provides over AO is real-time shadow enablement. This is highly effective for any configurations that utilize a dynamic scene, as well as those that need to be time efficient. Figuring out whether your configuration is dynamic or static will reveal if you should use SSAO or AO (in most cases). Sometimes you can use AO in dynamic scenes as stated above, but it will take more planning and time to execute properly. The Threekit player has a very good and optimized SSAO setting within the scene.

Here you can see the options available for SSAO within Threekit. These can be found in a Scene asset on the right hand side. SSAO is a fairly optimized option for real-time usage, and should always be used when baked AO can not. It’s the easiest and most time efficient option since it only needs to be enabled, and a few settings adjusted. The caveat here is that it does not look as visually appealing as AO. This reduces the overall appearance of the configurator and lacks the look of real-world shadows. However, it is much better to use than nothing at all.

Previous3D Asset Naming ConventionsNextCamera Set-up Best Practices

Last updated 1 year ago

Was this helpful?