Перейти к содержанию

Рекомендуемые сообщения

Привет всем. Подскажите в чем ошибка? Матрица не правильно переводит значения. Условие всегда верно. Координаты передаю правильные.

 

 private static ScreenVector WorldToScreen(float x, float y, float z)
        {
            float w;
            float sx;
            float sy;

            sx = VMatrix.M11 * x +
                VMatrix.M12 * y +
                VMatrix.M13 * z +
                VMatrix.M14;

            sy = VMatrix.M21 * x +
                VMatrix.M22 * y +
                VMatrix.M23 * z +
                VMatrix.M24;


            w = VMatrix.M41 * x +
                VMatrix.M42 * y +
                VMatrix.M43 * z +
                VMatrix.M44;

            if (w < 0.01f)
                return new ScreenVector()
                {
                    Result = false,
                    X = 0,
                    Y = 0
                };

            float invw = 1f / w;
            sx *= invw;
            sy *= invw;

            int width = window.Width;
            int height = window.Height;

            float xt = width / 2;
            float yt = height / 2;

            xt += 0.5f * sx * width + 0.5f;
            yt -= 0.5f * sy * height + 0.5f;

            sx = xt;
            sy = yt;


            return new ScreenVector()
            {
                Result = true,
                X = sx,
                Y = sy
            };
        }

 

Изменено пользователем JustStudy
Ссылка на комментарий
Поделиться на другие сайты

JustStudy, ответь на вопросы, и наша служба поддержки, постарается вам поможет.

  1. Что за игра?
  2. Правильно нашел матрицу?
  3. Правильно нашел кординаты противника?
  4. Игра использует opengl или directx?
  5. Правильно считываешь данные?
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, JustStudy сказал:

Матрицу вроде правильно нахожу, смещения все остальные (BaseAdress, EntityList и т.д.) точно верные.

Точно не верные, раз рисует не там

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, JustStudy сказал:

Я её победил все-таки))

Молодец а в чем ошибка было?

 

Почему линии до игрока идут от места куда указывает прицел :D 

Изменено пользователем what228
Ссылка на комментарий
Поделиться на другие сайты

21 час назад, what228 сказал:

Почему линии до игрока идут от места куда указывает прицел :D 

 

А так круче и мне больше нравится, чем сверху или снизу))

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.