видимость в изометрии
|
|
vicmad | Дата: Среда, 29 Августа 2012, 17:15 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Здрасти. Очень хочу создать видимость персонажей в изометрической стратегии, ну чтоб как в УФО если перс смотрит на противника того видно, если невидно (например враг за стеной) врага не видно. Помогите какиминубудь ссылками по данной проблеме.
|
|
| |
Марс | Дата: Среда, 29 Августа 2012, 17:20 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| По изометрии есть только материал рисования зданий и тайлов. Про персов я ничего подобного не встречал.
|
|
| |
Lariay | Дата: Среда, 29 Августа 2012, 17:21 | Сообщение # 3 |
FireCat
Сейчас нет на сайте
| Создай невидимый угол обзора и прикрепи его к спрайту и чтобы он вращался вместе со спрайтом. Так же не отрисовывай спрайты врагов до тех пор, пока объект врага не пересекается с линией обзора.
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
|
|
| |
AndyLy | Дата: Среда, 29 Августа 2012, 18:28 | Сообщение # 4 |
участник
Сейчас нет на сайте
| Quote Создай невидимый угол обзора и прикрепи его к спрайту и чтобы он вращался вместе со спрайтом. Так же не отрисовывай спрайты врагов до тех пор, пока объект врага не пересекается с линией обзора.
Да, только не забудь, что тебе нужно будет проверить все объекты на линии взгляда, чтобы узнать не заслоняют ли они объект.
Мой форум "Шахтеры космоса" SM strategy: Foundation (Ogre). Game video
|
|
| |
Lariay | Дата: Среда, 29 Августа 2012, 18:43 | Сообщение # 5 |
FireCat
Сейчас нет на сайте
| Quote (AndyLy) Да, только не забудь, что тебе нужно будет проверить все объекты на линии взгляда, чтобы узнать не заслоняют ли они объект. Реализовать примерно так же, как динамические тени. http://www.youtube.com/watch?v=uH2JnOpf_E4
Только вместо теней будет мертвая зона, где не рисуются спрайты врагов.
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
|
|
| |
vicmad | Дата: Среда, 29 Августа 2012, 20:17 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Мдя, мне кажется это как-то сложно все, и почему-то думается мне что в Х-сом это все было реализовано как-то попроще. Так у меня поле 20 на 20, в точке 10,10 стоит перс, радиус его обзора 5 клеток, враг в стоит в 4х клетках а перед врагом стена. Мне кажеться что тут нужно что-то типа волнового алгоритма для проверки соседних клеток на видимость, типа клетка 0 с высотой 1, рядом клетка 1 с такойже высотой => содержимое клетки видно отлично, если высота выше, то видимость содержимого клетки падает, ниже наоборот повышается. Мож как-то так реализовать можно??? А то динамические тени для меня что Китайский, знаю только что они есть.
|
|
| |
Lariay | Дата: Среда, 29 Августа 2012, 20:32 | Сообщение # 7 |
FireCat
Сейчас нет на сайте
| Я тебе предложил простой способ. Вспомни игру командос. У вражеских солдат тоже был конусообразный радиус обзора. Реализовано там было так же. Вот пример. http://youtu.be/ilUPgeDTMyo?t=1m33s
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
|
|
| |
vicmad | Дата: Среда, 29 Августа 2012, 20:46 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Lariay, интересно как они этот треугольник рисовали
|
|
| |
AndyLy | Дата: Среда, 29 Августа 2012, 22:01 | Сообщение # 9 |
участник
Сейчас нет на сайте
| vicmad, Ты в правильном направлении думаешь. Все делается гораздо проще, не надо экскаватором копать картошку. У тебя есть линия взгляда, в цикле проверяй по этой линии клетки находящиеся на ней: если на на клетке стена-все прерывай цикл. Размер цикла- дальность "видения" героя". Насчет угла: у тебя есть угол обзора, получаешь угол между героем и целью и сравниваешь с углом обзора- если угол попадает в диапазон угла обзора- ты видишь цель. Например герой смотрит под углом 120 град., угол обзора 90 гр., если угол между героем и целью находится в диапазоне от 30 до 210 градусов- герой видит цель.
Мой форум "Шахтеры космоса" SM strategy: Foundation (Ogre). Game video
|
|
| |
Lariay | Дата: Среда, 29 Августа 2012, 22:58 | Сообщение # 10 |
FireCat
Сейчас нет на сайте
| Quote (AndyLy) Все делается гораздо проще, не надо экскаватором копать картошку. Интересно где копание картошки экскаватором? Обычная проверка слоя взгляда с объектом. Так делают нормальные люди. Сталкиваются\накладываются: visible=true.
В x-com было сделано примерно так же. Только углом обзора там выступали все клетки под углом 90 градусов.
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
Сообщение отредактировал Lariay - Среда, 29 Августа 2012, 23:01 |
|
| |
vicmad | Дата: Среда, 29 Августа 2012, 22:58 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Ох и тяжко мне без тригонометрии и уроков по моей теме, а в школу идти поздно, вот млин.
|
|
| |
AndyLy | Дата: Среда, 29 Августа 2012, 23:07 | Сообщение # 12 |
участник
Сейчас нет на сайте
| Quote Обычная проверка слоя взгляда с объектом. Так делают нормальные люди. Сталкиваются\накладываются: visible=true. Вы что какой-то движок или конструктор обсуждаете? А чего тема в Бейсике? Я написал как самому кодить.
Мой форум "Шахтеры космоса" SM strategy: Foundation (Ogre). Game video
|
|
| |
Lariay | Дата: Среда, 29 Августа 2012, 23:08 | Сообщение # 13 |
FireCat
Сейчас нет на сайте
| Делай просто конусообразный обзор и создавай объекты с параметром к примеру "non-visible" и если этот объект пересекается с обзором, то вычитай из обзора часть по ширине объекта. А с монстрами совсем все просто. Объект монстр если пересекается с обзором, то рисуется его спрайт.
Как-то так.
Quote (AndyLy) Вы что какой-то движок или конструктор обсуждаете? А чего тема в Бейсике? Я написал как самому кодить. Способ реализации везде одинаковый будет.
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
Сообщение отредактировал Lariay - Среда, 29 Августа 2012, 23:09 |
|
| |
AndyLy | Дата: Среда, 29 Августа 2012, 23:31 | Сообщение # 14 |
участник
Сейчас нет на сайте
| Ну раз уж начал, то помогай до конца, поскольку ТС Quote Ох и тяжко мне без тригонометрии и уроков по моей теме, а в школу идти поздно, вот млин. . Напиши алгоритм с формулами расчетов. Да и мне интересно, может твой способ действительно лучше моего, глядишь воспользуюсь (это не сарказм ).
Мой форум "Шахтеры космоса" SM strategy: Foundation (Ogre). Game video
|
|
| |
Lariay | Дата: Среда, 29 Августа 2012, 23:40 | Сообщение # 15 |
FireCat
Сейчас нет на сайте
| Я ж написал основы. Вы же должны уметь делать фонарь + темноту? На основе этого так же делается обзор. Сквозь "Твердые" спрайты "обзор" не проходит.
Я для написания алгоритма с формулами расчетов в данный момент слишком занят. На крайний случай, ТС может спросить на геймдев.ру в разделе Программирование->2d графика и изометрия. Я не удивлюсь, если там уже были такие темы. Поискать просто надо.
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
|
|
| |
vicmad | Дата: Четверг, 30 Августа 2012, 00:12 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| Да, точно, полажу там на том форуме, найду какиенить формулы, выложу сюда.
|
|
| |