.. include:: definitions.rstinc ========= Changelog ========= .. _5.0.1-ref: **5.0.1** (2024-03-18) ---------------------- .. topic:: Fixes * Fixed an issue where the *Check for updates...* window could not properly read the platform. (`1af217f `_) .. _5.0.0-ref: **5.0.0** (2024-03-15) ---------------------- .. warning:: This version of AGXUnity moves all of the default materials to an in memory representation. As a result of this, any projects using the default materials previously provided in AGXUnity might run into their visuals having missing materials. For AGX components these missing materials are handled automatically but it is recommended to backup projects before updating the plugin. .. note:: Since AGX Dynamics will drop support for **Ubuntu 18** in the next major release, this is likely the final version (excluding patches) of AGXUnity to support **Ubuntu 18** as well and the support for the platform should be considered deprecated as of this version. .. topic:: Features * Added support for installing AGX Unity through the UPM. See :ref:`install-package-context-ref` for more information. (`cdd1e8d `_) * Added new type of terrain particle renderer which upsamples the simulated particles to yield a more fine grained visual result. (`8800901 `_) * Updated the :ref:`cable rendering ` shaders to allow for higher visual fidelity and reworked them to work with wire rendering as well. (`1e8e37a `_) * Update default AGXUnity rendering materials to be stored completely in-memory. (`1e8e37a `_) * Added implicit material mappings for rendering :ref:`Terrain material patches ` and added a help box to add a renderer if it is missing from the parent terrain. (`336a220 `_) * Added an option to filter the particles rendered by DeformableTerrainParticleRenderer based on particle material (`b58b9b2 `_) * Added :code:`DeformToInitialState` option for using the initial route of a :ref:`cable-ref` as the rested state. (`ceaeb54 `_) * Added a flag to force :ref:`collision-groups-ref` to update on every contact event. (`56383a3 `_) .. topic:: Fixes * Fixed an issue where the :code:`AGXUnity.Rendering.TerrainPatchRenderer` would not set the initial Unity terrain layer properly. (`8daecfa `_) * Fixed an issue where :ref:`Terrain material patches ` would fail to initialize when assigned a null shape material. (`fcbf16b `_) * Removed old assets and made :ref:`cable-ref` and :ref:`wire-ref` rendering more consistent. (`e3b0c58 `_) * Implemented a more general fix for preventing reverts of edited properties on prefab components. (`2b0b216 `_) * Homogenized the content in the hierarchy context menu and the AGXUnity top menu. (`336a220 `_) * Updated default values for the :ref:`movable-terrain-ref` max depth and depth inversion properties. (`336a220 `_) * Fixed multi-edit for :ref:`contact-material-ref` "fix" buttons. (`466c701 `_) * Fixed an issue causing transparent agx render materials to not be imported properly when importing a .agx file. (`1324779 `_) * Fixed undo support for the Render Material field on shape components. (`7984686 `_) * Added tooltips to all AGXUnity asset types. (`e4190e2 `_) * Fixed an issue causing intialization error when applying :ref:`merge-split-properties-ref` to a constraint attached to the world frame (:code:`null`) (`e4190e2 `_) * All components are now documented and linked to from the Unity editor. (`a606e23 `_) * Added handling of :ref:`contact-material-ref` in nested prefabs. (`786396b `_) * Fixed an issue with the package update window for editor version 2021.2. (`4a5ff8c `_) * Optimized the initialization procedure of the :ref:`deformable-terrain-ref` when using larger resolution heightmaps. (`ba03ae3 `_) .. topic:: Examples * Added :ref:`cable-damage-ref` rendering to the :ref:`example-twisted-cables-ref`. * Added a :ref:`sample-asset-package-ref` which contains a set of assets which can be used as a starting point when getting started with AGXUnity. * Fixed orientation of :ref:`contact-material-ref` in the :ref:`example-E85-excavator-ref` example. .. topic:: AGX Dynamics * Version 2.37.3.0 (`AGX Dynamics Changelog`_) .. topic:: Known Issues * We are aware of an issue causing the "Check for Updates..." window to fail when installing new AGXUnity versions in the 2021.2 editor versions. A fix for this has been added in this version however to circumvent this issue in previous versions it is recommended that any scenes containing AGXUnity components are closed prior to installing the update. .. _4.7.0-ref: **4.7.0** (2023-12-21) ---------------------- .. topic:: Features * Added an extension to ScriptComponent to make GetInitialized more concise. (`e5a90b0 `_) * Added better HDRP and URP support for :ref:`cable-rendering-ref` and merged component with fallback. (`07d97ef `_) * Added a :ref:`movable-terrain-ref` which allows for deformable terrains that are not linked to an underlying Unity terrain, enabling them to be moved and rotated. (`7974f06 `_) .. topic:: Fixes * Fixed an issue where :ref:`constraint-ref` attachment pairs would sometimes reset after changes. (`f1c1803 `_) * Updated :ref:`deformable-terrain-ref` initialization to perform better for large resolution terrains. (`da19121 `_) * Fixed an issue that caused :ref:`deformable-terrain-ref` with large resolution to incur a performance loss even when there was no interaction with the terrain. * Added a log callback method to catch AGX Exceptions. (`7ca5f73 `_) * Created :code:`AGXUnity.Utils.RenderingUtils` and moved pipeline detection there. Also added early-out for per-camera rendering to avoid things like terrain particles being rendered in all prefab stages. (`5972e5c `_) .. topic:: Examples * Added :ref:`example-bed-truck-ref` example. .. topic:: AGX Dynamics * Version 2.37.1.0 (`AGX Dynamics Changelog`_) .. _4.6.0-ref: **4.6.0** (2023-11-22) ---------------------- .. note:: As of 4.6.0, Unity 2021.2.19f1 is the oldest editor version which is officially supported. .. warning:: The new :ref:`cable-ref` renderer does not yet support URP or HDRP. If you are using the :code:`Cable Renderer` component in a URP or HDRP project, please swap to the :code:`Fallback Cable Renderer` instead. For more info see :ref:`cable-rendering-ref`. .. topic:: Features * Added :ref:`plotting-ref` via Visual Scripting which can be used to generate webplots or write simulation data to .csv files. (`f91d82b `_) * Added wire damping properties to :ref:`shape-material-ref`. (`f68c249 `_) * Updated the default rendering for the :ref:`cable-ref` component to use instancing. (`3437f84 `_) * Added support for :ref:`using different terrain materials ` when creating a :ref:`deformable-terrain-ref` and added events to the terrain for picking up on terrain modifications when running the simulation. (`ca5ad8f `_) .. topic:: Fixes * Fix :ref:`shape-given-visual-tool-ref` creating empty :ref:`shape-mesh-ref` objects when source mesh is read/write disabled. (`79fb95b `_) * Added a workaround for Unity not handling setting hideFlags in custom inspectors. (`22f570e `_) * Remove restriction that :ref:`deformable-terrain-pager-ref` resolution has to be odd. (`a648721 `_) * Using :ref:`constraint-ref` with ball joint type no longer causes exceptions due to unrecognized ConeLimit constraint. (`d1aa497 `_) * Fixed an issue causing the DebugRenderManager to not render bodies or contacts. (`5c5b8a9 `_) * Added fix for prefab instances sometimes resetting component properties on play. (`13e8d70 `_) * Fixed an issue where applying :ref:`merge-split-properties-ref` to a body with a :ref:`tire-ref` component caused contacts to be ignored. (`a07856b `_) * Fixed :ref:`constraint-ref` controllers not handling multiple controllers of same type properly. (`893d38c `_) * Fixed an issue that would cause the application to freeze if a :ref:`script-contact-callbacks-ref` threw an exception. (`a2f962d `_) * Custom :ref:`script-contact-callbacks-ref` registered with :code:`agxSDK.ContactEventListener.ActivationMask.IMPACT` now properly gets called even if no other activation mask is specified. (`04734fa `_) .. topic:: Examples * Added :ref:`example-E85-excavator-ref` example. * Added :ref:`example-ocean-simulation-ref` example. * Added :ref:`example-car-drivetrain` example. * Added :ref:`example-polybag-demo-ref`. .. topic:: AGX Dynamics * Version 2.37.0.1 (`AGX Dynamics Changelog`_) .. _4.5.0-ref: **4.5.0** (2023-09-01) ---------------------- .. topic:: Features * Added "Merge Nearby Vertices" option to :ref:`collision-mesh-options-ref`. (`be5c52a `_) * Added height getters and setters to the :ref:`deformable-terrain-ref` API which mimic the Unity terrain API. (`47a5170 `_) * Added option to pass native AGX logs to the unity console. See :ref:`simulation-logging-ref` for more information. (`423b218 `_) * Add BottomContactThreshold option in :ref:`deformable-terrain-shovel-settings-ref`. (`ad95b31 `_) .. topic:: Fixes * :ref:`cable-ref` resolution below minimum is set to minimum during initialization. (`aae2961 `_) * :ref:`deformable-terrain-particle-renderer-ref` and :ref:`rigid-body-emitter-ref` now properly renders when using :code:`Draw Mesh Instanced` render mode in Scriptable Render Pipelines. (`b7226b1 `_) * Added recalculation of intertia tensor on off-diagonal change in :ref:`rigid-body-mass-properties-ref`. (`822a188 `_) * Fixed flip direction button not working in the Line tool for lines representing directions. (`9ef62d0 `_) * Geometry data is now properly set in the OnSeparation callback data, :ref:`script-separation-data-ref`. (`36bf044 `_) .. _4.4.0-ref: **4.4.0** (2023-06-02) ---------------------- .. topic:: Features * Added editor icons for most script components and assets and updated UI-icons. (`2c73cf0 `_) * Added method to synchronize shape cache in :ref:`rigid-body-ref` when adding :ref:`shapes-ref` manually. (`3d70c0b `_) * Added toggle for excluding :ref:`shapes-ref` from :ref:`rigid-body-mass-properties-ref` calculation. (`5028775 `_) .. topic:: Fixes * Fixed an issue causing crashes when starting a simulation with a disabled :ref:`deformable-terrain-shovel-ref`. (`3daf9ec `_) * Component help links now properly link to the relevant documentation page. (`1f8492b `_) * Fixed an issue where contact callbacks for a :ref:`deformable-terrain-ref` would not be called after calling the :code:`ResetHeights` method on the terrain. (`35b63e2 `_) * Added information about copying license file to :ref:`license-manager-ref` window. (`59d24f1 `_) * Updated :ref:`two-body-tire-properties-ref` default values to be more generally applicable. (`d3d4875 `_) * Fixed invalid scaling when creating oriented collision shapes from visuals using the :ref:`shape-given-visual-tool-ref`. (`0dca3b7 `_) .. topic:: AGX Dynamics * Version 2.36.1.0 (`AGX Dynamics Changelog`_) .. _4.3.0-ref: **4.3.0** (2023-05-04) ---------------------- .. topic:: Features * Added quick-fix buttons to change to AGXUnity recommended project settings in the AGXUnity project settings tab. (`f624a6a `_) * Added :ref:`soil-failure-volume-ref` component which triggers failures in the deformable terrain upon contact. (`34fc3bd `_) * Added instanced rendering mode to :ref:`rigid-body-emitter-ref` component. (`7f1c377 `_) .. topic:: Fixes * Updated default values in :ref:`contact-material-ref`. (`8f071ef `_) * Fixed issue causing multiple imports of a :ref:`constraint-ref` to leave unused Controller components on the constraint GameObject. (`699aea7 `_) * Fixed imported constraint's attachment pairs always being synchronized causing inconsistent behavior. (`1927c5a `_) * Fixed an issue causing the editor to sometimes freeze when editing cables. (`816fd38 `_) * Added time reported under "Last Update" is now included in total time under the simulation statistics. (`5133008 `_) * Terrain soil granules are now rendered even when the application is paused. (`038d0a9 `_) * Iterating over AGX Native vectors using enumerators now causes less overhead and garbage. .. topic:: Examples * Updated the shovel models in the examples to better interact with the terrain. .. topic:: AGX Dynamics * Version 2.36.0.0 (`AGX Dynamics Changelog`_) * The native combustion engine component has been updated with breaking changes. The old component is available under :code:`agxDriveTrain.deprecatedCombustionEngine`. Code using the combustion engine before 4.3.0 (such as the Wheel Loader examples) can use the deprecated version as a replacement. .. _4.2.0-ref: **4.2.0** (2023-04-11) ---------------------- .. topic:: Features * Added buttons to the :ref:`contact-material-ref` inspector to add :ref:`contact-material-manager-ref` to scene and to add the material to manager. (`a29d077 `_) * Moved AGX Editor settings to a custom Project Settings tab. These can be accessed by going to `Edit -> Project Settings... -> AGX Settings` (`8172bf1 `_) * Added option to render accumulated cable damage and moved rendering options to :ref:`cable-damage-properties-ref`. (`71df90c `_) .. topic:: Fixes * Fixed import of embedded materials in .agx and .aagx files when using HDRP or URP. (`a2c1e1a `_) * Fixed an issue causing Unity crashes when more than 1023 soil granulars are spawned during a single timestep. (`50b3f7c `_) * Fixed a null reference error in the DeformableTerrainParticleRenderer when using custom stepping of the simulation. (`6a5c28a `_) .. topic:: Examples * Added an additional excavation example scene to the AGXUnity_Excavation example, showcasing how to make measurements on the DeformableTerrain. * Added AGX resources such as contact materials and terrain properties to the AGXUnity_WheelLoader example. * Moved Example Window into the standard AGXUnity package, no longer requiring a separate download. (`4a7bb76 `_) * Added :ref:`example-plot-ref`, :ref:`example-conveyor-belt-ref`, and :ref:`example-twisted-cables-ref` to the Example Window. .. topic:: AGX Dynamics * Version 2.35.0.3 (`AGX Dynamics Changelog`_) .. _4.1.0-ref: **4.1.0** (2023-01-30) ---------------------- .. topic:: Features * Added :ref:`shape-given-visual-tool-ref`, a utility tool to create collision primitives given visual meshes. (`212fc29 `_) * Added :ref:`cable-damage-ref` that calculates, aggregates and visualizes forces and stress in :ref:`cables `. (`146745a `_) * Added :code:`OnSeparation` to :ref:`script-contact-callbacks-ref`. (`c8d56f7 `_) * Added toggle to enable/disable deformations of :ref:`deformable-terrain-ref` in :ref:`deformable-terrain-properties-ref`. (`75e33cb `_) * Added possibility to assign particle material (:ref:`shape-material-ref`) to :ref:`deformable-terrain-ref`, enabling explicit :ref:`contact-material-ref` between objects and the particles created by a terrain. (`11cbe82 `_) .. topic:: Fixes * Eliminated overhead synchronizing deformable terrain particle transforms in :ref:`deformable-terrain-particle-renderer-ref`. (`4eae957 `_) .. topic:: AGX Dynamics * Version 2.35.0.2 (`AGX Dynamics Changelog`_) .. _4.0.2-ref: **4.0.2** (2022-12-22) ---------------------- .. topic:: AGX Dynamics * Version 2.35.0.0 (`AGX Dynamics Changelog`_) .. _4.0.1-ref: **4.0.1** (2022-11-25) ---------------------- .. topic:: Fixes * Fixed :ref:`rigid-body-emitter-ref` which didn't work in :ref:`4.0.0-ref`. (`f77553a `_) * Fixed issues when :ref:`agx-dynamics-import-ref` prefabs was dragged from the project view and dropped directly into the Scene View. (`e89f1f3 `_, `1198d4f `_) * Fixed :ref:`shape-resize-tool-ref` so that the shape doesn't move when its size reached minimum value during asymmetric resize. (`4d33c60 `_) .. topic:: AGX Dynamics * Version 2.34.0.3 (`AGX Dynamics Changelog`_) .. _4.0.0-ref: **4.0.0** (2022-11-16) ---------------------- .. topic:: Features * Support for **Ubuntu 18.04**, **Ubuntu 20.04**, **Ubuntu 22.04** and **CentOS 7**. (`ada93aa `_) * Added feature :ref:`deformable-terrain-pager-ref` which enables indefinite sized :ref:`deformable-terrain-ref` to be simulated by adaptively loading and unloading tiles (patches of :ref:`deformable-terrain-ref` instances) during runtime. (`920c546 `_) * Added support for :ref:`license_manager_offline_license_activation-ref` using CLI or :code:`AGXUnity.LicenseManager`. (`786aabd `_) * Added support for 32-bit vertex index format in :code:`AGXUnity.Utils.MeshSplitter` which automatically changes the index format if the vertex count exceeds 65535. This means :ref:`agx-dynamics-import-ref` of large meshes won't split unless the vertex count exceeds 4 billion. (`affb542 `_) * Added distinct warning in the Inspector of :ref:`collision-mesh-options-ref` when the selection includes a **prefab instance**. Collision mesh creations/modifications should be applied to the actual prefab in the **Prefab Stage** to avoid extensive Prefab Overrides. (`bd52e02 `_) * Gizmo rendering of observer frames. (`12cef4c `_) .. topic:: Fixes * Fixed issue where Inspector Editors broke (Unity 2022.1 and later) when the :code:`HideInInspector` attribute was set a class. Unity 2022.1 and later no long supports changing :code:`hideFlags` from within a custom editor. (`f8b4807 `_) * Improved support for changing enable/disable state (component enabled state or game object active state) during runtime of :ref:`shapes-ref` (all), :ref:`deformable-terrain-ref`, :ref:`cable-ref`, :ref:`wire-ref` and :ref:`rigid-body-ref`. (`7167e7f `_) * Fixed issue in re-import of :code:`.agx` files where new render materials should be created. (`affb542`_) * Fixed deprecated warnings in Unity 2022.x. (`a63ec4c `_, `5bef842 `_) * Added **Wire Friction Coefficients** to :ref:`contact-material-ref`. (`2ac22f3 `_) * Fixed key bindings so :code:`a` is left and :code:`d` is right in examples using :code:`AGXUnityInputControls`. (`4fb814b `_) .. topic:: Examples * Added example :ref:`example-twisted-cables-ref`, demonstrating the use of :ref:`Cables ` in a scenario where they will collide and interact due to twisting and bending. * Added example :ref:`example-plot-ref`, demonstrating a straight forward way of plotting from Unity via a network connection to a Python based plot server. * Added example :ref:`example-conveyor-belt-ref`, demonstrating how to use the surface velocity feature of :ref:`shapes-ref`. * Updated :ref:`example-excavator-ref`: - Introduced maximum acceleration for actuators. - "Speed Smoothing" removed. - Assigned terrain materials and properties. - Removed usage of Lock at zero speed to avoid large accelerations. .. topic:: AGX Dynamics * Version 2.34.0.3 (`AGX Dynamics Changelog`_) .. topic:: Known issues * The :ref:`rigid-body-emitter-ref` doesn't work in this version but is fixed in :ref:`4.0.1-ref`. .. _3.2.0-ref: **3.2.0** (2022-06-17) ---------------------- This new version is mainly an **AGX Dynamics** update, where **version 2.33.0.0** is used, containing many new features and fixes. Previous version of AGX Dynamics was 2.31.1.0. Notable feature update in AGX Dynamics 2.33.0.0 is the friction model improvements, where the :ref:`Iterative Projected Friction` model now recovers the friction cone with **Direct** as solve type. See the `AGX Dynamics Changelog`_ for more information about this update. .. topic:: Fixes * Fixed issue when an AGX Dynamics license is loaded manually from a script, before AGX Dynamics has been initialized. Before, the initialization of AGX Dynamics cleared the license, but this has now been fixed. (`22a6c0c `_) * Clarified error message on screen when AGX Dynamics is initialized but the license isn't valid. (`cba67c0 `_) * Throwing error from post process build when the .NET API compatibility level is set wrong in the player settings. (`c997b4e `_) .. topic:: AGX Dynamics * Version 2.33.0.0 (`AGX Dynamics Changelog`_) .. _3.1.4-ref: **3.1.4** (2022-03-04) ---------------------- .. topic:: Fixes * Fixed load (from resources) of default wire rendering material. (`e91d82e `_) * Fixed activation of :ref:`encrypted runtime licenses ` which may have been broken from version :ref:`3.1.3-ref`. (`fa90f82 `_) * Fixed so that the generated license of an encrypted runtime license activation, using license content string in a script, are properly saved to the default directory in a build/application. (`fa90f82`_) * Fixed so that it's possible to refresh an invalid license, for updated license information, in the :ref:`License Manager Window `. (`38968cb `_) .. topic:: AGX Dynamics * Version 2.31.1.0 (`AGX Dynamics Changelog`_) .. _3.1.3-ref: **3.1.3** (2022-02-15) ---------------------- .. topic:: Fixes * Fixed URDF importer loading Collada resources when the Unity URDF importer package is installed. The Unity URDF importer has a custom Collada :code:`AssetPostprocessor` which applies additional transforms to the Collada models in the project. This fix is reverting these additional transforms **on instances** used in our imported models. Both URDF importer plugins should work as expected when both are installed. (`c626af3 `_) * Improved missing license module information for otherwise **valid** licenses. (`e1de704 `_) * Improved license activation/loading from scripts in projects without license files. (`c6a60d2 `_) * Fixed :code:`AGXUnity.UniqueGameObject.Instance` to properly handle the case when the object has been deleted. (`346e802 `_) * Improved undo/redo performance by avoiding calculations of mass properties of rigid bodies if the selection includes many shapes. (`d60abb6 `_) * Improved undo/redo when :ref:`imported prefabs ` are dragged and dropped into scenes. (`d60abb6`_, `1f8be95 `_) .. topic:: AGX Dynamics * Version 2.31.1.0 (`AGX Dynamics Changelog`_) .. topic:: Known issues * :ref:`license-manager-encrypted-runtime-activation-ref` from file in builds may not work in this version. Fixed in :ref:`3.1.4-ref`. .. _3.1.2-ref: **3.1.2** (2022-01-31) ---------------------- .. topic:: Fixes * Improved wire rendering performance using :code:`UnityEngine.Graphics.DrawMeshInstanced` instead of spawning and synchronizing game object instances. (`7302a2f `_) * Loading first *valid* license file instead of first license found. (`ee612f1 `_) * Improved error messages and visualization of an invalid license. (`f92abae `_, `e3d0d4e `_) * Fixed URDF import of Collada collision meshes where the Collada resource contains children. (`6cc7026 `_) * Fixed license info to have license end date at the end of the day of the given end date. (`8b50be9 `_) * Renamed directory :code:`AGXUnity/Editor/AGXUnityEditor/Build` to :code:`BuildTools` so that the directory isn't a match in the default Unity :code:`.gitignore`. (`3b87390c `_) .. topic:: AGX Dynamics * Version 2.31.1.0 (`AGX Dynamics Changelog`_) .. _3.1.1-ref: **3.1.1** (2021-10-29) ---------------------- .. topic:: Fixes * Fixed performance degradation (in some scenes), introduced in :ref:`3.1.0-ref`, during scene unload. (`85c1e64 `_) * Fixed bug in :code:`AGXUnity.Collide.Plane` where any initial rotation of the plane was applied twice. (`257ada4 `_) * Exposing Poisson's ratio in the Inspector under the "Twist" direction of cable properties. (`2e72ee7 `_) * Fixed crash in builds when :code:`AGXUnity.PickHandler` manager was enabled. It's now safe for an :code:`AGXUnity.ScriptComponent` to call AGX Dynamics in :code:`OnAwake` and :code:`OnEnable`. (`676d3ea `_) * Fixed potential crash in :code:`AGXUnity.PickHandler` manager when line/ray collision detection resulted in contacts with zero contact points. (`2b89c28 `_) * Fixed bug where :code:`System.IO.DirectoryInfo.Exists` could return true even though the directory was deleted while updating to a new version. (`9942438 `_) .. topic:: AGX Dynamics * Version 2.31.0.1 (`AGX Dynamics Changelog`_) .. _3.1.0-ref: **3.1.0** (2021-10-18) ---------------------- .. topic:: Features * Added support for :ref:`script-contact-callbacks-ref` enabling contact data monitoring/manipulation when |AGXUnity| components, such as :ref:`shapes-ref`, :ref:`rigid-body-ref`, :ref:`wire-ref`, :ref:`cable-ref`, :ref:`track-ref` etc., interacts. It also features listening to :ref:`contact force data `. (`b6f1763 `_) * Added feature to save an URDF model's all generated instances (URDF elements, STL collision and render meshes, render materials) as assets in the project. This can be done by clicking :code:`AGXUnity -> Save -> URDF Model(s) assets...` in the game object context menu (in Hierarchy), button in the Inspector of the URDF model or by calling :code:`AGXUnityEditor.IO.URDF.Prefab.CreateAssets`. See :ref:`saving-an-urdf-as-prefab-ref`. (`827e142 `_) * Added feature to save an URDF model as prefab, with all generated instances. This can be done by clicking :code:`AGXUnity -> Save -> URDF Model(s) as prefab(s)...` in the game object context menu (in Hierarchy), button in the Inspector of the URDF model or by calling :code:`AGXUnityEditor.IO.URDF.Prefab.Create`. See :ref:`saving-an-urdf-as-prefab-ref`. (`827e142`_) * Added option to import selected URDF file(s) as prefab(s), :code:`AGXUnity -> Import -> Selected URDF [prefab]...`. (`3ae33a9 `_) .. topic:: Fixes * Fixed so that the mass properties of a rigid body is updated when one or more of its shapes may have changed size after undo/redo. (`74e81a8 `_) * Fixed so that the :ref:`shape-resize-tool-ref` is active when its tool button is active. I.e., it's no longer required to hold left ctrl to activate the resize handles. Hold left shift for symmetric resizing. (`195a149 `_) * Fixed synchronization of mass properties when a shape is resized with the :ref:`shape-resize-tool-ref`. (`195a149`_) * Fixed bug where the shapes of a rigid body wasn't accessible. (`6a81140 `_) * Improved drag-drop of :code:`AGXUnity.ShapeMaterial` into Scene View and Hierarchy. (`476bc3e `_) * Fixed bug where URDF resource filenames containing ".." wasn't found by Unity. (`d0a0833 `_) * Fixed bug in :code:`AGXUnity.Rendering.DeformableTerrainParticleRenderer` when there were more than 1024 active granulars. Added option to synchronize transforms either when the transforms has been updated in the simulation (default) or in :code:`Update` when/if the simulation has stepped. (`123f7bb `_) .. topic:: Documentation * Added section :ref:`scripting-ref` focusing on functionality and features related to scripts, e.g., :ref:`script-simulation-callbacks-ref`. .. topic:: AGX Dynamics * Version 2.31.0.0 (`AGX Dynamics Changelog`_) .. _3.0.1-ref: **3.0.1** (2021-08-24) ---------------------- .. topic:: Fixes * Using Toggle instead of Button with inverted button styles, which hasn't worked since Unity 2019.2. (`f876e02 `_) * Fixed bug where the collision state of constraints and collision groups propagated too far in articulated systems. (`0a0d02e `_) * Avoiding unnecessary calls to :code:`UnityEditor.SceneView.RepaintAll` resolving high CPU usage of the Editor. (`dfd63da `_) .. _3.0.0-ref: **3.0.0** (2021-07-01) ---------------------- This major **3** release **doesn't affect backward compatibility**. The major is bumped due to the introduction of :ref:`license-manager-ref`, supporting new license types that enables more control and license management to you as a user. As of the release of :ref:`3.0.0-ref`, the frontend license portal hasn't been fully deployed, but we're continuously adding features and our sales team can issue new licenses without the overhead of you sending us information about the target hardware id. .. attention:: If you're updating from a version :ref:`2.4.2-ref` or earlier, please read the remarks under :ref:`2.4.3-ref` before updating. .. topic:: Features * Added :ref:`license-manager-ref` and License Manager Window where AGX Dynamics licenses are activated, handled and managed. * Added options to have collision meshes different from the source :code:`UnityEngine.Mesh`. Collision meshes can be a trimesh, a convex or many convexes as a result of convex decomposition. As an additional post-processing step on any collision mesh type, vertex reduction can be applied. The generation of the collision meshes takes arbitrary time to perform, depending on options, number of vertices and operation performed. It's therefore only support for pre-computed collision meshes when the :code:`AGXUnity.Collide.Mesh` is initialized. I.e., during initialization, the parameters in :code:`AGXUnity.Collide.CollisionMeshOptions` is ignored and :code:`PrecomputedCollisionMeshes` of the mesh is used if non-empty. If :code:`PrecomputedCollisionMeshes` is empty, the previous approach of using the source :code:`UnityEngine.Mesh` as a trimesh is used. See :ref:`shape-mesh-ref` and :ref:`collision-mesh-options-ref` for more information. (`f89f8e1 `_) .. topic:: Fixes * Moving game objects, created from an AGXUnity menu, to the current stage (e.g., prefab stage while editing a prefab). (`c4c15bd `_) * Preventing :code:`AGXUnity.UniqueGameObject` from being instantiated while editing a prefab. (`c4c15bd`_) * Improved :code:`AGXUnity.Rendering.CableRenderer` to render from the previous segment end position to the current segment end position, resolving gaps previously visible when the cable was stretched. (`6a966c7 `_) * Using Gizmos rendering of wires and cables while editing a prefab. (`6a966c7`_) * Using Gizmos rendering of tracks while editing a prefab. (`96aaa07 `_) * Fixed rendering from tools while editing a prefab. (`b89a255 `_) * Exposed :code:`AGXUnity.Wire` and :code:`AGXUnity.Cable` components under the :code:`Add Component` menu in the Inspector. (`2c9f0ba `_) * Propagating a newly assigned material to created instances of wire and cable renderers. (`d62ef1c `_) * :code:`AGXUnity.Constraint` game objects are by default added as child to the context when using the :ref:`create-constraint-tool-ref`. It's possible to recover the previous behavior by un-checking the "Create as child" checkbox in the Inspector. (`bbe31ba `_) * Fixed usage of :code:`EditorGUI.MultiFloatField`, with or without label, to work in wide and narrow mode of the Inspector. (`a1b090a `_) .. topic:: AGX Dynamics * Version 2.30.4.0 (`AGX Dynamics Changelog`_) .. _2.4.3-ref: **2.4.3** (2021-06-17) ---------------------- .. attention:: This update is very important because it secures future updates of |AGXUnityBold| in **Unity versions 2019.4 and newer**. Download and manually import |AGXUnityUpdateHandlerPatch| containing the complete changeset between :ref:`2.4.2-ref` and this :ref:`2.4.3-ref`. **The** |AGXUnityUpdateHandlerPatch| **package can be imported into any version of** |AGXUnityBold| and updates to :ref:`2.4.3-ref` and later should work. See :ref:`update-handler-manual-patch-v1-ref` for a step by step guide. .. topic:: Fixes * Read the **Attention** above and manually import: |AGXUnityUpdateHandlerPatch|, if you're using Unity 2019.4 and newer *BEFORE* updating to avoid errors during the update. See :ref:`update-handler-manual-patch-v1-ref` for a step by step guide. * Added separate editor assembly :code:`AGXUnityUpdateHandler`, post-processing imports of official |AGXUnityBold| release packages when errors may occur depending on version of Unity. The :code:`AGXUnityUpdateHandler` resolves errors during updates to new versions of |AGXUnityBold| as well as the known issue of the `missing toolbar after initial import `_. (`4ab816a `_) * Blocking deletes of any content under :code:`AGXUnity/AGXUnityUpdateHandler` during imports of other versions. (`4ab816a`_) .. _2.4.2-ref: **2.4.2** (2021-06-03) ---------------------- .. topic:: Fixes * Default damping in constraints (including controllers) is changed from 0.0333 (AGX Dynamics) to 0.04. The new default damping is more suitable for 50 Hz simulations (Unity default) versus 0.0333 for 60 Hz (AGX Dynamics default). (`cae213b `_) * Fixed bug in the URDF reader transforming the inertia to the rigid body frame. (`84af16e `_) * Creating an :ref:`rigid-body-ref` for all declared links in an URDF model. Empty links will get a dynamic rigid body with default mass and inertia (1 kg and diagonal inertia [1, 1, 1]). (`84af16e`_) * Fixed URDF joint dynamics friction. (`75469ac `_) * Propagating lossy scale of the visuals used by the rigid body emitter. (`c23df33 `_) * Fixed re-import of an :code:`.agx` file where the :ref:`shape-material-ref` has been changed on the platform exporting the simulation. Previously the importer prioritized already assigned materials so it didn't support changes. Now it does work in most cases but it's important that the material names in the :code:`.agx` file is more or less unique. (`1e59d60 `_) * Fixed exception during re-import of an :code:`.agx` file where there are unreferenced shape materials in a contact material. (`ccd09c7 `_) .. topic:: AGX Dynamics * Version 2.30.3.0 (`AGX Dynamics Changelog`_) .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. .. _2.4.1-ref: **2.4.1** (2021-05-20) ---------------------- .. topic:: Fixes * Fixed URDF import bug where some visual and collision elements ended up with the wrong transform. (`21629f8 `_) * Removed assumption that Collada resources in an URDF model has up axis z. Up axis y and z tested. (`35b4178 `_) * Fixed bug where Collada collision meshes didn't scale with the unit specified in the Collada model. (`35b4178`_) .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. .. _2.4.0-ref: **2.4.0** (2021-05-12) ---------------------- .. topic:: Features * Added :ref:`rigid-body-emitter-ref` which emits clones of prefab template rigid bodies at a given distribution within a sensor shape. (`7ba69d5 `_) * Added :ref:`rigid-body-emitter-sink-ref` which destroys everything or a subset of what has been created by the :ref:`rigid-body-emitter-ref`. (`72257c2 `_) * Added support to change constraint type of already created (not initialized) constraints. (`e90d16f `_) * New default render method for the granular bodies in an :code:`AGUnity.Model.DeformableTerrain` using :code:`UnityEngine.Graphics.DrawMeshInstanced` instead of spawning and synchronizing game object instances. (`f8bafa5 `_) * Initial :code:`Source` of an :code:`AGXUnity.Collide.Mesh` is set given :code:`UnityEngine.MeshFilter` on the Game Object. (`633eaf4 `_) * Creating visuals by default on new primitive instances created from the main or context menus. (`0f11b91 `_) .. topic:: Fixes * Fixed bug where a constraint that had been restored to default (component Reset), resulted in an invalid state of the constraint. (`e90d16f`_) * Fixed bug where shape visuals didn't update its size after shapes had been restored to default. (`5176cf4 `_) * Fixed issue where the terrain data (of an :code:`AGXUnity.Model.DeformableTerrain`) could become corrupted if the editor was closed while in play mode. (`31566e1 `_) * Fixed :code:`AGXUnity.Model.TrackWheel` to support any frame with a rigid body in its parent hierarchy. This fix enables multiple track wheels per rigid body. (`d9e5713 `_) * Removed false warning regarding collision groups not being applied. (`92cd9b7 `_) * Fixed import of :code:`.agx` files when the render material of a shape is null - using the default render material instead and issue a console warning. (`1ddee99 `_) * New default value of :code:`SoilMergeSpeedThreshold` in :code:`AGXUnity.Model.DeformableTerrainProperties`. Changed from :code:`0.05` m/s to :code:`4.0` m/s, adopting to the new terrain feature in AGX Dynamics with gradual merge of soil bodies into the terrain. (`5d0d9a0 `_) * Added :code:`SoilParticleMergeRate` to :code:`AGXUnity.Model.DeformableTerrainProperties` controlling the fraction of the granulars being gradually merged with the terrain per second. (`5d0d9a0`_) * Fixed transforms of Collada resources in the URDF loader, reverting the transform applied by Unity (default) when a Collada model is imported into a project. Opt-out this feature by performing :code:`AGXUnity.IO.URDF.Options.TransformCollada = false` before reading/instantiating a model. (`0251f65 `_) * Made URDF mesh scale optional without default value. Only assigning :code:`transform.localScale` when attribute "scale" is given in the URDF document. (`0251f65`_) * Fixed so that it's possible to set :code:`Source` of an :code:`AGXUnity.Collide.Mesh` to :code:`null` from the Inspector. (`d2dcb88 `_) * Fixed load/unload of scenes where managers (:code:`AGXUnity.UniqueGameObject`) has been instantiated but aren't part of the scene. It's no longer required to add all required managers to a scene that's dynamically loaded/unloaded. (`d9634a3 `_) * Fixed multi-float fields to not overlap the next property when the Inspector is in narrow mode. (`446e3e1 `_) * Clearing Wire and Cable routes in Reset. (`597b78b `_) .. topic:: Examples Due to changes to the torque converter and combustion engine models in AGX Dynamics 2.30.0.0, it's recommended to remove examples installed prior to this release and import the current example packages. .. topic:: AGX Dynamics * Version 2.30.2.0 (`AGX Dynamics Changelog`_) .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. * Some instantiated URDF models may receive wrong visuals and collisions transforms. .. _2.3.1-ref: **2.3.1** (2021-02-03) ---------------------- .. topic:: Fixes * Fixed build with Unity versions 2019.3.1 to 2019.3.8 where there were inconsistencies where native libraries ended up. AGX Dynamics is now placed in :code:`_Data/Plugins/x86_64` for Unity 2019.3 and later, otherwise :code:`_Data/Plugins`. (`e64245b `_) * Fixed import where children of a destroyed parent were referenced during cleanup. (`fea9626 `_) * Issuing warning when heights of a terrain is clamped due to :code:`AGXUnity.Model.DeformableTerrain.MaximumDepth` in the initialization. The terrain transform is moved :code:`-MaximumDepth` (down) and :code:`+MaximumDepth` is added to all heights in order to be able to dig down into the terrain. :code:`UnityEngine.TerrainData` doesn't support heights < 0. (`853ea04 `_) * Fixed so that the transforms of included prefabs aligns with the origin. (`06376c4 `_) .. topic:: AGX Dynamics * Version 2.29.4.4 .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. .. _2.3.0-ref: **2.3.0** (2020-12-17) ---------------------- .. topic:: Features * Added support for :ref:`urdf-import-ref` (`Unified Robot Description Format `_) into an :code:`AGXUnity.IO.URDF.Model` (`robot `_). (`f363a1f `_) - All elements and attributes are parsed for `link `_. - All elements and attributes are parsed for `joint `_. * Added support for :ref:`instantiating-an-urdf-model-ref` into a scene with AGX Dynamics for Unity rigid bodies and constraints. (`f363a1f`_) - Supported 3D model formats are the ones supported by Unity (:code:`.fbx`, :code:`.dae`, :code:`.3ds`, :code:`.dxf`, :code:`.obj`, :code:`.skp`) and AGX Dynamics for Unity has a STL (:code:`.stl`) importer used in the default pipeline. - All read URDF data is accessible (immutable) in the Inspector of the model. * Added support for :ref:`stl-import-ref` (:code:`.stl`) - binary or ASCII. (`f363a1f`_) - STL triangle normals are converted to Unity vertex normals given a smooth surface angle threshold. * :code:`AGXUnity.GearConstraint` component added (used in *URDF joint mimic*), which describes how the controlled movements of a constraint relates to another constraint given a `gear ratio`. This feature is currently experimental and is verified to work with :code:`Hinge` and :code:`Prismatic` in any combination for begin/end actuators. (`f363a1f`_) * Custom Inspector GUI for :code:`Vector2`, :code:`Vector3` and :code:`Vector4` with support for arbitrary sub-labels, e.g., :code:`RPY` instead of :code:`XYZ`. (`f363a1f`_) .. topic:: Fixes * Fixed so that a modified :code:`UnityEngine.Time.fixedDeltaTime` is properly propagated to the simulation when :code:`AutoSteppingMode` is :code:`FixedUpdate`. (`bee1018 `_) * Changed default value of :code:`AGXUnity.Simulation.FixedUpdateRealTimeFactor` to 0.0 (disabled), so that the simulation time by default matches :code:`UnityEngine.Time.fixedTime`. (`5adc807 `_) * Exposed number of Parallel Projected Gauss Seidel (PPGS) resting iterations in :code:`AGXUnity.SolverSettings`, enabling balancing computational performance vs. accuracy of the granulars in :code:`AGXUnity.Model.DeformableTerrain`. The default value is 25 iterations but can, in many cases be reduced to, e.g., 10. (`2edd7b0 `_) * Fixed Asset context menu with separators and added `Import` with supported file imports. (`f363a1f`_) * Renamed asset context menu :code:`Import AGX file as prefab` to :code:`Import AGX Dynamics file [prefab]` and this context is also available under :code:`AGXUnity -> Import -> AGX Dynamics file [prefab]`. (`f363a1f`_) * Fixed bug, introduced with :code:`ArticulatedRoot`, where non-instantiated :code:`RigidBody` prefabs didn't find any shapes since :code:`shape.GetComponentInParent()` always returns null (not the case for instances). This behavior has only been reproduced when a rigid body is selected (or traversed) in the Project tab. (`f363a1f`_) * Improved synchronization of properties/settings values to native instances of :code:`AGXUnity.Model.DeformableTerrain`, :code:`AGXUnity.Model.DeformableTerrainShovel`, :code:`AGXUnity.Model.Track` and :code:`AGXUnity.Model.TwoBodyTire`. (`f363a1f`_) .. topic:: Examples * Added :ref:`example-robot-pose-controller-ref`. Agent trained to control an industrial robots torque driven actuators so that its end effector reaches a given target pose. .. topic:: Known issues * **Unity 2019.3, 2019.3.8 and earlier**: Building standalone applications (from within the Editor) could result in AGX Dynamics binaries to end up in the wrong folder. `The issue has been fixed in Unity 2019.3.9 `_. :ref:`2.3.1-ref` handles this by moving the AGX Dynamics binaries to the correct folder for the affected Unity versions. .. _2.2.1-ref: **2.2.1** (2020-10-09) ---------------------- .. topic:: Fixes * Added support for Unicode characters in collision group names. (`18f9db4 `_) * Improved re-import of models to support change of shape type with preserved UUID. (`b734616 `_) * Fix so that Hierarchy context menu :code:`Create Shape Visual in children` always validates to true for Unity versions 2019.4 and newer. This selection was always inactive in earlier versions of |AGXUnity| (inside Unity 2019.4 and newer). (`cd2a38d `_) * Improved raycasts (used by Tools) of shapes and meshes with scales in their hierarchy. (`55085fa `_) .. topic:: Examples * :ref:`example-articulated-robot-ref` has been fixed and now works properly in Unity 2019.4 and newer. .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. .. _2.2.0-ref: **2.2.0** (2020-09-23) ---------------------- .. topic:: Features * Added support for articulated bodies, :ref:`articulated-root-ref`, making it easier to model articulated systems such as cranes and robots. (`d38df53 `_) * Added property **Center of mass offset** to *Mass Properties* of a rigid body, enabling manual changes to the center of mass of a rigid body, e.g., when the center of mass is know and the default isn't correctly represented by the transforms and densities of the shapes. (`bf818b0 `_) * Improved support for asset types :code:`UnityEngine.Material`, :code:`AGXUnity.ShapeMaterial`, :code:`AGXUnity.FrictionModel` and :code:`AGXUnity.CableProperties`. (`dbb05e5 `_) - :code:`UnityEngine.Material` are batched together, reflecting native :code:`agxCollide.RenderMaterial` instances, reducing the number of :code:`UnityEngine.Material` assets created during import. - When an already existing prefab has been modified, referencing assets outside of the import data directory, the references are preserved, enabling additional (physics or visual) modelling in the editor when a model is re-imported with other updates. .. topic:: Fixes * Possible to add :code:`AGXUnity.ScriptAssetManager` to a scene (from the main menu) which previously was the missing manager to successfully run AGX Dynamics for Unity without domain reloading. (`fe13b8e `_) * Improved find point and edge tools to raycast all objects part of a rigid body when a rigid body was selected as parent/reference object. (`a12e41d `_) .. topic:: Examples * Added :ref:`example-wheel-loader-way-point-controller-ref`. A wheel loader trained to follow a way point path on a :ref:`deformable-terrain-ref`. * Added :ref:`example-articulated-robot-ref`. .. topic:: AGX Dynamics * Version 2.29.1.0 or later due to minor API changes. .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. .. _2.1.0-ref: **2.1.0** (2020-06-26) ---------------------- .. topic:: Features * New version of the AGX File Importer. (`a51a606 `_) - Keeping track of created assets and removes any unused assets in the import data directory. - Reusing collision meshes for rendering if they are interpreted to be identical - reducing file sizes in the import data directory. - Support for recreating missing assets. - Added :code:`AGXUnity.IO.RestoredAssetsRoot` which serves as main object for grouped assets and lists all children in the Inspector when selected in the project view. - Support for updating previous imports without destroying references. * Removed :code:`AGXUnity.Model.DeformableTerrainMaterial.PresetLibrary` enum and added :code:`AGXUnity/Plugins/x86_64/agx/data/TerrainMaterials` containing json files defining the :ref:`deformable-terrain-material-ref`. Previous versions of :code:`Deformable Terrain Material` assets are automatically updated to the new version, without changing any values. Read :ref:`deformable-terrain-material-library-ref` for further information about the material library. (`d361355 `_) * Added functionality to toggle AGX Dynamics log file via :code:`AGXUnity -> Settings -> AGX Dynamics log`. Disabled by default. (`cf64712 `_) * Added support for :code:`ObserverFrame` in oriented friction models. (`97e9ac7 `_) * Added link to changelog when a new version of |AGXUnity| is available. (`6b06bf8 `_) .. topic:: Fixes * Fixed bug where data wasn't propagated correctly, resulting in disabled collisions to be missed against :ref:`deformable-terrain-ref`. (`a7506ba `_) * API changes for AGX Dynamics 2.29.0.0. (`1478931 `_, `897aab8 `_, `3a408c0 `_) .. topic:: Examples * :ref:`example-excavator-ref` added - an excavator with tracks operating on a :ref:`deformable-terrain-ref`. .. topic:: AGX Dynamics * Version 2.29.0.0 .. topic:: Known issues * **Unity 2019.4 and newer**: Installing or updating |AGXUnity| may result in an assert in the Unity Editor and the Toolbar to be blank. To recover the Toolbar, it's often enough to either restart Unity or trigger a compilation by editing a script. Unity has been contacted and we'll hopefully resolve this issue as soon as possible. .. _2.0.1-ref: **2.0.1** (2020-04-29) ---------------------- .. topic:: Fixes * Fixed bug in VersionInfo comparing versions. .. topic:: AGX Dynamics * Version 2.28.1.0 .. _2.0.0-ref: **2.0.0** (2020-04-22) ---------------------- .. topic:: Features * :ref:`example-grasping-robot-ref` input action map added. * AGX Dynamics license information in the About AGX Dynamics for Unity window. * Added the possibility to update |AGXUnity| manually given local package on disc. .. topic:: Fixes * Fixed the line tool to properly invert :ref:`deformable-terrain-shovel-ref` edges and direction. * Increased :code:`Terrain Height` for :ref:`deformable-terrain-ref` created from the main menu. * :ref:`deformable-terrain-ref` Inspector cleanup. * Fixed previous limitation where game objects weren't deleted when re-importing :code:`.agx` files. * :ref:`simulation-ref` Inspector cleanup. * Fixed Inspector GUI to display errors in a :ref:`wire-ref` route. * Fixed Inspector GUI to properly handle :code:`UnityEngine.InputSystem.InputActionAsset` and :code:`UnityEngine.InputSystem.InputActionMap`. * Transform synchronization ignored for disabled rigid bodies. * Updated AGX Dynamics for Unity logo. .. topic:: AGX Dynamics * Version 2.28.1.0