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

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

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

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

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

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

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Координаты прицела:
    Цитата Сообщение от 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.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

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

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

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

 

 

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

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

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

Ваши права

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