{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf810 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \paperw11900\paperh16840\margl1440\margr1440\vieww21540\viewh10060\viewkind0 \deftab720 \pard\pardeftab720\partightenfactor0 \f0\fs26 \cf0 \expnd0\expndtw0\kerning0 # Change Log\ All notable changes to \'93Obi - Advanced ropes for Unity\'94 will be documented in this file.\ \ ## [3.2]\ ### Added\ - Support for CapsuleCollider2D.\ \ ### Changed\ - Rope is still rendered (though not simulated) when the ObiRope component is disabled.\ - Colliders/rigidbodies are no longer copied over to the C++ library each frame. Instead, only colliders that have their transform or any collision-related property altered are copied to the solver. This greatly improves performance when many colliders are present, and greatly reduces memory allocation and GC activity.\ - AllocateParticles() and FreeParticles() have been merged with AddActor() and RemoveActor() respectively. A new per-particle array \'93particleToActor\'94 makes it faster and easier to know which actor a particle belongs to.\ \ ### Removed\ - ObiCollisionGroup has disappeared. It is no longer necessary to manually add colliders to a group, instead each ObiSolver automatically picks up all ObiColliders in a given layer.\ - MeshColliders are now always treated as two-sided thin concave meshes. Solid and one-sided modes have disappeared.\ \ ### Fixed\ - Android issue that prevented some devices from finding the Oni library.\ - Removed redundant menu items.\ \ ## [3.1.1]\ ### Added\ - New \'93Line\'94 rendering mode for ropes. This will render the rope as a camera-oriented quad strip, similar to what Unity\'92s LineRenderer does. This is useful for lightweight rendering and 2D games.\ - Particle renderer is now much faster and also allocates less memory.\ - New \'93hierarchical\'94 method to generate tether constraints: this method generates more constraints than the traditional \'93anchor to fixed\'94 approach, but works in the general case even if there are no fixed particles.\ \ ### Changed\ - Installation is no longer required. Obi now works right out of the box, so the installation window has been removed, and the \'93Editor default resources\'94 and \'93Gizmos\'94 folders removed.\ \ ## [3.1]\ ### Added\ - You can now choose where should the solver be updated: FixedUpdate, AfterFixedUpdate, or LateUpdate.\ - Rope rendering now supports variable thickness, based on particle radii. Enabled by default, disable \'93thickness from particles\'94 to get uniform thickness regardless of particle radii variations.\ - Edit-time preview of \'93smoothness\'94 rope parameter.\ - Utility method to calculate actual rope length.\ - Support for triggers. A trigger collider will generate contact constraints, but won\'b4t enforce them.\ - Contact structs returned by the OnCollision event now include the contact tangent and bitangent vectors.\ - Added per-particle layer properties, for finer collision control.\ \ ### Changed\ - Faster and more accurate rigidbody impulse application, which results in better collision resolution.\ - Greatly improved pin constraint stability for large mass ratios.\ - ObiColliderGroup\'92s Colliders and Colliders2D properties are now plain arrays: \'93colliders\'94 and \'93colliders2D\'94.\ - Memory allocation for rope mesh generation has been reduced by 90%.\ - ObiParticleRenderer memory allocation has been greatly reduced, and its performance improved.\ - Pin constraints are now always drawn in particle edit mode, not only when the particles are selected.\ \ ### Fixed\ - Got rid of warnings related to obsolete platform enums in sample scripts.\ - Potential bug in GCHandle deallocation affecting upcoming Unity versions (thanks to the guys at Unity for pointing me at this)\ - Tearable pin constraints now work correctly.\ \ ## [3.0.1]\ ### Added\ - Support for iOS simulator.\ - Faster collision contact generation.\ \ ### Fixed\ - Crash in Crane scene due to a bug in pin constraints.\ \ ## [3.0]\ \ #IMPORTANT: You\'92ll need to re-generate all your ropes as internal data layout of previous versions is not compatible with this update.\ ### Added \ - Welcome window with automatic installer.\ - Upgraded constraint projection to XPBD (extended position-based dynamics). This decouples stiffness and damping from the amount of iterations, resulting in more realistic simulation.\ - Solver constraint enforcement order can now be changed. This allows to change the relative importance of constraints.\ - The solver now uses a task-based threading system which allows to exploit parallelism between multiple solvers.\ - Custom multithreading profiler, that allows to fine-tune performance.\ - Optional local-space simulation, for better numerical accuracy in large-scale worlds and greater control.\ - ObiStitcher component allows to stitch together separate ropes.\ - Added pencil paint mode to particle editor.\ - Automatic self-collisions disabling for particles that intersect in rest pose. This allows to set larger particle radii \ to ensure better self-collisions, without worrying about constraint fighting.\ - Breakable pin constraints.\ - Ropes are now tearable, and custom prefabs can be instantiated at both sides of the tear.\ - Rope length can be changed at runtime, using the ObiRopeCursor component.\ - Procedural curve geometry smoothing.\ \ ### Changed\ - Actor particle limit is no longer 16384 but 65536, matching Unity\'92s own vertex limit.\ - Particle editor paint brush falloff has ben changed from linear to gaussian.\ - Distance constraints\'92 compression stiffness has been replaced by a slack percentage.\ - Performance improvement in mesh colliders and edge colliders.\ \ ### Fixed\ - Bug in collision detection against terrains.\ - Crash in 32-bit windows systems due to memory misalignment.\ - Bug that caused slow convergence and excessive jittering for particle-particle sequential contact resolution.\ - Bug in hierarchical grid update that caused a crash in some cases when a hash key collision happened.\ - Bug in continuous collision detection that caused particles to be pushed to the other side of very thin objects.\ - Bug in ray/bounding box intersection test caused by non-IEEE754 compliant SSE division by zero.\ - Bug that caused ObiParticleRenderer to ignore camera culling mask, and render in all cameras.\ - Bug that caused a crash under certain conditions in 32 bit systems.\ - Bug that caused particle property value field to reset to the value of the last particle when painting.\ - Fixed collision stabilization bug that caused particles to sink slightly when over a dynamic rigidbody.\ \ ## [1.2]\ \ ### Added\ - Android support.\ - Upgraded constraint projection to XPBD (extended position-based dynamics). This decouples stiffness and damping from the amount of iterations.\ - Solver constraint enforcement order can now be changed. This allows to change the relative importance of constraints.\ - Welcome window with automatic installer.\ - Resolution-preserving method to change rope length dynamically.\ - Added pencil paint mode to particle editor.\ - Optional local-space simulation, for better numerical accuracy in large-scale worlds and greater control.\ - Custom multithreading profiler, that allows to fine-tune performance.\ - Better particle visualization in editor.\ - Breakable pin constraints.\ \ ### Changed\ - Actor particle limit is no longer 16384 but 65536, matching Unity\'92s own vertex limit.\ - Particle editor paint brush falloff has ben changed from linear to gaussian.\ - Distance constraints\'92 compression stiffness has been replaced by a slack percentage.\ \ ### Fixed\ - Bug that caused an index out of bounds exception when initializing rope with zero resolution.\ - Bug that caused an error message regarding MeshFilter destruction when entering play mode with a rope selected in the hierarchy.\ - Bug that prevented the particle editor window from appearing on retina displays.\ - 1-frame delay between particle and rigid body physics, which affected pin and collision constraints.\ \ ## [1.1]\ \ ### Added\ - MeshColliders are now fully supported.\ - Support for 2D physics, Box2D, Circle2D and Edge2D colliders.\ - Chain rendering.\ - Sleep threshold that keeps particles fixed in place when their kinetic energy is low.\ - Chain constraints, that allow for 100% inextensible ropes.\ - Rope thickness, twist, cap sections and section shape can now be changed without the need to re-initialize the rope.\ - Required constraint components are automatically removed from the object when removing the rope component in editor.\ \ ### Fixed\ - Issue with box colliders, that caused incorrect contact generation in corners when using contactOffset.\ \ ## [1.0.0] - 2015-07-16\ - Initial release.\ }