Про Raycast
|
|
DantorS | Дата: Вторник, 25 Февраля 2014, 22:31 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| К примеру, есть камера и куб. У куба есть анимация. От камеры испускается луч. Как сделать: если камера видит 100% куба то запускается скрипт 1, если 50% скрипт 2, если меньше то ничего не происходит. Добавлено (25.02.2014, 22:30) --------------------------------------------- Конечно можно, впринципе запустить штук десть raycast-ов, и если 10 из них поймали объект, то запускается скрипт 1, если 5 то запускается скрипт 2, и т.д. Добавлено (25.02.2014, 22:31) --------------------------------------------- Но какие еще варианты?
|
|
| |
robertono | Дата: Среда, 26 Февраля 2014, 01:05 | Сообщение # 2 |
Чокнутый Кот
Сейчас нет на сайте
| DantorS, Если такой куб только один или максимум 10 - можно как ты сказал лучами.
|
|
| |
DantorS | Дата: Среда, 26 Февраля 2014, 01:32 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| ??? че то не понял. Мне же нужно определить какую часть видит камера (50% куба, 100% куба, 0% куба)
|
|
| |
robertono | Дата: Среда, 26 Февраля 2014, 20:08 | Сообщение # 4 |
Чокнутый Кот
Сейчас нет на сайте
| DantorS, ты вроде сам ответил на свой вопрос Добавлено (26.02.2014, 20:08) ---------------------------------------------
Цитата DantorS ( ) Конечно можно, впринципе запустить штук десть raycast-ов, и если 10 из них поймали объект, то запускается скрипт 1, если 5 то запускается скрипт 2, и т.д.
|
|
| |
NEBR | Дата: Среда, 26 Февраля 2014, 20:30 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| DantorS, Если камера статичная, то не лучше ли привязать запуск нужных тебе скриптов к анимации движения куба?
King Size #Gamiron12
|
|
| |
DantorS | Дата: Среда, 26 Февраля 2014, 21:20 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Вы все сговорились и принципиально не желаете отвечать на мой вопрос? Вы все уходите от ответа. Вопрос был простой: есть какие-нибудь еще варианты. 1. Да, есть сейчас расскажу про этот вариант. 2. Да, есть, но мои знания стоят денег. 3. Блин, незнаю. 4. Мне тупо лень что-то писать. 5. Нет вариантов больше нет, только так. Я уверен в этом на все 100. 6. Езжай в америку, пристваь нож к главному разработчику unity и под страхом смерти он тебе сто пудов ответит. Можно выбрать что-нибудь из этого?
|
|
| |
robertono | Дата: Среда, 26 Февраля 2014, 23:04 | Сообщение # 7 |
Чокнутый Кот
Сейчас нет на сайте
| DantorS, твой вопрос, что то из раздела олимпиад которые проводятся у меня в школе: куб весит 1 кг а его скорость 2 км/ч. Сколько весит марс?
Мы не можем ответить на твой вопрос потому , что ты не можешь его нормально задать. Простого вопроса не достаточно. Откуда я знаю сколько у тебя таких кубов, будет ли двигаться камера? Как часто нужно будет запускать этот скрипт? Каждый кадр или только один раз ? Чего ты ждешь я не понимаю?
Сообщение отредактировал robertono - Среда, 26 Февраля 2014, 23:05 |
|
| |
Storm54 | Дата: Среда, 26 Февраля 2014, 23:08 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Попробуй использовать метод CapsuleCast
|
|
| |
DantorS | Дата: Четверг, 27 Февраля 2014, 01:03 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| Цитата Storm54 ( ) Попробуй использовать метод CapsuleCast Я этот метод не использовал, но это же обычный raycast только не в виде прямой, а в виде капсулы. Разве нет? Как это поможет в моем вопросе?
|
|
| |
Storm54 | Дата: Четверг, 27 Февраля 2014, 06:31 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Просто не нужно будет пускать много лучей. Достаточно будет пустить две-три капсулы разного размера.
|
|
| |
DantorS | Дата: Четверг, 27 Февраля 2014, 06:39 | Сообщение # 11 |
заслуженный участник
Сейчас нет на сайте
| А как это связано с моим вопросом (проценты)?
|
|
| |
Storm54 | Дата: Четверг, 27 Февраля 2014, 10:04 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Значит делай лучами. На самом деле мне не понятно, зачем искать процентное соотношение видимой части от общей площади куба. Хотелось бы услышать задачу, возможно, есть и более элегантные решения.
|
|
| |
DantorS | Дата: Вторник, 11 Марта 2014, 04:31 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| не обязательно процентную. Тут суть дела не в процентах а в частях. Если видит половину 3d модели то - тото, если всю модель то - тото. Добавлено (11.03.2014, 04:31) --------------------------------------------- Какие ещё варианты? Я просто делаю ИИ, конкретней - реакцию. Но если делать таймером - получается как-то не очень. Поэтому и пытаюсь создать эту "область видимости".
|
|
| |
lentinant | Дата: Вторник, 11 Марта 2014, 08:16 | Сообщение # 14 |
ленивый программист
Сейчас нет на сайте
| Как насчет "конуса зрения"? То есть, сравнивать угол между направлением зрения и объектом, и смотреть, насколько сильно он отличается от угла поля зрения персонажа.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
shizofren | Дата: Вторник, 11 Марта 2014, 11:34 | Сообщение # 15 |
Starting MS-DOS...
Сейчас нет на сайте
| Цитата DantorS ( ) К примеру, есть камера и куб. У куба есть анимация. От камеры испускается луч. Как сделать: если камера видит 100% куба то запускается скрипт 1, если 50% скрипт 2, если меньше то ничего не происходит. Можно сделать 16 фейсов, (один куб, но восемь разных геймобжекта с разными именами) и два луча из центра камеры, которые направляются с разницей в 90 градусов, то есть 45 градусов влево и вправо. Если два луча одновременно соприкасаются с частями куба - игрок видит целый куб, если же соприкасается только один луч и один фейс - логично, что игрок видит только половину куба. Выглядеть такой геймобжект будет где-то так:
Моя команда
|
|
| |
zaicev9797 | Дата: Вторник, 11 Марта 2014, 15:06 | Сообщение # 16 |
AbRaKaDaBrA
Сейчас нет на сайте
| мне кажется пускать несколько рейкастов гораздо разумнее чем лепить один обьект из нескольких
проект Mysterious Space. The losted moment
|
|
| |
DantorS | Дата: Вторник, 11 Марта 2014, 15:58 | Сообщение # 17 |
заслуженный участник
Сейчас нет на сайте
| Цитата lentinant ( ) То есть, сравнивать угол между направлением зрения и объектом, и смотреть, насколько сильно он отличается от угла поля зрения персонажа. Не совсем понял. Можешь пояснить. Какой угол?
|
|
| |
lentinant | Дата: Вторник, 11 Марта 2014, 16:06 | Сообщение # 18 |
ленивый программист
Сейчас нет на сайте
| Цитата DantorS ( ) Не совсем понял. Можешь пояснить. Какой угол? Угол между вектором, который идет от персонажа к цели, и направлением зрения персонажа. Ну а угол поля зрения - это уже общедоступное понятие. Получится, если полученный таким образом угол будет совпадать с углом поля зрения, то в идеале это будет означать, что объект попадает в поле зрения наполовину.
Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Вторник, 11 Марта 2014, 16:07 |
|
| |
DantorS | Дата: Вторник, 11 Марта 2014, 16:38 | Сообщение # 19 |
заслуженный участник
Сейчас нет на сайте
| А не проще вариант, указаныый в первом ссобщении: 10 raycast-ов. Они ведь не сильно тормозят систему? Да? Добавлено (11.03.2014, 16:35) --------------------------------------------- И вообще что лучше: делать поле зрение конусом или 10 raycast-ами? Добавлено (11.03.2014, 16:38) --------------------------------------------- У меня вообще сделан capsulecast-ом, размер которой равен высоте бота
|
|
| |
lentinant | Дата: Вторник, 11 Марта 2014, 16:48 | Сообщение # 20 |
ленивый программист
Сейчас нет на сайте
| Цитата DantorS ( ) И вообще что лучше: делать поле зрение конусом или 10 raycast-ами? Это зависит от кучи мелочей - хочешь ли ты делать врагов только кубами, или чем-то более сложным, будет ли размер врагов существенно отличаться, хочешь ли ты частичное обнаружение только по горизонтали, или по вертикали тоже, ну и т.д..
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |