Help ПЕремещение камеры по Y Оси
|
|
sidielnikov1 |
Дата: Четверг, 22.02.2018, 14:50 | Сообщение # 1
|
Новичок
Сообщений: 9
Статус: Offline
|
Ребята, есть ли аналог функции 0A25: set_camera_on_players_X_angle 0@ Z_angle 1@, только что бы она перемещала камеру не по осям X и Z, а по Y и Z. Нужно для закрепления прицела на голове в аиме. если есть другой способ это сделать то скиньте пожалуйста
wew
Сообщение отредактировал sidielnikov1 - Четверг, 22.02.2018, 15:20 |
|
|
|
cover |
Дата: Четверг, 22.02.2018, 20:19 | Сообщение # 2
|
Бывалый
Сообщений: 343
Статус: Offline
|
sidielnikov1, этот опкод нормально перемещает камеру, просто значение надо рассчитать по формуле Добавлено (22.02.2018, 20:19) ---------------------------------------------
Код :label_setCamPos // 0ab1: @label_setCamPos 2 posX posY 068D: get_camera_position_to 3@ 4@ 5@ 0063: 0@ -= 3@ 0063: 1@ -= 4@ 0604: get_Z_angle_for_point 0@ 1@ store_to 5@ while 5@ < 0.0 5@ += 360.0 end 5@ -= 90.0 5@ /= 57.295776 0A8D: 6@ = readMem 0xB6F248 size 4 vp 0 //vertical angle 0A8D: 7@ = readMem 0xB6F258 size 4 vp 0 //horizontal angle 0087: 8@ = 7@ 0063: 8@ -= 5@ //diff while 8@ <= -3.14159 8@ += 6.28318 end while 8@ > 3.14159 8@ -= 6.28318 end 0063: 7@ -= 8@ 0A25: set_camera_on_players_X_angle 6@ Z_angle 7@ 0AB2: ret 0
Это как раз вырезано из аима. Камера поворачивается плавно
|
|
|
|
sidielnikov1 |
Дата: Четверг, 22.02.2018, 21:39 | Сообщение # 3
|
Новичок
Сообщений: 9
Статус: Offline
|
cover, ты меня не понял, мне надо что бы прицел зацикливался на голове и его не льзя было сдвинуть не по 1 из 3 осей, то есть на мертво приклеен
wew
|
|
|
|
cover |
Дата: Четверг, 22.02.2018, 23:59 | Сообщение # 4
|
Бывалый
Сообщений: 343
Статус: Offline
|
sidielnikov1, в случае экрана, только 2 оси координат, X и Y соответственно. Я сбросил тебе правильный код, но тебе надо его дописать. Циклишь получение координат игрока, затем конвертируешь координаты игрока и используешь функцию, которую я сбросил выше
|
|
|
|
sidielnikov1 |
Дата: Пятница, 23.02.2018, 04:05 | Сообщение # 5
|
Новичок
Сообщений: 9
Статус: Offline
|
Цитата cover ( ) в случае экрана, только 2 оси координат, X и Y соответственно. Я сбросил тебе правильный код, но тебе надо его дописать. Циклишь получение координат игрока, затем конвертируешь координаты игрока и используешь функцию, которую я сбросил выше каким опкодом их конвертировать или если есть то скинь функцию пожалуйстаДобавлено (23.02.2018, 04:05) --------------------------------------------- вот я циклю actor.StorePos(0@, 1@, 2@, 3@) 0B55: convert_3D_coords 1@ 2@ 3@ to_screen 4@ 5@ 0B5F: convert_window_screen_coords 4@ 5@ to_game_screen_coords 1@ 2@ 0ab1: @label_setCamPos 2 1@ 2@
и он у меня отводит прицел назад
wew
|
|
|
|
cover |
Дата: Пятница, 23.02.2018, 11:22 | Сообщение # 6
|
Бывалый
Сообщений: 343
Статус: Offline
|
Вот этим 0B55 Добавлено (23.02.2018, 11:22) --------------------------------------------- И еще. Прибавляй к координате Z, если 3д координаты или X, если координаты экрана , Определенное значение, если хочешь, чтобы прицел был на уровне головы
|
|
|
|
sidielnikov1 |
Дата: Пятница, 23.02.2018, 12:00 | Сообщение # 7
|
Новичок
Сообщений: 9
Статус: Offline
|
cover, Всё равно не работает, уводит в сторону куда то
вот код
{$CLEO .cs}
//-------------MAIN--------------- 0000: NOP
while true wait 0 if and 0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET 0AB0: 2 then actor.StorePos(0@, 1@, 2@, 3@) 0B55: convert_3D_coords 1@ 2@ 3@ to_screen 4@ 5@ 0ab1: @label_setCamPos 2 4@ 5@ end end
:label_setCamPos // 0ab1: @label_setCamPos 2 posX posY 068D: get_camera_position_to 3@ 4@ 5@ 0063: 0@ -= 3@ 0063: 1@ -= 4@ 0604: get_Z_angle_for_point 0@ 1@ store_to 5@ while 5@ < 0.0 5@ += 360.0 end 5@ -= 90.0 5@ /= 57.295776 0A8D: 6@ = readMem 0xB6F248 size 4 vp 0 //vertical angle 0A8D: 7@ = readMem 0xB6F258 size 4 vp 0 //horizontal angle 0087: 8@ = 7@ 0063: 8@ -= 5@ //diff while 8@ <= -3.14159 8@ += 6.28318 end while 8@ > 3.14159 8@ -= 6.28318 end 0063: 7@ -= 8@ 0A25: set_camera_on_players_X_angle 6@ Z_angle 7@ 0AB2: ret 0
wew
|
|
|
|
cover |
Дата: Суббота, 24.02.2018, 08:49 | Сообщение # 8
|
Бывалый
Сообщений: 343
Статус: Offline
|
sidielnikov1, по поводу конвертирования, в этой функции - это не нужно, я ошибся. Удали конвертирование и все будет работать. А чтобы прицел наводился на голову, прибавь к переменной 6@, перед применением, определенное число(рассчитай путем тестов)
Сообщение отредактировал cover - Суббота, 24.02.2018, 08:50 |
|
|
|
sidielnikov1 |
Дата: Суббота, 24.02.2018, 11:31 | Сообщение # 9
|
Новичок
Сообщений: 9
Статус: Offline
|
cover, всё равно по оси Y не стопит, можно спокойно двигать мышку вверх вниз, сам поробуй
wew
|
|
|
|