HoloEdit 2022.2.0 Release Notes

New Features - HoloEdit

Native .4DS file support

You can now create clips in HoloEdit directly from your source 4DS files. Like any other data source, simply add them to your workspace (preferably in a subfolder) and click the Make Clip button.

The Mesh Capture Tool has also been updated to support the latest 4DS files, in cases where mesh subtraction is still desired before creating a clip in HoloEdit.

Blend Stage (Beta)

This new processing stage enables you to generate a smooth blend between multiple clips, or to create a looping clip by blending it with itself. Please see the new documentation for the Blend Stage for more information and instructions on this new, unique stage type.

As the blend stage is still in beta, we welcome your feedback for the stage and will provide improvements in future HoloEdit releases.

Updated Mesh Stabilization Algorithms

We’ve updated the Hierarchy Node Sampler, a deformation approach which offers a more dynamic means of constructing and placing the nodes used to drive stabilization. The Hierarchy Node Sampler will generally run faster than our base stabilization algorithm and has thus been enabled by default. You will find this update used in the Stabilize Mesh, Template Match and Blend stages, and you can find more information in the Hierarchy Node Sampler documentation.

Additionally, small improvements have been made to the base stabilization algorithm which will attempt to detect bad deformation earlier and stop further processing. This will lead to an overall decrease in processing time without impacting the results of stabilization.

Generate Normals stage

This new processing stage enables you to generate normals for your clip, allowing it to be affected by lighting from your player. Additional smoothing options can be used to reduce the impact of sharp or noisy geometry creating harsh normals. Lighting can be previewed using the new Lighting options (see next item).

Updated Remote Server Connection Selection UX

New interface items have been added to the timeline allowing you to quickly select the desired job server (remote or local) for processing, execute jobs and open the job viewer.

../_images/ServerSelection.png
width

1325

This comes with work which will also allow you to submit work to job servers and see the progress on all of your active jobs regardless of which server they are being processed on.

Clips Can Be Named Using HoloStream Export

The HoloStream Clip Title field in the export composition window will now reflect its value when viewing the clip using the preview player, and is included as the Title value in the manifest.mpd file.

Lighting Window + Options

A new window has been added to HoloEdit giving you a full suite of options to light the viewport and review your clips. You can open this window like any other, using the Window > View > Lighting menu item. Presently any changes made to the lighting setup will not be saved across sessions of HoloEdit. We apologize for the inconvenience, but still encourage you to experiment with the feature and let us know what you think.

Maya Tool Shelf Refactor

The Maya tools have been updated to run from python scripts. In the process numerous tool optimizations have been made which should simplify and speedup the workflow. In order to update the shelf you’ll need to do the following:

  • Remove the current shelf in Maya by going to Windows -> Settings/Preferences -> Shelf Editor and deleting the HoloSuite shelf

  • Exit Maya

  • Delete the previous version of the Plugin from disk

  • Copy the new version of the Plugin into the same place on disk

  • Open Maya

New Features - HoloSuite Player Unity

HoloSuite Player Added Support For Extensions

A number of player functionalities have been moved into extension components. This structural change will keep your scenes and game objects cleaner, and make it easier to include extended player features in the future.

  • HSP Timeline Controller: This extension can now drive the timeline with the HoloSuite Player. This allows you to synchronize events across your scene.

  • HSP Look At Controller: Our SwingTwistLookIK.cs Script has been replaced by the HSP Look At Controller extension. This lets you retarget the head of your OMS actor to face another GameObject.

  • HSP Playback Controller: This extension allows for easy configuration, and programmatic control of OMS playback. This includes Play/Pause and Seek functionality. Multiple events are avaliable, enabling you to trigger functions at the start, end, and loop points of a clip.

Please see the HoloSuite Player Unity Extensions documentation for additional information and instructions.

Added additional Unity Event Support

A new frame ready event has been added to the playback events list. This event will fire while the clip is playing, every time that a frame is prepared for playback.

Removed -X scale For OMS files

In the very early days of the Unity player, it was necessary to switch the X-scale to -1 to handle a mesh flip that would occur in the pipeline. This has been refactored and is no longer required, so all new projects will be simplified in their setup. If you update an old project, you’ll want to check the X-scale value and ensure your OMS is oriented the correct way for your project.

Improvements To The URP And HDRP shaders

The render pipeline URP and HDRP shaders have been replaced with Shader Graphs. The standard and retargeting variants of the shaders have also been unified. This results in a cleaner choice between lit and unlit variants while maintaining all functionality.

Improved framerate compatibility of HoloStreams

HoloStreams in Unity will read the timescale value from the manifest file, which allows them to correctly determine playback FPS automatically.

New Features - HoloSuite Player Unreal

Significant improvements are introduced in this release of the player. Please see the updated Unreal HoloSuite Player Installation section for full instructions on how to install the updated plugin.

Unreal Engine 5 support

The HoloSuite Player for Unreal now supports the latest version of the engine! Adding support for Unreal Engine 5 required significant changes to the plugin, so we’ve refactored it across all versions in an effort to improve performance and create the most consistent and stable experience across all versions of Unreal. If desired, an Unreal 4.2X project can be upgraded to Unreal 5 with minimal friction.

HoloSuite Player Unreal refactor

Notable improvements to the player include:

  • Improved frame decoding speed

  • Reorganized OMSMeshActor parameters for greater readability and accessibility

  • Fixed Seek() method for playback interactions (accessible through Blueprints)

  • Fixed texture mismatches when working in the Editor while not playing, and when using the Sequencer

  • New experimental parameter called ResponsiveAA added, aimed at reducing blurring and ghosting artifacts from temporal anti-aliasing methods such as TAA or TSR

Please see the HoloSuite Player Unreal documentation for additional information and installation instructions.

Fixes

App.log File Moved to New Logs Folder

The app.log file generated when you run HoloEdit and useful for debugging is now no longer automatically overwritten every time you run the application. A Logs subfolder has been added in the holoedit directory where a timestamped app.log file is generated for each new session of HoloEdit.

HoloEdit Clip Source File Compatibility Improvements

In addition to 4DS file support, additional improvements were made to the clip importer, including:

  • Added support for .JPEG extension to mirror .JPG

  • Improved support for .ABC files

  • Added the ability to use sequential ABC files in a single folder to generate a clip where appropriate (ABC files previously assumed all meshes were in a single file)

Improved HoloStream Export

There was a minor difference in the implementation of the HoloStream export from our standalone command line tool, which was capable of producing a slight difference in the generated HoloStream content. The method for export has been unified and both tools should now produce identical output.

Toast Notification Improvements

Toast notifications have received general updates and revisions have been made to the events that invoke them. We hope this improves the user experience of toast notifications.

Fixed Task Cancellation Crash

It was possible to crash HoloEdit by taking an action that spawned a task (importing a clip, submitting a job, etc), clicking the cancel button before it completed, but not accepting the cancellation until the task had completed. This loophole has been closed and HoloEdit will now perform no additional operation (the task has already been completed, so it cannot be cancelled).

Fixed Clip Reimport Crash

It was possible to crash HoloEdit by trying to reimport a clip which was already being imported. This can no longer occur as the Reimport menu item is blocked while a clip is being imported.

Workspace Integrity Scan

A new operation has been added on startup which validates the integrity of the workspace and attempts to recover any corrupt assets automatically.

General UX Improvements

A number of fixes have been made to improve UX within the application.

  • Clicking away from a field without pressing Enter will save the changes rather than discard them

  • Pressing Esc while editing a field now discards any changes and de-selects the field

  • Click-and-drag behaviours have been cleaned up and unified so that dragging items into drop targets should be consistent and intuitive

  • Checkbox behaviours have been unified across the application and can no longer desync from the attribute they are tied to

  • Support has been added for running a job which uses assets and intervals from multiple tracks

  • Improvements have been made to job logging that increase the reliability of the job viewer’s console log

  • Both uploading and downloading for jobs and their results now occur in the background

  • Fixed a rarely-encountered crash rooted in the task viewer

General Remote Cloud Processing Stability Improvements

A number of non-specific updates have been made to the processing cloud which will further improve reliability of the service.

2-Frame SSDR Failures Fixed

This long-standing bug has been addressed. While this offers no meaningful improvement to processing or final output, it corrects a negative feedback loop for users which should improve your overall experience when processing data.

Known Issues

HoloEdit Crashes When Closing A Composition With Multiple Tracks

This will be addressed in an upcoming patch. The issue only occurs when a composition contains more than one track, and you try to open a saved composition. It is assumed the majority of users will not be using multiple tracks in their compositions for this to cause a significant impairment to productivity. If you need a workaround for this issue, use File > New Composition before trying to open your saved composition.

HoloEdit Performance Drops Significantly When A Large Timeline Is Being Rendered

There is an issue with the renderer which will cause HoloEdit’s performance to drop significantly if you try to view a large amount of information in the Timeline window. While we appreciate that this workaround is not the most convenient, zooming in to display a much smaller chunk of your work will dramatically improve the responsiveness of the application.

Adding The Lighting Panel To The Layout Breaks The Layout Of Previous Versions Of HoloEdit

If the Lighting panel has been opened in your layout and you try to open a previous version of HoloEdit (2022.1.1 or older) the layout will not properly load and HoloEdit will be rendered unusable. This can be corrected by going into a version of HoloEdit that contains the Lighting panel (2022.2 and newer), then removing it from the layout before closing the application.

HoloStream Export Jobs Can Fail With Large Clips

Unfortunately the definition of “large clips” is nebulous, as it depends on the size of the mesh and textures in combination with the clip’s length. You will see this manifest as a failed Finalizing work unit. We apologize for the inconvenience, but know that a fix in development for this issue which will also improve audio handling.

Cancelling An Export Does Not Cancel The Export

If you cancel an export task, the task will appear cancelled in HoloEdit, but the export will still continue.

Compute Time Counter Erroneously Continues To Increase

When looking at jobs and work units in the Job Viewer, there are instances where the Compute Time value will continue to increase when you wouldn’t expect it to. For example, if you cancel a job that is processing, all the work units will continue to show an increasing compute time. This is a visual error only and will not affect your compute balance or remote server capacity.

Compute Time For Failed Jobs Shows Large Negative Number

If a job or work unit fail, they will display a large negative number in the compute time column when looking at the job viewer. This is a visual error, though unfortunately you cannot retrieve the actual value if you desired it.

Cannot Modify Multiple Intervals Settings Simultaneously

If you select multiple intervals from the same stage or stage type, modifying any value in the Inspector window will only update that value for the last interval that was clicked.

Mesh Preview Hidden In Inspector

The simple workaround for this is that the preview will become visible if you click in the space it should be visible.

Audio Preview Error On Intervals

When using an audio stream in a load asset, if the interval for that stream does not start at frame 0 of the composition, the preview waveform for the clip will be rendered incorrectly if the Timeline window does not show frame 0. For example, the preview will be correct if the interval starts at frame 0, or if the interval starts at frame 200 as long as the left-most frame visible in the timeline is frame 0. If the same interval starts at frame 200, but the left-most visible frame in the timeline is frame 200, the audio preview will be rendered incorrectly.

Compositions saved using 2022.2.0 with jobs running will not open in previous versions of HoloEdit

This is strictly due to a change in how work units are handled in 2022.2.0 which makes them incompatible with previous versions. Note this only applies to a composition that’s saved with an active job. If the composition is saved again after the work has completed, it will be accessible in previous versions of HoloEdit.

Running the Manage Workspace Disk Cleanup Tool While Any Saved Composition Has Available Job Results Will Cause HoloEdit to Crash

If you submitted a job for processing and then saved your composition and closed HoloEdit or opened another composition, the results for that job won’t be fetched until you open the composition again. If you run the disk cleanup tool before opening the composition and saving the downloaded job result, HoloEdit will crash while trying to review the assets in the saved composition. Odds are pretty good you won’t do this, but the easiest way to avoid it anyway is to only run the utility after you’ve finished downloading any outstanding jobs you had running.

Using Texture Reconstruction And Texture Transfer In A Single Job Returns Bad Results

An issue was discovered with our work-unit dependency calculation which results in a particular set of inputs and outputs being incorrectly handled for the order they should be processed by the server. Dependencies are calculated for complex jobs with numerous stages submitted for processing at once, so in this case the workaround is to ensure you don’t process both of these stages in one job.

UV Generation Does Not Reserve Space For Frame Encoding

If a mesh’s UV map contains islands that are too close to the bottom-right of the UV space, it is possible that the frame encoding will overwrite texture space within the island, and thus produce small black and white spots during playback. This issue can occur with source volumetric assets as well and not only our generated UV sets. A fix is planned for this which should address all instances of this problem.

Unreal VR Builds Cannot Load Multiple Clips At The Same Time

When more than a single OMS Player is loaded at once, there is a high probability that they will not play correctly. This issue seems far less common in Unreal 4.25, and manifests differently in 4.26 and 4.27, and this is actually observable using our included VR DemoRoom map.

We’re working to optimize the plugin and will release a patch once this playback problem is solved. Until then, it is strongly recommended you only use a single OMS player at a time in your VR experience.

Windows 11 Update Invalidates Held License

This issue is the result of the Windows update causing the computer to look like a different one than the license is currently assigned to. Licenses are automatically released after 24 hours, at which point the license can be re-acquired and everything will work fine again. Unfortunately to perform this action any sooner requires contacting our support team.

It is recommended that you release your HoloEdit license before updating to Windows 11 as this will sidestep the issue entirely.

Windows 11 Local Job Server additional warnings

On Windows 11 when running the local job server, the log will constantly return failed to get access token and failed to get compute time along with another two lines which reference “payment”. Using the local job server does not consume compute time - you can still run jobs and it will not eat into your compute time balance. This notification is effectively harmless and you are still able to run jobs on the local server.

Sign-out > Sign-in Required for Streaming-Type Exports When Using Local Server

Due to an issue where the account compute balance is not fetched if HoloEdit is started with the local job server active, Streaming-type exports cannot be initiated until the user account is signed-out and signed-in again, or the application is restarted with the Remote job server active.

Mesh Capture Tool First MVE Camera Capture Error

Unfortunately due to a timing issue with shader compilation in Unity 2019, the first MVE camera capture takes place before the model is correctly textured. This will be addressed in another version, however for now a workaround does exist within Unity:

  • Open the Mesh Capture Tool project

  • Edit > Project Settings > Editor

  • Scroll to the bottom and find the Shader Compilation section

  • Disable Asynchronous Shader Compilation

Web Player Texture Size Limitation (1440x1440)

The streaming content using the web player, textures larger than 1440 are not supported. Thus you cannot play quality profiles that use higher resolution textures. If a streaming clip contains no quality profiles with textures 1440 or lower then playback will be impossible and it will appear as though the clip is broken.

Please note this does not affect playback when streaming using the Unity player.

Large-Scale Clips Generating Bad Skeletons and SSDR Results

A “large-scaled volumetric clip” can be identified using the grid visible in HoloEdit:

../_images/MeshSize.png

Where each grid block represents one square meter of space, a “standard-sized” model would visibly fit within one square when upright. If your model is significantly larger than this (100x or more) the Generate Skeleton process will likely produce no visible result, and SSDR is likely to encounter precision errors resulting in bad visual noise during playback.

You can work around this by re-sizing your meshes within HoloEdit and then using File > Export Composition to export the meshes, then reimport them as a new clip that will use the correct scale.

Compare View Mode Poorly Handles There Only Being Visible Data On One Stage

There are several display bugs tied to this case, however as you would typically be using Compare to review processed data with its source or an earlier stage, this is an outlier behaviour and you likely will not encounter it.