Search Unity

Question [Physics] New exposed methods for collider creation

Discussion in 'Physics for ECS' started by emrodk, May 25, 2021.

  1. emrodk

    emrodk

    Joined:
    Feb 12, 2021
    Posts:
    4
  2. steveeHavok

    steveeHavok

    Joined:
    Mar 19, 2019
    Posts:
    481
    These where primarily exposed for use by the GameObject style Query API e.g. SphereCast.
    Rather than requiring folk to hold Colliders in BlobAssetReferences, you can make Colliders directly e.g.

    Code (CSharp):
    1.  
    2.             SphereCollider collider = default;
    3.             SphereGeometry geometry = new SphereGeometry
    4.             {
    5.                 Center = 0,
    6.                 Radius = radius
    7.             };
    8.             collider.Initialize(geometry, filter, Material.Default);
    9.  
    10.             ColliderCastInput input = new ColliderCastInput
    11.             {
    12.                 Orientation = quaternion.identity,
    13.                 Start = origin,
    14.                 End = origin + direction * maxDistance
    15.             };
    16.             unsafe { input.Collider = (Collider*)UnsafeUtility.AddressOf(ref collider); }
    17.             PhysicsWorld.CastCollider(input, out var closestHit);
    18.  
     
    emrodk likes this.
  3. emrodk

    emrodk

    Joined:
    Feb 12, 2021
    Posts:
    4
    Thanks for the reply, I was confused because the PhyisicsCollider stills requires a BlobAssetReference