Правильность расчёта попадения снаряда

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

Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:11

Ребята, выручайте, всё облазил, толи я дурак толи лыжи не едут...

С самого начала разработки проекта у меня одна огромная проблема, которая просто ломает всю иггру:
прицеливание.

Всё никак не получается сделать так, чтобы снаряды летели в центр камеры.

Система такая: пушки смотрят в point рейкаста, который выпускается из центры камеры вперёд. Всё правильно, когда наводим на цель - пушки стреляют чётко. Но дело в том, что нужно часто стрелять наопережение, и тут..как бы луч не сталкивается ни с чем, и снаряды летят как попало. я пробовал решить эту проблему, расставив коллайдеры далеко со всех сторон, но тогда снаряды летят всё равно не туда..они летят к поинту , который был очень далеко, и в итоге всё равно приходится брать выше, т.к корабль относительно камеры находится внизу.

Вообщем самая проблема это в том, чтобы каким - то образом сделать так, чтоб снаряды прилетали именно туда, куда надо..

чорд! только что перечитав это всё, появилась мысль что так вообще невозможно сделать :D

помогите идеями , а скрипты я сам естественно адаптирую.
Просто реально уже фантазии не хватает, дошло до того, что я тупо увеличиваю коллайдеры у кораблей... :))
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение Volandpro 06 фев 2013, 12:16

А какой код задает направление луча?)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:21

Синтаксис:
Используется csharp
 
RaycastHit hit;
               

                               
                                                        Ray pre = new Ray(camera.position,camera.forward);//пускаем луч из камеры вперед
       
               
                if(Physics.Raycast(pre, out hit)){//если луч столкнулся с чем - либо
               
                               
                        Debug.DrawLine(pre.origin, hit.point);
                                        if(hit.collider.gameObject.tag !="Player")//если столкнулись не с игроком
                                        target.position = hit.point;//таргет(объект на который направлены пушки) ставим в позицию поинта
                                       
                                //з.ы, знаю, что по - нубски, но я ведь всё равно стараюсь <img src="./images/smilies/4.gif" alt=":D" title="Гы" />
       
                        }
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение Volandpro 06 фев 2013, 12:24

то есть проблема в том, что при стрельбе на опережение луч не попадает в корабль? Или что луч не летит в центр экрана?
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:26

1 да, он не попадает.
2 как бы..он в центре экрана, но дело в том что таргет находится далеко от корабля, и получается что..он стреляет в центр но снаряды не летят в корабль, а летят к точке которая далеко за кораблём, в итоге мы получаем что они пролетают ниже.

з.ы, хотел сделать вообще вид с кабины корабля, но прикинул, и решил что для мультиплеера это не то...хотя..не знаю.
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:27

есть ещё вариант сделать чтобы был коллайдер прикрепленный к камере, который находится на расстоянии выстрела пушки допустим. то есть он будет ближе, и возможно от этого погрешность уменьшится в разы. но перед таким решением всё таки хочу узнать ваши советы, может я вообще не туда рою..
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение Volandpro 06 фев 2013, 12:30

а если тогда просто пускать луч не в центр, а повыше?) К тому же при стрельбе на опережение мне кажется луч не прокатит - мы пальнули один раз, луч появился и исчез, и только потом корабль прилетел туда. Соответственно столкновения с лучом не будет) Может делать не через луч?)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:34

эм нне, дело в том что стрельба то лазерами. тобишь как в X - сгусток энергии летит с определенной скоростью. для этого и нужно стрелять на опережение, ибо снаряду нужно время чтоб долететь.
А летят они туда, куда направлены пушки.
А пушки напревлены на объект target.
А target принимает позицию этого самого Pointa рейкаста.

ппц , наверно я один так делаю..:D
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение Volandpro 06 фев 2013, 12:36

ух какая то жесть) я бы просто создавал гейм обжект как снаряд и при попадании отнимал хп) И никаких проблем со стрельбой на опережение)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:36

Может прицел сделать как 3D объект и менять его положение :D
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение Volandpro 06 фев 2013, 12:42

сделал бы как в freelancer и не парился) стреляем туда, где находится мышка)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 06 фев 2013, 12:53

ну а какая разница то? принцип тот же, просто мы задаем направление курсором. получается просто луч пускается из курсора вот и всё. а с поинтом ничего не меняется.
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение Volandpro 06 фев 2013, 13:06

Пускай луч повыше)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Правильность расчёта попадения снаряда

Сообщение KorsaiR 07 фев 2013, 07:09

не работает этот вариант..ещё кто - нибудь предложит идею?..
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Правильность расчёта попадения снаряда

Сообщение seaman 07 фев 2013, 07:22

Что-то я не до конца понял.
1.
стрельба то лазерами. тобишь как в X - сгусток энергии летит с определенной скоростью

Скорость лазера - скорость света. Считай бесконечность, т.е. долетит за 0 секунд. Видимо все же не лазером, а, например, плазмой.
2.
летят они туда, куда направлены пушки.

Т.е. - поворачиваешь пушку - уже вылетевшие сгустки плазмы меняют направление полета? Своего рода "управляемые снаряды"? Или все же вылетают в направлении пушки, а дальше летят по инерции? Имхо - второе правильнее. Но тогда совсем не понятна проблема.
3.
пушки смотрят в point рейкаста

Т.е. у них самонаведение? Если нет - зачем вообще рейкаст?

Вообще - имхо нечетко расписано поведение пушек/снарядов. Оттого и проблема.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12