Пример #1
0
        public bool Raycast(Vector3 origin, Vector3 direction, out RigidBody body, out Vector3 normal, out float fraction)
        {
            Jitter.Dynamics.RigidBody jrigidbody;
            JVector jnormal;
            JVector jorigin    = Util.ToJitter(origin);
            JVector jdirection = Util.ToJitter(direction);

            Jitter.Collision.CollisionSystem system = world.CollisionSystem;
            bool res = system.Raycast(
                jorigin,
                jdirection,
                null, // (Jitter.Collision.RaycastCallback)null,
                out jrigidbody,
                out jnormal,
                out fraction
                );

            normal = Util.FromJitter(jnormal);
            if (jrigidbody != null)
            {
                body = map[jrigidbody];
            }
            else
            {
                body = null;
                return(false);
            }
            return(res);
        }
Пример #2
0
        public bool Raycast(RigidBody body, Vector3 origin, Vector3 direction, out Vector3 normal, out float fraction)
        {
            JVector jnormal;
            JVector jorigin    = Util.ToJitter(origin);
            JVector jdirection = Util.ToJitter(direction);

            Jitter.Collision.CollisionSystem system = world.CollisionSystem;
            bool res = system.Raycast(body.rigidBody, jorigin, jdirection, out jnormal, out fraction);

            normal = Util.FromJitter(jnormal);
            return(res);
        }