Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Обработка скриптов сценария


Автор: ZC1989 3.9.2008, 12:06
вопрос не по коду а по теории, сматрите, вот обычная ситуация, ГГ на сцене, а так же есть несколько точек, как бы начал миссий или чего угодно, тоесть это облости, поместив героя в котороую запуститься какой то конкретный скрипт. на деле это как минимум точка и сфера вокруг, тоесть если центр героя поподает в облость, то начинаеться обработка, но ведь помимо мест запуска скриптов есть ещё куча объектов (ящики, всякий мусор...) и если от столкновения с объектом должно чтото изменяться, объект должен к примеру разломиться, тоесть изменяеться его 3Д модель...   отсюда вопрос:

как правильно отслеживать эти взаимодействия, проверять ли все объекты на сцене? но ведь их может быть очень много, если сцена большая, город, сколько в нём мусора...нельзя же каждый цикл проверять столкновения с такой кучей объектов? или так и есть?      ну и ещё вопрос, я применять буду ogre там кажеться есть построение дерева объектов, для отрисовки, а можно так же использовать это дерево для прощёта этих столкновений и взаимодействий?

Автор: arilou 4.9.2008, 23:19
ZC1989, расскажи немного, что ты делать собрался. ну т.е. вопрос понятен в принципе, но лучше начать с конкретного контекста обсуждать.

какой размер сцены? сколько объектов? какие виды реакции предполагаются? и т.п.

Автор: Rickert 5.9.2008, 03:00
ZC1989, я так понял вся проблема в том как уменьшить кол-во проверок попадания объекта в сферу? По сути.
Разбей всю сцену на секции. Пусть в каждой секции будут объекты. Очевидно, что надо проверять лишь объекты в одинаковых секциях.

Автор: ZC1989 5.9.2008, 07:08
ну первое что в проекте это демка, но суть такая, небольшая картак, вид от третьего лица, то есть нужно щитать столкновения героя со всем мусором...а для красоты двумя - тремя коробками не обойтись...нужно много всего, и разные анимации, разные реакции, тоесть ещё рендом не помешает, а это не просто так пощитать я понимаю...     размеры сцены, скорее всего большие, хотелось бы сделать без зон загрузки, я понимаю что даж в этом случае всё же в памяти не держат...это город, значит район примерно трёх - четырёх кварталов был бы наверна уместен...не оч много и не мало....             Rickert, разбить всё на секции заранее, или динамически?   
arilou, про кол-во объектов...ну примерно 100-200 в сцене


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

Автор: Rickert 5.9.2008, 14:26
ZC1989, конечно динамически. При инициализация объекты присваиваются каждой секции, а потом, при движение и переходе из одной секции в другую: вычёркиваются из списка первой и добавляются в список второй.

Автор: ZC1989 5.9.2008, 15:59
Rickert, слушай, а можно ведь изначально разделить всю карту на некие зоны...в рамках которой будут появляться объекты...тоесть скажем по району, каждый сектор...и пока гг в нём обрабатываеться он и прилежащие...ток же наверна можно и карту грузить, что бы без зон загрузок, хатя, ненаю почему мне кажеться динамический вариант более сложным...или так оно и есть? динамику сделать сложнее?

Автор: Dronchik 5.9.2008, 18:26
Для обработки с различным мусором я считаю что мона создать небольшой Box в центре которого ГГ,  бокс передвигаеться вместе с героем. Бокс ни с чем ни колизиться. Бокс не видим. Объекты, поподающие в бокс, обрабатываються. Если объект вне бокса, он не обрабатываеться. Вот такое моё мнение как делать это надо.

Автор: ksnk 5.9.2008, 18:51
Dronchik, А как-же едущие по городу по своим делам танки и взрывающиеся вертолеты? smile

Автор: Rickert 6.9.2008, 06:29
Цитата(ZC1989 @  5.9.2008,  15:59 Найти цитируемый пост)
Rickert, слушай, а можно ведь изначально разделить всю карту на некие зоны...в рамках которой будут появляться объекты...тоесть скажем по району, каждый сектор...и пока гг в нём обрабатываеться он и прилежащие...ток же наверна можно и карту грузить, что бы без зон загрузок, хатя, ненаю почему мне кажеться динамический вариант более сложным...или так оно и есть? динамику сделать сложнее? 

Динамика и статиска - это как 2d и 3d - разница по сложности ростёт по e. Динамика всегда сложнее. А то что вы предложили - это и есть то о чём я говорил.

Автор: ZC1989 6.9.2008, 13:50
Rickert, хехе)   дошло)  разделяю карты на зоны заранее, (для начала) те объекты что не взаимодействовали с героем, удаляються, а те что получили изменения положения или повреждены, но в силу каких то особенностей должны остаться, в какой нить дополнительный массив, и туда же можно и срок жизни этих поломанных объектов...(что бы они исчезли потом), хехе)))   пасибо )   

Автор: Dronchik 9.9.2008, 16:21
ksnk, а мы же говорим про взаимодействие предметов с героем а не а-лайф остольных персонажей smile 

Автор: ksnk 9.9.2008, 16:55
Dronchik, Моя реплика вообще-то "есть ли жизнь за кадром..." smile Если всё окружение состоит из бьющейся посуды и небьющихся стен, то жизни за кадром - нет. Если по городу, по сценарию, эпизодически ездит танк и эпизодически сносит электирические фонари, то есть и ее надо обсчитывать... В "зону обзора ГГ" такое уже не вписывается...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)