public static void ApplyPhysics(PhysicsSettings physicsSettings, Transform[] objects, SpawnSettings.AutoSimulationType autoSimulationType) { PhysicsSimulationGroup physicsSimulation = ScriptableObject.CreateInstance <PhysicsSimulationGroup>(); physicsSimulation.ApplySettings(physicsSettings); if (autoSimulationType == SpawnSettings.AutoSimulationType.Continuous) { physicsSimulation.StartSimulation(objects); PhysicsSimulator.SetSimulationTime(physicsSettings.simulationTime); PhysicsSimulator.SetSimulationSteps(physicsSettings.simulationSteps); PhysicsSimulator.Activate(); // consume the event or otherwise we'd get an error in PhysicsSimulator because of the UI display of the phyiscs timer // TODO: set flag and invoke in different pass Event.current.Use(); } }
private void ApplyPhysics() { PhysicsSimulation physicsSimulation = ScriptableObject.CreateInstance <PhysicsSimulation>(); PhysicsSettings physicsSettings = new PhysicsSettings(); physicsSettings.simulationStepCountMax = gizmo.brushSettings.autoSimulationStepCountMax; physicsSettings.simulationStepIterations = gizmo.brushSettings.autoSimulationStepIterations; physicsSimulation.ApplySettings(physicsSettings); // TODO: use only the new added ones? Transform[] containerChildren = PrefabUtils.GetContainerChildren(gizmo.container); if (gizmo.brushSettings.autoSimulationType == BrushSettings.AutoSimulationType.Once) { physicsSimulation.RunSimulationOnce(containerChildren); } else if (gizmo.brushSettings.autoSimulationType == BrushSettings.AutoSimulationType.Continuous) { physicsSimulation.StartSimulation(containerChildren); } }
public void ApplySettings(PhysicsSettings physicsSettings) { this.physicsSettings = physicsSettings; }
public static void ApplyPhysics(PhysicsSettings physicsSettings, List <GameObject> objects, SpawnSettings.AutoSimulationType autoSimulationType) { Transform[] containerChildren = objects.ConvertAll(x => x.transform).ToArray(); ApplyPhysics(physicsSettings, containerChildren, autoSimulationType); }
public static void ApplyPhysics(PhysicsSettings physicsSettings, GameObject container, SpawnSettings.AutoSimulationType autoSimulationType) { Transform[] containerChildren = PrefabUtils.GetContainerChildren(container); ApplyPhysics(physicsSettings, containerChildren, autoSimulationType); }