Pixel Info: Reshaping our analysis tools
By Rémi LAOT
Reshaping Ocean™’s analysis tools
Ocean™ offers lots of features and can be used to solve more needs than just producing visuals. Sadly, to most users these features are not always visible or not always straightforward. That’s a problem we are aware of and eager to take on at Eclat Digital. We want Ocean™ be able to express its full potential. And to do so, we believe it needs a much clearer interface.
So recently, we have been taking a step back, assessing what can be done to improve the UX aspect of the software. Notably, we’d like to clarify Ocean™’s workflow and scope. That would be a tremendous improvement as it would flatten the learning curve and streamline users’ daily use of Ocean™.
With this idea in mind, one of our projects in 2020 was the reshaping of the analysis tools available in Ocean™. Previous versions of the software already shipped virtual sensors to measure photometry, colorimetry and spectrometry in a visual. These widgets worked as intended and produced valuable measurements. But their UX could be improved! Hence, this reshaping project was not about changing the widgets themselves, but rather rethink the analysis tools workflow altogether. And while we were at it, it was also a good opportunity to give you access to even more data in your renders!
UX improvement opportunities
Ocean™ 2019 offered three tools to analyze visuals: a colorimetry widget, a photometry widget and a spectrometry widget. Each worked in a similar manner (see figure 1): select a widget and pick a position in an image. The corresponding data is computed by Ocean™ and then displayed in the widget. Among the issues we identified, two main improvement opportunities emerged. Firstly, users had to define one position per widget, drawing it on screen. It made it difficult to produce repeatable measurements. Secondly, the data was computed once and not cached. It would become obsolete if the visual was still rendering and lost if the user made a new measurement.
Building on this review, we defined three UX goals for the reshaping of Ocean™’s analysis tools:
. Allow users to produce reliable and repeatable measurements
. Allow users to quickly identify which value corresponds to which position
. Allow users to easily measure data from multiple positions / multiple images, without losing track of previous values
The Pixel Info widget
Ocean™ 2020 R1 introduces a new widget called “Pixel info” (see figure 2). It is the result of the reshaping of the analysis tools in Ocean™. It bundles all the previous measurement widgets (colorimetry, photometry, spectrometry), plus two additional tools: x-ray materials and geometry info. This widget acts as a common foundation for all existing and future analysis tools in Ocean™. Thanks to the Pixel Info widget, it will now be easier for us to implement new measurement tools with a consistent interface!
The key notion of Position of Interest
The Pixel Info widget introduces the key notion of positions of interest in a visual (see figure 3). The main idea is the following: a position of interest is a point or an area in a visual, for which Ocean™ needs to compute a set of measurements. In Ocean™ 2019, this notion was present but implicit. It corresponded to the positions you picked when doing a measurement. With the Pixel Info widget, we make this notion explicit, and give you tools to manage them properly.
Once declared, a position of interest triggers the computation of data for a visual. With this mechanism, you no longer need to declare a position multiple times to acquire different information. The software will automatically detect which data can be computed for a specific position and will produce them. Plus, the measurements are cached and refreshed every time the visual is updated (if rendering is still in progress).
So, from Ocean™ 2020 onwards users can declare positions of interest in two ways. First, similarly to Ocean™ 2019, users can draw positions directly on a visual. Second, users can now declare precise positions through keyboard input. Of course, multiple positions can be declared for one or multiple visuals. And as stated previously, no data is discarded when users do so. All positions and measurements are kept in cache and updated when needed. Users can keep track of and manage the positions they declare using the position list in the Pixel Info widget. Additionally, positions can be declared once on a visual, then be moved or duplicated on another visual (e.g. for comparison purposes). Finally, positions are now directly displayed on the visual preview.
The key feature of position of interest provides our users a more rigorous workflow to produce measurements (see figure 4). It also offers various tools to manage do so more reliably / repeatably. We believe it improves Ocean™’s UX greatly.
Get geometrical insights about a visual
Figure 5 – representation of the mechanism that produces geometric insights about a visual in Ocean™
Ocean™ is not a 3D CAD software. This is mostly the reason we are hesitant to include some features like mesh previews in Ocean™. For now, we chose to focus on core features as other softwares already do a great job to solve these complex problems. Nevertheless, it can be frustrating to witness a strange behavior in Ocean™, and not directly have the tools to easily investigate CAD data for the root of the problem. To streamline our users’ workflow and reduce their problem-solving time, we thought this rework would also be a great opportunity to give users more insight about the scenes they are rendering. With this purpose, we added two new analysis tools to Ocean™ 2020: Geometry Info and X-Ray Material.
Both tools work in a similar manner (see figure 5). When you select a point on a visual, Ocean™ fires a ray in the direction of this point and retrieves data about all surfaces crossing this ray. For those of you who are accustomed to previous versions of Ocean™, this is a generalization of the “Get Material” feature. Instead of accessing material data from the first surface encountered in a direction, these new tools give you access to more data (e.g. mesh name, world position, …) about all surfaces in the selected direction!
Figure 6 – illustration of the two new measurement tools (left: Geometry Info, right: X-Ray Materials
More specifically, the Geometry Info tool gives you access to various geometric data about the points of intersection between a surface and a ray fired by Ocean™. The left panel of the Figure 6 shows the data it produces. The X-Ray Material, on the other hand, gives you the list of all materials encountered by the ray fired by Ocean™ (see Figure 6 – right panel).
We are excited about the result of our reshape of the analysis tools of Ocean™. It’s a great step in the right direction. But of course, there is always room for improvement! Our heads are already full of ideas. Following are a few leads of improvements we would like to investigate in the future:
- UI of tools to manage positions of interest could be improved.
- We want to provide our users more feedback relative to the measurement tools. Which measurements are available at a position, which are not and why is that.
- More measurement tools could be created.
Finally, in the near future we would like to investigate solutions better targeted at large amounts of measurements / visuals.
In the meantime, stay tuned on our socials for new exciting features! And if you want more details about Ocean™’s analysis tools, you can go through our user documentation.