Detailed information about Matali Physics Core
Overview of Matali Physics Core module
Matali Physics Core is an advanced, modern, multi-platform, high-performance 3d physics engine. Matali Physics Core is the "heart" of Matali Physics environment.
Advanced Rigid Body Simulation
Us - Uniform scalingPrimitive shapes TranslationRotationUsNUsSphere Hemisphere Cube Cuboid Cylinder Two radius cylinder (truncated cone) Cone Pyramid Capsule Two radius capsule Tetrahedron Convex hull Convex triangle mesh Non-convex triangle mesh Heightmap Fluid Triangle Point Segment Plain
NUs - Non-uniform scaling• Rigid body dynamics with effective automatic activity management, control for linear and angular velocity, linear and angular damping, and other parameters • Fully multithreaded simulation, stable and robust, highly optimized solver • Extensive mass properties, local and global gravity, forces • Force fields with ranges defined by any primitive shapes • A rich set of primitive shapes on which operations of Minkowski sum and construction of convex hull are available, creating further unique shapes • Operations on arbitrary sets of triangles through the triangle mesh controllers • Real-time deformable triangle meshes • Real-time deformable large-scale heightmaps • Animated large-scale fluid surfaces • Heightmaps with holes and with non-rectangular shaped terrain • Multiple heightmaps and fluid surfaces on a single physics scene • Built-in functions to transform non-convex triangle meshes into a set of convex objects (physics objects and/or shapes and/or primitive shapes) • Materials defining values of static and dynamic friction, restitution, determining appearance and destruction of physics objects • Real-time changeable value of friction and restitution for every heightmap point • Fully interpolated values of height, friction and restitution for heightmap • Groups of physics objects with advanced modeling of destruction process. Each rigid body group can be breakable and the group destruction process is fully modeled by physics scene developers • Kinematic objects controlled by animation system • Scalable buoyancy of physics objects
Advanced Collision Detection And Collision Filtering
• Continuous collision detection (CCD) between all primitive shapes and shapes derived therefrom • Contact reporting • Rigid body collisions allocation on different collision groups (maximum 64) • Trigger shapes
Unified Constraints
• One natural constraint • Distance limits for X, Y and Z axes • Angle limits for X, Y and Z axes (defined as Euler angles or quaternions) • Advanced control for distance and angle limits • Working in normal, spring or deformation mode • Parameters determining indestructibility of constraint
Built-In APIs: Ray Casting, Volume Query
• Ray-surface intersection tests for all primitive shapes • Volume queries specified as a transformed "fat" segment • Volume queries specified as a transformed box • Volume queries specified as a transformed sphere
Advanced Triangle Meshes Creation Functionalities
• Triangle meshes for predefined shapes (sphere, hemisphere, cube, cuboid, cylinder, two radius cylinder (truncated cone), cone, pyramid, capsule, two radius capsule, torus, tube, triangle, plain) • Triangle meshes for user shapes • Triangle meshes for procedural surfaces: Bezier and NURBS • Managers: regions, vertices and triangles • Adjustable numbers of stacks and slices • Meshes returned as arrays of indexed or non-indexed triangles
Advanced Management Of Multiple Physics Scenes And Physics Objects
• Fully dynamic physics scenes constructed as sets of physics objects and groups of physics objects • Managers: physics objects and physics scenes • Physics objects with constraints and groups of physics objects with constraints can be during initialization rotated, moved and scaled • Concurrent sequential processing of multiple physics scenes • Physics objects lifetime maintenance through the counters of frames • Full support for cameras (frustum, view matrix, projection matrix) • Support for instancing • Handling of transparent objects (including objects with variable transparency) • Determining when and how objects are drawn
Physics-Based Animations And Physical AI
• Total control of constraints (distances and angles) • Keyframes modeling based on constraints control • Support for force-feedback • All examples of physics-based animations provided with C++ source code • All examples of physical AI provided with C++ source code
Rigid Particles Simulation
• Generic particle system • Particle dynamics • Advanced particles management • Collision handling and filtering • Inter-particle interactions • Lifetime and other parameters maintenance
Vehicles Simulation
• Simulation of real and imagined vehicles • Steering through the controllers and/or switches and/or ray casting • Vehicles created as groups of physics objects connected constraints • All examples of vehicles provided with C++ source code
Physics-Driven Sound
• Full support for selected motion characteristics of object • Sounds ranges defined by any primitive shapes
Advanced Controllers
Internal controllers Description Cursor controller Provides functions to handle cursor Screen to ray controller Provides functions to throw the ray in 3D space for given screen coordinates Fluid surface controller Provides functions to create sinusoidal or cosinusoidal fluid surface perturbation in real-time Heightmap controller Provides functions to deform heightmap in real-time Triangle mesh controller Provides functions to add triangles to arbitrary set of triangles Destruction controller Provides functions to destroy groups of objects unconnected constraints • A rich set of internal controllers • User-defined controllers • Scalable to your needs, full-featured character controllers • Priorities determining the order of user-defined controllers execution • All examples of user-defined controllers provided with C++ source code • All examples of character controllers provided with C++ source code
Serialization And Deserialization
Serialized physics scene elements Simulation parameters Physics objects (with materials, cameras, controllers, fog sources, light and sound sources, contact points, etc) Shapes Primitive shapes Constraints Meshes • Serialization of entire physics scenes to easily parsable XML data • Deserialization of entire physics scenes from easily parsable XML data • Serialization of entire physics scenes to a file, memory or stream • Deserialization of entire physics scenes from a file, memory or stream • Real-time snapshot creation. Such snapshots can be loaded and further processed from the point at which were taken • Serialization in two modes: optimized or complete • Serialization of user-defined controllers through the programmable Archive class
Debug Visualization
• Full support for user-defined debbugers • Built-in mechanisms required for custom debugging
Multi-Platform
Supported platforms Android 7.0 Nougat (API level 24) and higher Android TV 9.0 Pie (API level 28) and higher *BSD (mainly FreeBSD 11.0 and higher) iOS 11 and higher iPadOS 13 and higher Linux (mainly Ubuntu 16.04 and higher) macOS 10.13 High Sierra and higher SteamOS 2.0 and higher tvOS 11 and higher UWP Desktop UWP Xbox One UWP Xbox Series X/S Windows 10 Windows 8/8.1 Windows 7 Platforms Available as UWP, Windows Compiled static library (.lib) Android, Android TV, *BSD, iOS, iPadOS, Linux, macOS, SteamOS, tvOS Compiled static library (.a) Supported types of activity Android Native Activity