//Fixes position to voxel map surface (assuming gravity Vector3.Down and single voxel map)
        protected Vector3D FixPositionToVoxel(Vector3D position)
        {
            //BoundingBox bb = new BoundingBox(position + Vector3.Down * maxVertDistance, position + Vector3.Up * maxVertDistance);
            MyVoxelMap map = null;

            foreach (var e in MyEntities.GetEntities())
            {
                map = e as MyVoxelMap;
                if (map != null)
                {
                    break;
                }
            }

            float maxVertDistance = 2048; //maximal distance character will be shifted verticaly

            if (map != null)
            {
                position = map.GetPositionOnVoxel(position, maxVertDistance);
            }
            return(position);
        }