Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3
  1. #1
    Аватар для gggfff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2019
    Сообщений
    8
    Репутация:
    0 ±

    Координаты прицела

    Тригонометрия.

    Необходимо выполнить расчеты, чтобы получить координаты положения прицела и направления прицела.

    По поводу оплаты договоримся.

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,852
    Репутация:
    1766 ±
    Координаты прицела:
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    PHP код:
    #define MAX_SCALE_DIST    100.0 //Максимальная дистанция для проверки, на которую пустится луч

    new
        
    Float:pXFloat:pYFloat:pZ,
        
    Float:vXFloat:vYFloat:vZ,
        
    Float:atXFloat:atYFloat:atZ;

    GetPlayerCameraPos(playeridpXpYpZ); //Узнаём начальные координаты для луча
    GetPlayerCameraFrontVector(playeridvXvYvZ);

    //Вычисляем конечные координаты для луча
    atX pX + (vX MAX_SCALE_DIST);
    atY pY + (vY MAX_SCALE_DIST);
    atZ pZ + (vZ MAX_SCALE_DIST);

    //Узнаём, нашёл ли луч какую-то коллизию с объектом на своём пути
    if(CA_RayCastLine(pXpYpZvXvYvZatXatYatZ)) //Нашёл
    //Координаты коллизии (т.е. та точка, в которую смотрит игрок) теперь лежат в atX, atY, atZ
        //Твой код
    }
    else 
    //Луч ни с чем не столкнулся, возможно игрок смотрит в небо или что-то подобное
    {
        
    //Твой код

    Направление прицела: GetPlayerFacingAngle или GetPlayerCameraFrontVector.

    Пользуйся. Отдаю безвозмездно
    Последний раз редактировалось DeimoS; 29.03.2019 в 13:20.
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для gggfff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2019
    Сообщений
    8
    Репутация:
    0 ±
    Ты проверял в действии? Видимо нет, а я проверял
    Это центральная точка на экране и направление у нее тоже идет по центру, у прицела же иначе

    Чтобы получить координаты положения прицела и направления прицела, нужно сначала выставить начало луча используя координаты Origin во время выстрела, далее сместить координаты направления камеры таким образом, чтобы луч был пропорционален направлению прицела (проще говоря, направить луч в прицел), ну а после того, как направление луча найдено, нужно найти координаты начало луча используя GetPlayerPos + GetPlayerFacingAngle.

    Концепцию и порядок действий описал, осталось реализовать. Найдутся такие? Денюжкой не обижу

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •