Blog

Advance Prototyping of the InteractiveTutorials Gem for O3DE

September 7, 2022

Hi! I’m Madeleine, an Amazon intern working on Open 3D Engine (O3DE). My summer project focused on advanced prototyping of the InteractiveTutorials gem. This prototype teaches users how to work with Open 3D Engine, right in O3DE Editor. As users work through tutorials, the tool highlights the parts of the interface used at each step. So far, I’ve added several features and scoped out future improvements, including automating tutorials and making them easier to navigate....

C++ STL Algorithms Series - Part 4

August 31, 2022

Topic This week we’ll be looking at where algorithms can lead us into trouble and how we can avoid falling into these traps. (This article is a little longer than usual, normal programming will resume next week). Motivation This came from a real-world example where rigid adherence to trying to use an algorithm at all costs lead to an unexpected outcome. By taking a step back and thinking through the problem again, an alternative approach presented itself, but served as a stark reminder to check ones thinking and never assume....

C++ STL Algorithms Series - Part 3

August 17, 2022

The more familiar we become with algorithms the more places begin to emerge where they can be utilized. This time we’ll introduce transform and see how it can be used to solve a familiar problem. Example transform takes a pair of iterators and applies a function to each element, storing the result to an output range (this is usually a new collection but it can also be performed in-place). AZ::Matrix4x4 clipFromWorld = ....

C++ STL Algorithms Series - Part 2

August 3, 2022

Topic Continuing from the previous entry in this series, we’re going to keep exploring some of the use-cases of <algorithm>/<numeric> in our day to day work. Example It’s all too easy to come up with trivial examples for algorithms that don’t reflect the type of problems we have to solve everyday. With that in mind, this example (though a little contrived) might be something we actually want to calculate in O3DE....

C++ STL Algorithms Series - Part 1

July 20, 2022

An introduction to why you might want to start using the <algorithm> and <numeric> header more in your code. Motivation There is a growing movement in the C++ community to favor algorithms (usually found in <algorithm> and <numeric>) over hand-written loops. There are a multitude of reasons for this (correctness, performance, readability) and it’s a pattern that comes up again and again in other languages too. The general premise is to move to a more declarative model (describe what should happen) as opposed to an imperative one (describe how it should happen)....

The Open 3D Foundation Welcomes Epic Games as a Premier Member to Unleash the Creativity of Artists Everywhere

July 20, 2022

Interoperability and portability of real-time 3D assets and tools deliver unparalleled flexibility, as the Open 3D community celebrates its first birthday The Open 3D Foundation (O3DF) is proud to announce Epic Games as a Premier member alongside Adobe, Amazon Web Services (AWS), Huawei, Intel, LightSpeed Studios, Microsoft and Niantic, as it celebrates its first birthday. With today’s world racing faster and faster towards 3D technologies, the O3DF provides a home for artists, content creators, developers and technology leaders to congregate and collaborate, share best practices and shape the future of open 3D development....

Exploring the world of graphics via Atom, O3DE’s renderer

July 13, 2022

Hello all! I’m Judy, an intern at Amazon working on the Open 3D Engine (O3DE), specifically the Atom renderer. I interned with Amazon in the summer of 2021, focused on contributing to Atom, and have returned to Amazon as an intern again this summer! So far, I’ve learned graphics fundamentals and applied that knowledge to write a custom shader and make my own material type. Here are some details about my journey learning about graphics and Atom....

Motion Matching in O3DE, a Data-Driven Animation Technique

May 12, 2022

Motion matching is a data-driven animation technique that is gaining popularity since games like ‘The Last Of Us Part II’, ‘FIFA’, and ‘Half-Life: Alyx’ have adopted it. Users have higher expectations for animation quality including more realistic animations and a greater variety of interactions between characters and their environments. This growth in expectation resulted in increasingly complex animation graphs that became harder to maintain and more expensive to create. Motion matching is a way to animate a character in a controlled way by jumping and blending between pre-recorded animation sequences several times a second, synthesizing the animation for the character....

O3DE User Defined Properties

March 8, 2022

O3DE User Defined Properties O3DE has the ability for the O3DE asset pipeline to read in this user defined properties (UDP) metadata so that scene building logic can customize asset processing logic using the UDP metadata. This allows the artists to continue to work primarily in the tools they have mastered such as Maya or Blender. For example, a content designer will not need to open up the O3DE Editor to assign a brick material to a wall model since the artist has assigned the brick material to the wall mesh node in Blender....

Introducing the Blue Jay Design System for O3DE

February 3, 2022

Today, you’ll be learning about the design system that the SIG UX UI community has been working on: the Blue Jay Design System (BJDS). What is the Blue Jay Design System? The Blue Jay Design System (BJDS) is a unified design and development system for designers and developers who want to extend the O3DE editor. It consists of a design library of reusable UI components and UX pattern guidelines. Ultimately, these guidelines will help define a more consistent, productive experience for all O3DE users when followed....