Лазер летит не в центр экрана

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

Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 18:01

Из laser_pivot создается gameobject laser, и через transform.translate(_camera.forward) должен лететь в центр экрана, но летит то в центр, то не понятно куда. Как это пофиксить? Понял в чем ошибка, но как сделать что б работало, не знаю.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение 1max1 05 сен 2018, 18:08

transform.position = (_camera.position + _camera.forward)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 18:15

Лазер теперь летит назад, и не понятно летит ли он зеркально (-_camera.forward)
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение 1max1 05 сен 2018, 18:26

Что в твоем понимании лазер? это пулька типа? Создал пульку в точке позиции камеры, приравнял ее форвард (tr.forw = cam.frw) к форварду камеры и в отдельном скрипте, который висит на пульке двигаешь ее в этом же направлении (tr.pos += tr.frw * speed * deltatime)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 18:42

1max1 писал(а):Что в твоем понимании лазер? это пулька типа? Создал пульку в точке позиции камеры, приравнял ее форвард (tr.forw = cam.frw) к форварду камеры и в отдельном скрипте, который висит на пульке двигаешь ее в этом же направлении (tr.pos += tr.frw * speed * deltatime)


Да, но ведь весь смысл был в визуализации трейла (лазера), будет очень нелепо если он пойдет не из оружия, а прямо из камеры.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение 1max1 05 сен 2018, 18:46

ну делай из оружия, только форвард уже надо под оружие подстраивать а не под камеру
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 18:55

Тогда лазер будет лететь не в центр экрана (где дырки от выстрелов), а влево.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение waruiyume 05 сен 2018, 19:02

1 Выпускайте снаряд из камеры, но начинайте его рисовать только когда от будет находиться за дулом +небольшое пространство.
2 Выпускайте из ствола и постепенно перемешайте его на линию идущую вдоль камеры.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 19:18

waruiyume писал(а):1 Выпускайте снаряд из камеры, но начинайте его рисовать только когда от будет находиться за дулом +небольшое пространство.
2 Выпускайте из ствола и постепенно перемешайте его на линию идущую вдоль камеры.


Как имея 2 вектора (cam_forward & pivot_forward ) и 2 точки (cam_pos & pivot_pos) получить вектор (direction) от pivot'а до .. "никакой точки", ведь есть только направления. Одно дело если бы точка назначения была, тогда бы можно было вычесть точку назначения от точки старта и было бы направление, но увы, тут только 2 направления. Можно ли создать точку если нету hit'a? Думаю нет, хотя при его отстуствии можно создать пустышку (cam_.pos +
cam_forward * range) и указать ее как конечную точку. Да, наверное так и попробую.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение 1max1 05 сен 2018, 19:21

HAYT писал(а):
waruiyume писал(а):1 Выпускайте снаряд из камеры, но начинайте его рисовать только когда от будет находиться за дулом +небольшое пространство.
2 Выпускайте из ствола и постепенно перемешайте его на линию идущую вдоль камеры.


Как имея 2 вектора (cam_forward & pivot_forward ) и 2 точки (cam_pos & pivot_pos) получить вектор (direction) от pivot'а до .. "никакой точки", ведь есть только направления. Одно дело если бы точка назначения была, тогда бы можно было вычесть точку назначения от точки старта и было бы направление, но увы, тут только 2 направления. Можно ли создать точку если нету hit'a? Думаю нет, хотя при его отстуствии можно создать пустышку (cam_.pos +
cam_forward * range) и указать ее как конечную точку. Да, наверное так и попробую.


А если пульнуть рейкастом из камеры и определить конечную точку таким образом?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 19:25

При стрельбе и попадании можно юзать hit.point, но если игрок ни попал? Лазер стреляет в любом случае.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение 1max1 05 сен 2018, 19:33

если не попал делаешь точку forward * 10000 к примеру, она будет очень далеко и будет по прямой линии
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Лазер летит не в центр экрана

Сообщение HAYT 05 сен 2018, 19:42

Мысль вроде и светлая, но лазер искаженный.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41

Re: Лазер летит не в центр экрана

Сообщение HAYT 06 сен 2018, 18:00

Если laser point прямо по отношению к hit'у, тогда все ок, иначе лазер сильно уходит в ту сторону, в которую смотришь.
HAYT
UNец
 
Сообщения: 30
Зарегистрирован: 25 мар 2018, 21:41


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 25