Raycast, rigidbody и стрельба в юнити!
|
|
robertono | Дата: Воскресенье, 29 Сентября 2013, 14:42 | Сообщение # 21 |
Чокнутый Кот
Сейчас нет на сайте
| А как можно сделать что бы при спавне объекта он смотрел прямо? Т.е. вот код которым я его спавню: Код GameObject spawnObj = Instantiate(bullet,pos,Quaternion.identity) as GameObject; Но он спавнится не так как должен Вертикально. Но когда стреляю вверх он смотрит вверх, т.е. вертикально как и должно быть. А как можно сделать что бы он когда стреляю прямо пуля была направлена тоже прямо?
|
|
| |
allods | Дата: Воскресенье, 29 Сентября 2013, 15:16 | Сообщение # 22 |
почти ветеран
Сейчас нет на сайте
| прямо куда смотрит перс? в Java var spawnObj = Instantiate(bullet, transform.position, transform.rotation); а если чтоб смотрел в свою сторону то var spawnObj = Instantiate(bullet, transform.position, bullet.rotation); ну а для C просто var поменятьДобавлено (29.09.2013, 15:16) --------------------------------------------- короче замени Quaternion.identity на transform.rotation или че там player.transform.rotation
|
|
| |
robertono | Дата: Воскресенье, 29 Сентября 2013, 16:22 | Сообщение # 23 |
Чокнутый Кот
Сейчас нет на сайте
| allods, бред это. Сами то проверяли? Добавлено (29.09.2013, 16:22) --------------------------------------------- allods, т.к. единственное что тут вращается это камера, делая cam.transform.rotation пуля всегда летит вертикальная, куда бы я не смотрел.
|
|
| |
allods | Дата: Воскресенье, 29 Сентября 2013, 16:46 | Сообщение # 24 |
почти ветеран
Сейчас нет на сайте
| Цитата (robertono) бред это. Сами то проверяли? Да проверял и использую, пуля повернута так же как и сам персонаж. В твоем случае сдесь камера, тебе надо вертеть саму пулю так как она по дефолту в плохом развароте, и по скрину я вообще нефига не понял где там пуляДобавлено (29.09.2013, 16:41) --------------------------------------------- Сам твой код по дефолту спавнит объект по позиции которую ты назначишь и по развороту которому ты назанчишю, ты я так пологаю спавниш эти пули всегда в одном развороте относительно камеры? или поворот пуль всегда один как бы ты не крутил камеру? Добавлено (29.09.2013, 16:46) --------------------------------------------- опиши проблему подробно, что занчит pos и чему ровно
|
|
| |
robertono | Дата: Воскресенье, 29 Сентября 2013, 20:47 | Сообщение # 25 |
Чокнутый Кот
Сейчас нет на сайте
| С этим я проблему вообщем решил, не буду говорить как потому что мучался долго. Сейчас появился другой вопрос. Есть объект (пуля) на котором есть capsule collider и rigidbody. Как можно отследить момент когда пуля до чего то коснулась, и получить объект к которому она прикоснулась в переменную GameObject и затем её удалить со сцены? Добавлено (29.09.2013, 20:44) --------------------------------------------- всмысле удалить пулю а не объект к которому прикоснулась Добавлено (29.09.2013, 20:47) --------------------------------------------- т.е. как отследить столкновение одного коллайдера с другим?
|
|
| |
SomeOneInTheMask | Дата: Воскресенье, 29 Сентября 2013, 21:00 | Сообщение # 26 |
Stranger
Сейчас нет на сайте
| Код Destroy(this.gameObject);//так можно уничтожить пулю))
Код
RaycastHit hit=new RaycastHit (); if(Physics.Raycast(transform.position,transform.forward,out hit,1f)){ GameObject obj = hit.collider.gameObject;//объект с которым столкнулась пуля }
но пули нужно поместить на слой Ignore Raycast есть еще вариант с колайдерами но он по урок нужно выложить (там полный озбор), сейчас есть только старая версия
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
Сообщение отредактировал SomeOneInTheMask - Воскресенье, 29 Сентября 2013, 21:04 |
|
| |
robertono | Дата: Воскресенье, 29 Сентября 2013, 21:04 | Сообщение # 27 |
Чокнутый Кот
Сейчас нет на сайте
| SomeOneInTheMask, и на что это вешается? на пулю?
|
|
| |
SomeOneInTheMask | Дата: Воскресенье, 29 Сентября 2013, 21:37 | Сообщение # 28 |
Stranger
Сейчас нет на сайте
| Цитата (robertono) SomeOneInTheMask, и на что это вешается? на пулю? да на пулю, я же кидал вроде ссылку на урок про это....
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
|
|
| |
allods | Дата: Воскресенье, 29 Сентября 2013, 21:38 | Сообщение # 29 |
почти ветеран
Сейчас нет на сайте
| Удалять будешь пулю, рейкаст кидать из пули, так что на пулю
|
|
| |
SomeOneInTheMask | Дата: Воскресенье, 29 Сентября 2013, 23:08 | Сообщение # 30 |
Stranger
Сейчас нет на сайте
| Цитата (allods) Удалять будешь пулю, рейкаст кидать из пули, так что на пулю Добавлено (29.09.2013, 23:08) --------------------------------------------- во это мой урок там я рассказал про триггеры в функции столкновения пишешь
Код { Destroy(this.gameObject); GameObject obj = collider.gameObject;//объект с которым столкнулась пуля }
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
|
|
| |
robertono | Дата: Понедельник, 30 Сентября 2013, 18:08 | Сообщение # 31 |
Чокнутый Кот
Сейчас нет на сайте
| SomeOneInTheMask, спасибо, думаю это как раз то что мне нужно. А когда коллайдер is trigger, то он всё равно проходимый ?
|
|
| |
zaicev9797 | Дата: Понедельник, 30 Сентября 2013, 22:02 | Сообщение # 32 |
AbRaKaDaBrA
Сейчас нет на сайте
| да
проект Mysterious Space. The losted moment
|
|
| |
robertono | Дата: Понедельник, 30 Сентября 2013, 22:15 | Сообщение # 33 |
Чокнутый Кот
Сейчас нет на сайте
| zaicev9797, точнее, неправильно задал вопрос.. Вообщем когда is trigger - true то тогда коллайдер уже не выполняет свою функцию делать объект твёрдым, а делается проходимым?
|
|
| |
zaicev9797 | Дата: Понедельник, 30 Сентября 2013, 22:26 | Сообщение # 34 |
AbRaKaDaBrA
Сейчас нет на сайте
| да я так и понял Добавлено (30.09.2013, 22:26) --------------------------------------------- т. е. тригер реагирует на его посещение (в этот момент можно комунить команду отдать или вывести чтото на экран), но он не твердый (не физ- е тело)
проект Mysterious Space. The losted moment
|
|
| |