Exemplo n.º 1
0
        /// <summary>
        /// Check cursor collision
        /// </summary>
        /// <param name="ray">ray cast</param>
        /// <returns>Cursor hit</returns>
        public CursorHit CheckCursorCollision(ref Ray ray)
        {
            RayCastResult3D result;
            this.Owner.Scene.PhysicsManager.RayCast3D(ray, out result);

            CursorHit cursorHit = new CursorHit();
            if (result.HitBody != null)
            {
                cursorHit.Hit = true;
                cursorHit.Position = result.HitData.Location - ray.Direction * this.SurfaceOffset;
                cursorHit.Target = result.HitData.Location + result.HitData.Normal;
            }

            return cursorHit;
        }
        /// <summary>
        /// Check cursor collision
        /// </summary>
        /// <param name="ray">ray cast</param>
        /// <param name="rayDistance">The ray distance to test</param>
        /// <returns>Cursor hit</returns>
        public CursorHit CheckCursorCollision(ref Ray ray, float rayDistance)
        {
            HitResult3D result = this.Owner.Scene.PhysicsManager.Simulation3D.RayCast(ref ray, rayDistance);

            CursorHit cursorHit = new CursorHit();

            if (result.Succeeded)
            {
                cursorHit.Hit      = true;
                cursorHit.Position = result.Point - (ray.Direction * this.SurfaceOffset);
                cursorHit.Target   = result.Point + result.Normal;
            }

            return(cursorHit);
        }
Exemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     cam              = this.GetComponent <Camera>();
     cursorHit        = this.GetComponent <CursorHit>();
     defaultTargetPos = this.gameObject.transform.position;
 }