Как запустить снаряд?

Fordi

Новичок
Регистрация
3 Май 2023
Сообщения
34
________________________________________________________________________________________________________

Как запустить снаряд?

Нужно чтобы при нажатии 'Лкм'
Снаряд летел в сторону взгляда.

Мне это очень нужно, чтобы зделать классное
оружие для
Project S.T.A.L.K.E.R.
Screenshot_2023-09-10-23-43-43-231_net.kdt.pojavlaunch.jpg
Это должно работать :

Без Лука
Без Снежка
_________________________
 
Последнее редактирование:

Fordi

Новичок
Регистрация
3 Май 2023
Сообщения
34
Очень много ответов.
 

astr34

Эксперт
Регистрация
16 Июл 2023
Сообщения
18
Начальное местоположение снаряда и скорость по каждой из осей это произведение координат точки на единичной сфере взгляда игрока и какого-то коэффициента (в случае с местоположением - это насколько далеко снаряд будет спавниться от игрока, в случае со скоростью - это множитель скорости, для стрелы насколько знаю ещё и урона). Координаты точки на единичной полусфере с центром в (0;0;0), соответствующей взгляду игрока называются вектором взгляда.
Про то, как найти вектор взгляда написано тут (см. мои правки):
https://ruforum.mineland.net/threads/nedogajd-sinus-kosinus-vektor-vzgljada.1559/#post-9692

Если коэффициент местоположения снаряда недостаточно большой (сфера возможных точек пересекается с хитбоксом игрока), можно:
1) увеличить его, но есть вероятность того, что при pitch близком к 0, снаряд будет проходить через стену (спавниться за стеной) или через близко стоящую сущность.
2) ограничить pitch (min = -max, если pitch > max, pitch = max; если pitch < min, pitch = min)
3) изменить форму возможных точек спавна. Например на цилиндр. Просто значения вектора x и z нужно брать не от сечения сферы в sin(pitch), а от сечения экватора (т.е единичной окружности), т.е просто не домножать на радиус. Очевидно, длина такого вектора уже не будет равна 1 при pitch отличном от 0, если снаряды запускаются часто, это будет заметно (и кому-то может быть не очень приятно).
 
Последнее редактирование:

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
327
Начальное местоположение снаряда и скорость по каждой из осей это произведение координат точки на единичной полусфере взгляда игрока и какого-то коэффициента (в случае с местоположением - это насколько далеко снаряд будет спавниться от игрока, в случае со скоростью - это множитель скорости, для стрелы насколько знаю ещё и урона). Координаты точки на единичной полусфере с центром в (0;0;0), соответствующей взгляду игрока называются вектором взгляда.
Про то, как найти вектор взгляда написано тут (см. мои правки):
https://ruforum.mineland.net/threads/nedogajd-sinus-kosinus-vektor-vzgljada.1559/#post-9692

Если коэффициент местоположения снаряда недостаточно большой (сфера возможных точек пересекается с хитбоксом игрока), можно:
1) увеличить его, но есть вероятность того, что при pitch близком к 0, снаряд будет проходить через стену (спавниться за стеной) или через близко стоящую сущность.
2) ограничить pitch (min = -max, если pitch > max, pitch = max; если pitch < min, pitch = min)
3) изменить форму возможных точек спавна. Например на цилиндр. Просто значения вектора x и z нужно брать не от сечения сферы в sin(pitch), а от сечения экватора (т.е единичной окружности), т.е просто не домножать на радиус. Очевидно, длина такого вектора уже не будет равна 1 при pitch отличном от 0, если снаряды запускаются часто, это будет заметно (и кому-то может быть не очень приятно).
если честно - нифига не понятно, даже мне, довольно хорошему кодеру
 

astr34

Эксперт
Регистрация
16 Июл 2023
Сообщения
18
если честно - нифига не понятно, даже мне, довольно хорошему кодеру
Что тебе непонятно? Можешь конкретнее ткнуть? Если ты про то, как найти вектор, то понимание этого требует понимания основ тригонометрии: триг. окружности, синуса, косинуса.
 

Fordi

Новичок
Регистрация
3 Май 2023
Сообщения
34
Что тебе непонятно? Можешь конкретнее ткнуть? Если ты про то, как найти вектор, то понимание этого требует понимания основ тригонометрии: триг. окружности, синуса, косинуса.
Ты тот самый умный в классе.
 

astr34

Эксперт
Регистрация
16 Июл 2023
Сообщения
18
Ты тот самый умный в классе.
посмотри мой гайд, там всё подробно и с картинками, будет понятнее
Сообщение объединено:

 
Сверху