public static JobHandle ScheduleBatchRayCast(Unity.Physics.CollisionWorld world, NativeArray <Unity.Physics.RaycastInput> inputs, NativeArray <Unity.Physics.RaycastHit> results) { JobHandle rcj = new RaycastJob { inputs = inputs, results = results, world = world }.Schedule(inputs.Length, 5); return(rcj); }
public static void SingleRayCast(Unity.Physics.CollisionWorld world, Unity.Physics.RaycastInput input, ref Unity.Physics.RaycastHit result) { var rayCommands = new NativeArray <Unity.Physics.RaycastInput>(1, Allocator.TempJob); var rayResults = new NativeArray <Unity.Physics.RaycastHit>(1, Allocator.TempJob); rayCommands[0] = input; var handle = ScheduleBatchRayCast(world, rayCommands, rayResults); handle.Complete(); result = rayResults[0]; rayCommands.Dispose(); rayResults.Dispose(); }
// Construct a world with the given number of uninitialized bodies and joints public PhysicsWorld(int numStaticBodies, int numDynamicBodies, int numJoints) { CollisionWorld = new CollisionWorld(numStaticBodies, numDynamicBodies); DynamicsWorld = new DynamicsWorld(numDynamicBodies, numJoints); }