Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


CreateBodyBatch

Create a batch of bodies in the world.
Read time 3 minutesLast updated 10 days ago

Definition

  • Type: Method
  • Namespace: Unity.U2D.Physics
  • Assembly: UnityEngine.PhysicsCore2DModule

CreateBodyBatch(PhysicsBodyDefinition, int, Allocator)

Create a batch of bodies in the world.
public NativeArray<PhysicsBody> CreateBodyBatch(PhysicsBodyDefinition definition, int bodyCount, Allocator allocator = Allocator.Temp)

Parameters

The body definition to use.

bodyCount

The number of bodies to create.

allocator

The memory allocator to use for the results. This can only be Allocator.Temp, Allocator.TempJob or Allocator.Persistent.

Returns

Type

Description

NativeArray<PhysicsBody>The created bodies. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty.

Remarks

Use this method to create many bodies that share the same configuration, instead of calling PhysicsWorld.CreateBody in a loop.

Examples

// Create 500 bodies using a single definition.using UnityEngine;using Unity.Collections;using Unity.U2D.Physics;public class CreateBodyBatchExample : MonoBehaviour{ public PhysicsBodyDefinition bodyDefinition = PhysicsBodyDefinition.defaultDefinition; void Start() { PhysicsWorld world = PhysicsWorld.defaultWorld; using NativeArray<PhysicsBody> fiveHundredBodies = world.CreateBodyBatch(bodyDefinition, 500); }}

CreateBodyBatch(PhysicsBodyDefinition, int, Object, int, Allocator)

Create a batch of bodies in the world, assigning the given owner to every created body.
public NativeArray<PhysicsBody> CreateBodyBatch(PhysicsBodyDefinition definition, int bodyCount, Object owner, int ownerKey, Allocator allocator = Allocator.Temp)

Parameters

The body definition to use.

bodyCount

The number of bodies to create.

owner

The owner object to assign to every created body. If null, no owner is assigned.

ownerKey

The owner key to assign. Must be non-zero when owner is not null. See PhysicsWorld.CreateOwnerKey.

allocator

The memory allocator to use for the results. This can only be Allocator.Temp, Allocator.TempJob or Allocator.Persistent.

Returns

Type

Description

NativeArray<PhysicsBody>The created bodies. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty.

Remarks

CreateBodyBatch(ReadOnlySpan<PhysicsBodyDefinition>, Allocator)

Create a batch of bodies in the world.
public NativeArray<PhysicsBody> CreateBodyBatch(ReadOnlySpan<PhysicsBodyDefinition> definitions, Allocator allocator = Allocator.Temp)

Parameters

The definitions used to create the bodies. The number of bodies produced is implicitly controlled by the number of definitions in this span.

allocator

The memory allocator to use for the results. This can only be Allocator.Temp, Allocator.TempJob or Allocator.Persistent.

Returns

Type

Description

NativeArray<PhysicsBody>The created bodies. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty.

CreateBodyBatch(ReadOnlySpan<PhysicsBodyDefinition>, Object, int, Allocator)

Create a batch of bodies in the world, assigning the given owner to every created body.
public NativeArray<PhysicsBody> CreateBodyBatch(ReadOnlySpan<PhysicsBodyDefinition> definitions, Object owner, int ownerKey, Allocator allocator = Allocator.Temp)

Parameters

The definitions used to create the bodies. The number of bodies produced is implicitly controlled by the number of definitions in this span.

owner

The owner object to assign to every created body. If null, no owner is assigned.

ownerKey

The owner key to assign. Must be non-zero when owner is not null. See PhysicsWorld.CreateOwnerKey.

allocator

The memory allocator to use for the results. This can only be Allocator.Temp, Allocator.TempJob or Allocator.Persistent.

Returns

Type

Description

NativeArray<PhysicsBody>The created bodies. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty.

Remarks