升级obi

This commit is contained in:
2026-01-22 22:08:21 +08:00
parent 120b8cda26
commit 20f14322bc
1067 changed files with 149894 additions and 29583 deletions

View File

@@ -1,4 +1,4 @@
using UnityEngine;
using UnityEngine;
namespace Obi
{
@@ -11,13 +11,14 @@ namespace Obi
#region Inertial Frame
void InitializeFrame(Vector4 translation, Vector4 scale, Quaternion rotation);
void UpdateFrame(Vector4 translation, Vector4 scale, Quaternion rotation, float deltaTime);
void ApplyFrame(float worldLinearInertiaScale, float worldAngularInertiaScale, float deltaTime);
IObiJobHandle ApplyFrame(float worldLinearInertiaScale, float worldAngularInertiaScale, float deltaTime);
#endregion
#region Particles
void ParticleCountChanged(ObiSolver solver);
void MaxFoamParticleCountChanged(ObiSolver solver);
void SetActiveParticles(ObiNativeIntList indices);
void InterpolateDiffuseProperties(ObiNativeVector4List properties, ObiNativeVector4List diffusePositions, ObiNativeVector4List diffuseProperties, ObiNativeIntList neighbourCount, int diffuseCount);
uint activeFoamParticleCount { get; }
#endregion
#region Rigidbodies
@@ -28,33 +29,36 @@ namespace Obi
IConstraintsBatchImpl CreateConstraintsBatch(Oni.ConstraintType type);
void DestroyConstraintsBatch(IConstraintsBatchImpl batch);
int GetConstraintCount(Oni.ConstraintType type);
void GetCollisionContacts(Oni.Contact[] contacts, int count);
void GetParticleCollisionContacts(Oni.Contact[] contacts, int count);
void SetConstraintGroupParameters(Oni.ConstraintType type, ref Oni.ConstraintParameters parameters);
#endregion
#region Update
IObiJobHandle CollisionDetection(float stepTime);
IObiJobHandle Substep(float stepTime, float substepTime, int substeps);
void ApplyInterpolation(ObiNativeVector4List startPositions, ObiNativeQuaternionList startOrientations, float stepTime, float unsimulatedTime);
IObiJobHandle UpdateBounds(IObiJobHandle inputDeps, float stepTime);
IObiJobHandle CollisionDetection(IObiJobHandle inputDeps, float stepTime);
IObiJobHandle Substep(IObiJobHandle inputDeps, float stepTime, float substepTime, int steps, float timeLeft);
IObiJobHandle ApplyInterpolation(IObiJobHandle inputDeps, ObiNativeVector4List startPositions, ObiNativeQuaternionList startOrientations, float stepTime, float unsimulatedTime);
void FinishSimulation();
void PushData();
void RequestReadback();
#endregion
#region Deformable shapes
void SetDeformableTriangles(ObiNativeIntList indices, ObiNativeVector2List uvs);
void SetDeformableEdges(ObiNativeIntList indices);
#endregion
#region Simplices
int GetDeformableTriangleCount();
void SetDeformableTriangles(int[] indices, int num, int destOffset);
int RemoveDeformableTriangles(int num, int sourceOffset);
void SetSimplices(ObiNativeIntList simplices, SimplexCounts counts);
#endregion
#region Utils
void SetParameters(Oni.SolverParameters parameters);
void GetBounds(ref Vector3 min, ref Vector3 max);
void ResetForces();
int GetParticleGridSize();
void GetParticleGrid(ObiNativeAabbList cells);
void SpatialQuery(ObiNativeQueryShapeList shapes, ObiNativeAffineTransformList transforms, ObiNativeQueryResultList results);
void ReleaseJobHandles();
#endregion
}
}