Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 13
  1. #1
    Аватар для na4uMy4Ka
    Пользователь

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

    учет перевернутых координат сампа

    привет, есть некий объект, нужно относительно него вычислить координаты для создания другого объекта. все оффсеты относительно поворота получены, при создании этих объектов в 2х сторонах света - все нормально, при создании в 2х других - нет, связано это скорее всего с перевернутыми осями в игре, вопрос, как их учитывать верно?

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от na4uMy4Ka Посмотреть сообщение
    привет, есть некий объект, нужно относительно него вычислить координаты для создания другого объекта. все оффсеты относительно поворота получены, при создании этих объектов в 2х сторонах света - все нормально, при создании в 2х других - нет, связано это скорее всего с перевернутыми осями в игре, вопрос, как их учитывать верно?

    покажи код, который у тебя есть
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

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

    Статус
    Оффлайн
    Регистрация
    07.04.2022
    Сообщений
    3
    Репутация:
    0 ±
    PHP код:
            new Float:sin floatsin(-main_object_z_rotdegrees);
            new 
    Float:cos floatcos(-main_object_z_rotdegrees);

            
    new_x main_object_x cos offset_x sin offset_y;
            
    new_y main_object_y sin offset_x cos offset_y;

            
    obj CreateDynamicObject(1234new_xnew_ymain_object_z_rot0.00.00.0worldinterior); 

  4. #4
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    весь код, а не отгрызками
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  5. #5
    Аватар для na4uMy4Ka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.04.2022
    Сообщений
    3
    Репутация:
    0 ±
    а для чего больше кода? есть один объект который имеет позицию и повороты относительно осей, есть второй объект который нужно выставить относительно первого, вопрос, как правильно учитывать смещенные оси сампа?

  6. #6
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от na4uMy4Ka Посмотреть сообщение
    а для чего больше кода? есть один объект который имеет позицию и повороты относительно осей, есть второй объект который нужно выставить относительно первого, вопрос, как правильно учитывать смещенные оси сампа?
    Чтобы посмотреть, что ты вообще делаешь? И поиграться самому в игре перед тем как помочь?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  7. #7
    Аватар для Salik_Davince
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    Актуально ? Такой же вопрос, вращаю объект и 2й объект меняет ось в не нужную или береи некорректную ось/позицию к первому объекту.

    Примерная функция/команда:

    1. CMD:test(playerid, params[])
    2. {
    3. new radarObject;
    4. SendClientMessage(playerid, -1, "Edited Mode");
    5. radarObject = CreateDynamicObject(18880, x, y, z+0.35, 0.0, 0.0, 0.0);
    6. return true;
    7. }


    Паблик OnPlayerEditDynamicObject -

    1. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
    2. {
    3. if(response == 1)
    4. {
    5. SendClientMessage(playerid, -1, !"Radar ustanovlen!");
    6.  
    7. tmpobjid = CreateDynamicObject(19482, x, y, z + 7, 0.000000, 0.000000, 90.700019);
    8. SetDynamicObjectMaterialText(tmpobjid, 0, "120km/h", 130, "Arial", 90, 1, 0xFFFFFFFF, 0x00000000, 1);
    9.  
    10. tmpobjid = CreateDynamicObject(19482, x, y, z + 7, 0.000000, 0.000000, rz + 90.700019);//2 test
    11. SetDynamicObjectMaterialText(tmpobjid, 0, "130km/h", 130, "Arial", 90, 1, 0xFFFFFFFF, 0x00000000, 1);
    12. }
    13. }


    И как вообще вычислить смещение, с машиной и игроком ясное, но вот с объектом, не понятно.

  8. #8
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от Salik_Davince Посмотреть сообщение
    Актуально ? Такой же вопрос, вращаю объект и 2й объект меняет ось в не нужную или береи некорректную ось/позицию к первому объекту.

    Примерная функция/команда:

    1. CMD:test(playerid, params[])
    2. {
    3. new radarObject;
    4. SendClientMessage(playerid, -1, "Edited Mode");
    5. radarObject = CreateDynamicObject(18880, x, y, z+0.35, 0.0, 0.0, 0.0);
    6. return true;
    7. }


    Паблик OnPlayerEditDynamicObject -

    1. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
    2. {
    3. if(response == 1)
    4. {
    5. SendClientMessage(playerid, -1, !"Radar ustanovlen!");
    6.  
    7. tmpobjid = CreateDynamicObject(19482, x, y, z + 7, 0.000000, 0.000000, 90.700019);
    8. SetDynamicObjectMaterialText(tmpobjid, 0, "120km/h", 130, "Arial", 90, 1, 0xFFFFFFFF, 0x00000000, 1);
    9.  
    10. tmpobjid = CreateDynamicObject(19482, x, y, z + 7, 0.000000, 0.000000, rz + 90.700019);//2 test
    11. SetDynamicObjectMaterialText(tmpobjid, 0, "130km/h", 130, "Arial", 90, 1, 0xFFFFFFFF, 0x00000000, 1);
    12. }
    13. }


    И как вообще вычислить смещение, с машиной и игроком ясное, но вот с объектом, не понятно.
    Что за смещение? Тебе нужно делать перемещение префаба? (группового объекта (состоит из нескольких составных частей)), если да, то перемещение делается не так, не говоря уже, а повороте. Поворот вообще делается через матрицу поворота.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  9. Пользователь сказал cпасибо:
    Salik_Davince (20.04.2022)
  10. #9
    Аватар для Salik_Davince
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    Так точно, групповые объекты префаба, можно что нибудь в примерах? Попытался поискать в TextureStudio, но толком не нашёл, либо кое что упустил.

  11. #10
    Аватар для Salik_Davince
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    UPD. покопался нашёл, функция - AttachPoint, автору вопроса она так же не помешает, и скорее решение в нем.

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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