[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Вопросы
3dmaxДата: Понедельник, 27.04.2009, 13:12 | Сообщение # 256
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
надо что-то придумать, или прийдется баунды дополнительно делать.
 
3dmaxДата: Понедельник, 27.04.2009, 13:18 | Сообщение # 257
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
потихоньку буду разбирать твой скриптик.
а почему:
if (self.envCollision.getNumEntries()>0):
if self.envCollision.getNumEntries()>1:
1-й больше 0, а 2-й больше 1 ? что это означает ? Или в Панденке это потом будет обсуждаться ?

А мож просто напишешь алгоритм ? happy
а то как то тупо использовать чужой кусочек кода sad

Сообщение отредактировал 3dmax - Понедельник, 27.04.2009, 13:45
 
3dmaxДата: Понедельник, 27.04.2009, 13:56 | Сообщение # 258
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
и еще надо бы разобраться как проверять не весь (render) а определенный узел, чтобы производительность улучшить, хотя еще не знаю как.
а то тут ФПС местами до 40 опускаються на средней тачке.
 
ninthДата: Понедельник, 27.04.2009, 14:15 | Сообщение # 259
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Попробую.
По первому вопросу - я просто делаю прверку, т.к. если коллизия одна, то ведёт он себя вполне корректно, если больше, то для снижения "колбашения" я делаю, если можно так назвать - "притяжение" к позиции до перемещения. Т.е. считаю вектор, смещаю персонажа, а затем подтягиваю его к старой позиции.

Алгоритм выглядит примерно следующим образом:
1 запоминаю позицияю
2 перемещается персонаж
3 вызывается traverse() для просчёта столкновений после перемещения
4 прохожу по всем вхождениям (entry), считаю вектор от точки вхождения к центру персонажа, складываю эти вектора
5 если коллизия одна, то просто масштабирую вектор на величину, на которую персонаж въехал в преграду и смещаю персонажа по этому вектору
6 если коллизий больше одной, то смещаю перса как и в п.5, но после этого считаю вектор от новой позиции к предыдущей запомненной и перемещаю его уже туда на 0.8 расстояния (как говорил выше - для снижения дрыганья в углах)

 
k0tДата: Среда, 29.04.2009, 19:23 | Сообщение # 260
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
Бодрое время суток.
Искал, не нашел - возможна ли проверка на коллизии с отдельными полигонами меша? Это раз =)
Два - можно ли текстурировать отдельные полигоны? Это не так важно, но интересно =)

Дело вот какое: имеется меш (может, ландшафт GeoMipTerrain). Оной будет впоследствии разлинован на квадраты, возможно - гексы, что несколько сложнее. Нужно по клику мыши выбирать нужный квадрат/гекс.
Пока писал, пришла мысль реализовать сие непотребство более адекватно - по идее, можно по клику мыши определить, в какую точку на меше (по координатам х и у, высота не нужна) ты тыкнул?

 
RerzezДата: Среда, 29.04.2009, 21:42 | Сообщение # 261
Рядовой
Группа: Пользователи
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
Доброго времени суток,пандийцы.В вашем полку прибыло.Прошу любить и жаловать.
Уже давным-давно выношу идею создания собственный игры.
Но увы и ах,я неплохой художник,а вот как программист-0.
Придёться учиться,к чему я наконец могу с удовольствием приступить.В связи с этим хочеться знать следующие.
Хотелось бы создать игру в которой большой обширный мир представляет из себя химеру,в котором все или почти объекты постоянно с меньшей или большей активностью перетикают в друг друга,изменяються,исезают и возникают снова.Мир кстати будет называться Эрцоль;_)
1)Сколько у кого временя ушло на освоение панда+питон?
2)Действительно ли с помощью питона можно создать такой мир и без всякого испольщзования с++?
Этого монстра программирования я ни когда не осилю,не потому что не хочу,просто нет столько свободного времени.
3)Хватит ли на такой мир мощностей движка.
4)Существуют ли какие-нибудь проблемы совместимости зд макс и панды?Краем глаза пару раз видел что-то-там-проблемы-какие-то-там у панды с зд макс.
Спасибо.Я очень буду ждать ответов.
 
ninthДата: Четверг, 30.04.2009, 02:46 | Сообщение # 262
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
k0t, посмотри стандартную демку Chessboard. Если коротко - то определять именно полигон не нерационально, хотя возможно. Стандартным способом является использование луча, при этом можно определить координаты пересечения луча с некоторой поверхностью, например тем же GeoMipTerrain, а по ним уже простой математикой посчитать какой это у тебя будет квадрат или хекс.

Rerzez
1 - х.з. питон я немного знал ещё до панды, а панду тут вряд ли кто-то может сказать, что освоил до конца )
2 - можно
3 - всё зависит от оптимизации. Если её не использовать, то даже на самом мега-коммерческом мега-быстром движке можно создать нереальные тормоза в простенькой игрушке.
4 - этого точно не могу сказать, так как сам использую Blender

 
k0tДата: Четверг, 30.04.2009, 09:01 | Сообщение # 263
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
В общем, понял, да. Буду копаться.
Но вот про второй вопрос - раскрасить часть меша можно? Чтобы сделать подсветку места, куда юнит может пойти, скажем?
На шахматной доске все просто - каждая клетка есть отдельный меш...
 
RerzezДата: Четверг, 30.04.2009, 09:46 | Сообщение # 264
Рядовой
Группа: Пользователи
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
ninth, спасибо за ответы.
Кто ещё может что-то сказать по поводу моих вопросов?

Добавлено (30.04.2009, 09:46)
---------------------------------------------
ninth, раз питон удобнее и в нём создавать быстрее чем на си-возникает резонный вопрос-почему программисты рыдая от облегчения не бегут в массовом порядке выкидывать си на свалку истории?

 
3dmaxДата: Четверг, 30.04.2009, 12:17 | Сообщение # 265
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
k0t это мультитектуринг smile
кажись панда это поддержует.
 
3dmaxДата: Четверг, 30.04.2009, 12:17 | Сообщение # 266
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
Rerzez добавить особо нечего.
 
3dmaxДата: Четверг, 30.04.2009, 13:57 | Сообщение # 267
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
Я хочу провести Краш-тест панды. Кароч:
сцена полигонов- дофига
актеры выполняют любые действия - побольше :).
Увидеть так сказать предел возможностей. Позапускать на разный тачках, кароч постестить.

Нету ни у кого ниче похожего, или сылочку ? wink

 
k0tДата: Четверг, 30.04.2009, 14:11 | Сообщение # 268
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
Ну мультитекстуринг-то панда поддерживает ))) Посмотрел... Но вот как именно организовать мои желания - я никак не могу разобраться. А это для меня важно wink
 
ninthДата: Четверг, 30.04.2009, 14:18 | Сообщение # 269
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
k0t, опять же нерационально (хотя и возможно) искать нужный полигон и (пере)определять его текстурные координаты, а в геотеррайне геометрия вообще создаётся динамически - ближе к камере - больше полигонов, дальше от камеры - геометрия упрощается. Подсветку места лучше делать вешая поверх ещё один полупрозрачный объект, либо если не устраивает, можно попробовать projected texture.

Rerzez, Причин много:
1. Для начала - все надстройки к питону, да и сам питон написаны на сях ) Пада, точнее её ядро в том числе. Т.е. к примеру, если тебе хватает возможностей, предоставляемых пандой, то си тебе не потребуются, а вот если вдруг захочется какую-нить мега плюшку привинтить, то придётся таки лезть в си
2. Питон - интерпретируемый язык, т.е. он не компилируется, а интерпретатор фактически разбирает и исполняет твой код на лету. Это означает, что для запуска своей программы на другом компе потребуется тащить туда и интерпретатор, т.е. объём конечного продукта достаточно сильно вырастает
3. Из пункта 2 следует ещё одно - достаточно легко получить исходник твоего кода. А многие трясутся за свои "уникальные" алгоритмы - абы кто не спёр да не попользовал.
4. Всё по той же причине интерпретируемости скорость выполнения кода на питоне, естественно ниже чем на си - здесь всё зависит от задачи, например свой физический или графический движок на питоне не напишешь так что б было приемлемое быстродействие, однако в нашем случае и то и другое уже имеется написанное на сях.
5. Питон не труЪ - настоящий труЪ программер должен писать на С++ и ассемблере, а ещё лучше - создать свой язык программирования)))

 
k0tДата: Четверг, 30.04.2009, 14:49 | Сообщение # 270
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
2ninth
Тогда просто попрошу совета.
Хрен с ними, клетками-гексами, это реализовать можно, но не так интересно smile
Как можно создать подсвеченную область, куда данный юнит может пойти? Именно смотря на Панду.
Конечно, можно проверять каждую точку, и подкрашивать ее, если удовлетворяет условиям... Мда ))) Боюсь, это слишком уж нерационально.
Тут объект-подсветку просто посложнее будет сделать...

или проще вернуться к идее клеток-гексов?

Сообщение отредактировал k0t - Четверг, 30.04.2009, 14:52
 
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Поиск: