void Awake() { // create an object containing both the solver and the updater: GameObject solverObject = new GameObject("solver", typeof(ObiSolver), typeof(ObiFixedUpdater)); ObiSolver solver = solverObject.GetComponent <ObiSolver>(); ObiFixedUpdater updater = solverObject.GetComponent <ObiFixedUpdater>(); updater.substeps = 2; // adjust solver settings: solver.particleCollisionConstraintParameters.enabled = false; solver.distanceConstraintParameters.iterations = 8; solver.pinConstraintParameters.iterations = 4; solver.parameters.sleepThreshold = 0.001f; solver.PushSolverParameters(); // add the solver to the updater: updater.solvers.Add(solver); // create the net (ropes + rigidbodies) CreateNet(solver); }
void Update() { solver.parameters.gravity = transform.InverseTransformDirection(worldGravity); solver.PushSolverParameters(); }