Как развернуть голову в сторону игрока?

legendaleto

Участник
Регистрация
31 Янв 2024
Сообщения
17
Привет всем, да, была уже тема такая, но там говорили, что без какой-то функции этого не сделать, но сейчас это добавили, и мне бы хотелось узнать как развернуть голову игрока в сторону другого игрока при помощи кода
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
321
Привет всем, да, была уже тема такая, но там говорили, что без какой-то функции этого не сделать, но сейчас это добавили, и мне бы хотелось узнать как развернуть голову игрока в сторону другого игрока при помощи кода
примерный код на PYTHON
Python:
import math

def rotate_object(A, B):
    # Вычисляем угол YAW
    yaw = math.degrees(math.atan((B['Y'] - A['Y']) / (B['X'] - A['X'])))

    # Вычисляем угол Pitch
    pitch = math.degrees(math.atan((B['Z'] - A['Z']) / math.sqrt((B['X'] - A['X'])**2 + (B['Y'] - A['Y'])**2)))

    # Поворачиваем объект A
    A['YAW'] = yaw
    A['PITCH'] = pitch

# Характеристики объектов A и B
A = {'X': 1, 'Y': 1, 'Z': 1, 'YAW': 90, 'PITCH': 10}
B = {'X': 12, 'Y': -1, 'Z': -3, 'YAW': 0, 'PITCH': 90}
rotate_object(A, B) print("Новые характеристики объекта A:")
print(A)
Сообщение объединено:

что без какой-то функции этого не сделать
арк тангенс - то, что тебе нужно
 

legendaleto

Участник
Регистрация
31 Янв 2024
Сообщения
17
примерный код на PYTHON
Python:
import math

def rotate_object(A, B):
    # Вычисляем угол YAW
    yaw = math.degrees(math.atan((B['Y'] - A['Y']) / (B['X'] - A['X'])))

    # Вычисляем угол Pitch
    pitch = math.degrees(math.atan((B['Z'] - A['Z']) / math.sqrt((B['X'] - A['X'])**2 + (B['Y'] - A['Y'])**2)))

    # Поворачиваем объект A
    A['YAW'] = yaw
    A['PITCH'] = pitch

# Характеристики объектов A и B
A = {'X': 1, 'Y': 1, 'Z': 1, 'YAW': 90, 'PITCH': 10}
B = {'X': 12, 'Y': -1, 'Z': -3, 'YAW': 0, 'PITCH': 90}
rotate_object(A, B) print("Новые характеристики объекта A:")
print(A)
Сообщение объединено:


арк тангенс - то, что тебе нужно
А можно такой только на коде к+, просто я недавно ток начал питон изучать (2-3 дня назад) и немного не понимаю код, и вообще зачем ты написал код на питоне в форуме мл к+, где отдельный код
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
321
А можно такой только на коде к+, просто я недавно ток начал питон изучать (2-3 дня назад) и немного не понимаю код, и вообще зачем ты написал код на питоне в форуме мл к+, где отдельный код
он читается на раз-два

кратко объясню, что тут происходит
у нас есть объект A, и B

у объекта A такие параметры: X=1, Y=1, Z=1
у объекта B такие параметры: X=12, Y=-1, Z=-3

допустим, нужно повернуть объект A к объекту B
разберём функцию rotate_object

yaw = atan(B['Y'] - A['Y']) / (B['X'] - A['X']))
ТОЕСТЬ сначала получаешь Y и X у обоих объектов, выполняешь операции B['Y'] - A['Y'] и B['X'] - A['X'], сохраняя их в переменные
затем их делишь, и прокручиваешь через блок Арктангенс, и наконец извлекаем из радиан градусы

pitch = atan(B['Z'] - A['Z']) / math.sqrt((B['X'] - A['X'])**2 + (B['Y'] - A['Y'])**2))
ТОЕСТЬ получаем Z и ранее известный X, производим операцию B['Z'] - A['Z']
затем высчитываем B['X'] - A['X'], и умножаем на 2
делаем тоже самое с B['X'] - A['X'] и умножаем на 2
затем извлекаем квадратный корень, есть блок для этого
остаётся только разделить B['Z'] - A['Z'] и sqrt((B['X'] - A['X'])**2 + (B['Y'] - A['Y'])**2)), и извлечь из радиан градусы

создаём местоположение:
Результат: %player%_pos
Местоположение: яблоко@местоположение
Pitch = pitch (который мы вычислили выше)
Yaw = yaw (который мы вычислили выше)

этот код мне придумал ChatGPT, не даю гарантию, что он сработает, но попытаться стоит
ещё могу сказать, что код должен поместиться всего в строку
 

legendaleto

Участник
Регистрация
31 Янв 2024
Сообщения
17
он читается на раз-два

кратко объясню, что тут происходит
у нас есть объект A, и B

у объекта A такие параметры: X=1, Y=1, Z=1
у объекта B такие параметры: X=12, Y=-1, Z=-3

допустим, нужно повернуть объект A к объекту B
разберём функцию rotate_object

yaw = atan(B['Y'] - A['Y']) / (B['X'] - A['X']))
ТОЕСТЬ сначала получаешь Y и X у обоих объектов, выполняешь операции B['Y'] - A['Y'] и B['X'] - A['X'], сохраняя их в переменные
затем их делишь, и прокручиваешь через блок Арктангенс, и наконец извлекаем из радиан градусы

pitch = atan(B['Z'] - A['Z']) / math.sqrt((B['X'] - A['X'])**2 + (B['Y'] - A['Y'])**2))
ТОЕСТЬ получаем Z и ранее известный X, производим операцию B['Z'] - A['Z']
затем высчитываем B['X'] - A['X'], и умножаем на 2
делаем тоже самое с B['X'] - A['X'] и умножаем на 2
затем извлекаем квадратный корень, есть блок для этого
остаётся только разделить B['Z'] - A['Z'] и sqrt((B['X'] - A['X'])**2 + (B['Y'] - A['Y'])**2)), и извлечь из радиан градусы

создаём местоположение:
Результат: %player%_pos
Местоположение: яблоко@местоположение
Pitch = pitch (который мы вычислили выше)
Yaw = yaw (который мы вычислили выше)

этот код мне придумал ChatGPT, не даю гарантию, что он сработает, но попытаться стоит
ещё могу сказать, что код должен поместиться всего в строку
Спасибо за объяснение, только я не понимаю, зачем ты сюда отправил код на питоне?
Мой друг уже пытался перенести этот код на к+, но у него какой-то недочет, скорей всего код неправильный
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
321
пасибо за объяснение, только я не понимаю, зачем ты сюда отправил код на питоне?
этот код мне придумал ChatGPT, не даю гарантию, что он сработает, но попытаться стоит
Сообщение объединено:

Мой друг уже пытался перенести этот код на к+, но у него какой-то недочет, скорей всего код неправильный
мб когда-нибудь попробую сделать этот код
 

legendaleto

Участник
Регистрация
31 Янв 2024
Сообщения
17
не верные расчёты, учился бы ты сам писать коды головой, мб умным был
Чел, достаточно всего написать, что в коде есть ошибка, и зачем учить отдельный язык программирования для какого-то сервера майнкрафт? И для ума необязательно знать языки программирования, хотя что я тут говорю, это же питонщик пишет, значит все ясно
 

onn512

Эксперт
Регистрация
2 Май 2023
Сообщения
115
legendaleto:
я недавно ток начал питон изучать
Также legendaleto:
хотя что я тут говорю, это же питонщик пишет, значит все ясно
Все тут ясно
Сообщение объединено:

Ну сделал код чатом гпт и радуйся
Не обижайся, что сам не умеешь
 

legendaleto

Участник
Регистрация
31 Янв 2024
Сообщения
17
Не обижайся, что сам не умеешь
Эм где я тут обижаюсь? У тебя все в порядке или ты решил такой: оо я сделал код на каст. Музыку, имея достаточны опыт в python, а этот чел даже не знает как работать с ним, ахах лузер, так еще и просит меня побольше узнать о коде.
Я написал как можно сделать этот код (что я и сделал) и только сейчас увидел ошибку в слове "сделал" > "сделай"
 

onn512

Эксперт
Регистрация
2 Май 2023
Сообщения
115
Я написал как можно сделать этот код (что я и сделал) и только сейчас увидел ошибку в слове "сделал" > "сделай"
Тогда в чем смысл в том сообщении, если я уже сделал? И без помощи чатаГПТ
Сообщение объединено:

Может ты хотел написать "сделать код чатомГПТ и радоваться"? Оно как-то лучше подходит по контексту
 
Последнее редактирование:

8MO

Участник
Регистрация
11 Мар 2024
Сообщения
12
Тогда в чем смысл в том сообщении, если я уже сделал? И без помощи чатаГПТ
Сообщение объединено:

Может ты хотел написать "сделать код чатомГПТ и радоваться"? Оно как-то лучше подходит по контексту
рот закрой бот
 

legendaleto

Участник
Регистрация
31 Янв 2024
Сообщения
17
Онн круче Mee8YT и legendaleto вместе взятых
Возможно он круче в коде python, но никак не в к+
Он не знает пару штук, которые тебя сразу делают круче
Сообщение объединено:

Онн круче Mee8YT и legendaleto вместе взятых
А ты типо его прислуга, которая поклоняется ему?
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
321
не верные расчёты, учился бы ты сам писать коды головой, мб умным был
Зачем коды писать головой, у меня мозг напрямую к компу по usb не подключен

Тебе бы лучше головой подумать
Я просто спросил у chat gpt, и адаптировал челу под мл-код

Если расчёт не верный - поделись верным, или будь до конца жизни отбросом
 
Сверху