Пятница, 29 Марта 2024, 12:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Про Raycast
Про 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-ами?

Это зависит от кучи мелочей - хочешь ли ты делать врагов только кубами, или чем-то более сложным, будет ли размер врагов существенно отличаться, хочешь ли ты частичное обнаружение только по горизонтали, или по вертикали тоже, ну и т.д..


Когда-то тут будут ссылки на крутые проекты. Или нет.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Про Raycast
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг