예제 #1
0
            public bool Execute(NativeArray <BatchCollisionInput> hulls, NativeList <BatchCollisionResult> results)
            {
                var isCollision = false;

                for (int i = 0; i < hulls.Length; ++i)
                {
                    for (int j = i + 1; j < hulls.Length; j++)
                    {
                        var a = hulls[i];
                        var b = hulls[j];

                        if (NativeCollision.IsCollision(a.Transform, a.Hull, b.Transform, b.Hull))
                        {
                            isCollision = true;
                            results.Add(new BatchCollisionResult
                            {
                                A = a,
                                B = b,
                            });
                        }
                    }
                }
                return(isCollision);
            }
예제 #2
0
 public bool Execute(RigidTransform t1, NativeHull hull1, RigidTransform t2, NativeHull hull2)
 {
     return(NativeCollision.IsCollision(t1, hull1, t2, hull2));
 }