Releases: Azure/azure-remote-rendering
Release 1.2.29
Important Service Updates
- SDK updated to version 1.2.29
API Changes
- Outlines can now be color-tinted by a screen-aligned texture mask. See additional parameters in global
RenderingConnection.OutlineSettings
object. See Outline Rendering documentation page for details.
Release 1.2.28
Important Service Updates
- SDK updated to version 1.2.28
Bug Fixes
- Unity: Fixed Azure Remote Rendering not considering Quality-level URP settings.
- Conversion service: Fixed output json file. The
numFaces
entry (input statistics section) and thenumPrimitives
entry (output statistics section) did not consider geometry instancing, so it was not a valid metric for the render size limit. For future conversions, these numbers have been fixed and can now be used to determine whether a model fits into Standard SKU.
Sample Updates
- Showcase: Added support for loading model thumbnails when using AAD for authentication by loading thumbnails via Storage SDK instead of generating SAS URLs.
1.2.27
Important Service Updates
- SDK updated to version 1.2.27
Sample Updates
- Improved documentation for Showcase
Release 1.2.26
Important Service Updates
- SDK updated to version 1.2.26
Features
- The
HierarchicalStateOverrideComponent
can now be used to render subgraphs of models with a single material. This can be used to implement certain highlighting effects without cumbersome per-node material switches. This feature is exposed through the newHierarchicalStates.UseOverrideMaterial
flag and theHierarchicalStateOverrideComponent.OverrideMaterial
property. - The
ColorMaterial
now exposes a mode to define the generation mode of texture coordinates. Beside using the UV sets from the source model, there are now two new modesTextureCoordinateGenerationMode.PlanarWorldSpace
andTextureCoordinateGenerationMode.PlanarObjectSpace
. These modes generate the texture coordinates from vertex distance to two user-defined planes. The two planes are exposed throughColorMaterial.TexCoordPlaneU
andColorMaterial.TexCoordPlaneV
. Use case for these texturing modes are highlighting effects where a texture is projected in world/object space. - Added proper support for MRC capture on HoloLens 2 / OpenXR. Captures will now have 3D content rendered in the camera's view instead of the left eye view. This requires more rendering resources. To restore the old behaviour, check "Disable First Person Observer" in the "OpenXR / Mixed Reality Features" section of the Unity project's settings.
Bug Fixes
- Unity: Fixed
ARRServiceUnity
not fully resetting and unable to start new session after callingForgetSession
while a session is still starting.
Release 1.2.25
Important Service Updates
- SDK updated to version 1.2.25
Features
- Added a
SolidEdgeSize
parameter toCutPlaneComponent
, which allows to customize the pixel width of the hard color edge rendered at intersections of cutplanes with geometry.
API Changes
- Added a new
struct Plane
in the runtime API. In case this collides with Unity's plane class, use an explicit namespace.
Bug Fixes
- Conversion: Better handling of edge cases when model contains broken UTF-8 text encodings.
Sample Updates
- Tutorial-Complete: Fixed PC Standalone builds due to missing import settings on "Microsoft.Identity.Client.dll".
- Showcase: Fixed non-build-breaking errors showing in the console when building for PC Standalone or Quest.
Release 1.2.24
Important Service Updates
- SDK updated to version 1.2.24
API Changes
- The Unity package includes a new extension method
IsValid()
to check ifUnityEngine.Bounds
are valid.
Sample Updates
- Quickstart and Showcase: use the new
IsValid()
check. - Showcase: Reworked remote casting for pointers, fixing multi stepped pointers like the
ParabolicTeleportPointer
and providing a more smooth and responsive remote pointer UX in general.
Release 1.2.23
Important Service Updates
- SDK updated to version 1.2.23
- Conversion service:
- For triangular mesh conversions, the number of output primitives (triangles/lines) has been added to the "outputstatistics" section of the .info.json file.
- When converting an .fbx with unsupported geometry types (Splines/NURBS) an output warning is issued through the result.json file. If the converted arrAsset ends up with no valid geometry at all, another warning is issued.
Bug Fixes
- Fixed edge case on HoloLens and Desktop where remote content could partially disappear despite not occluded by local content.
- Fixed a bug for triangular meshes converted with an unsupported texture UV index causing a crash when loading the model.
Sample Updates
- Showcase: Fixed
arr.account.xml
not being loaded on Quest devices.
Release 1.2.21
Important Service Updates
- SDK updated to version 1.2.21
API Changes
New scene graph traversal helpers
The following new client-side runtime API functions have been added to accelerate some special purpose scene graph traversal use cases:
Entity.GetRootPath
: Builds a path string that consists of entity names with separators up to the root level, for example "root\path\to\this\entity".Entity.FindByPath
/TryFindByPath
: Finds one or more entities with a given path under an entity.Entity.FindComponentsOfTypeInHierarchy
/TryFindComponentsOfTypeInHierarchy
: Finds all occurrences of a specific component in the graph under an entity.Entity.FindEntitiesByNameInHierarchy
/TryFindEntitiesByNameInHierarchy
: Finds all entities with a matching name in the graph under an entity.
The same functionality could have been accomplished through manual traversal / the visitor function, however these functions have been implemented purely on the native side, so they are orders of magnitudes faster than their counterparts implemented in C#.
RemoteRendering.StringComparison
. This might collide with the System.StringComparison
type. To fix issues with this, you'll have to fully qualify the name of these enums in your code.
Utility class to find the best rendering region based on ping times
A useful utility function has been added to the Unity binding code. It allows for pinging endpoints for a selectable set of rendering regions and then returns the list of regions ordered by best ping times. This utility function can either be used as-is in production, or it can serve as sample code for similar implementations.
Here is some sample code:
List<RegionPingResult> sortedResults = await RegionPingUtility.PingArrRegionsAsync(null);
string bestRegion = sortedResults[0].Region
Release 1.2.20
Important Service Updates
- SDK updated to version 1.2.20
Bug Fixes
- Pending promises and
async
C# API calls are now properly failed on graceful or ungraceful disconnect. - Showcase: Fixed potential exception in script
ClippingGizmoHighlight.cs
when enabling the cutplane tool.
Sample Updates
- Samples now enable ForceTransparencyWritesDepth by default on VR devices.
Release 1.2.17
Important Service Updates
- SDK updated to version 1.2.17
Features
- Added
TransparencyWritesDepth
override flag to Hierarchical State Override Component API. This allows controlling depth writing for transparent materials on a scene-tree level and also adds support for depth writing for nodes rendered with See-through. - Added
ConversionID
to the model metadata in arrAsset files.
API Changes
- Added
Mesh.GetResourceStateAsync_Experimental
, for querying whether connection to data source isActive
or gotInterrupted
. This is meant to be used with remote streamed Point Clouds to check the connection status.