public override void PushDataToSolver(ObiBatchedConstraints constraints) { if (constraints == null || constraints.Actor == null || !constraints.Actor.InSolver) { return; } ObiStretchShearConstraints dc = (ObiStretchShearConstraints)constraints; int[] orientationIndices = new int[restLengths.Count]; for (int i = 0; i < restLengths.Count; i++) { solverStiffnesses[i] = new Vector3(StiffnessToCompliance(dc.shearStiffness1), StiffnessToCompliance(dc.shearStiffness2), StiffnessToCompliance(dc.stretchStiffness)); orientationIndices[i] = solverIndices[i * 2]; } Oni.SetStretchShearConstraints(batch, solverIndices, orientationIndices, solverRestLengths, solverRestOrientations, solverStiffnesses, ConstraintCount); }
public void OnEnable() { constraints = (ObiStretchShearConstraints)target; }