Вопросы
|
|
ninth | Дата: Четверг, 02.04.2009, 17:35 | Сообщение # 211 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Я на форуме где-то уже разъяснял, поищи, а то лень заново писать ) Пушер - тип коллижн хэндлера. Ты как столкновение со стеной определяешь?
|
|
| |
3dmax | Дата: Четверг, 02.04.2009, 18:28 | Сообщение # 212 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| сферой определяю: Code cn = CollisionNode('') cn.addSolid(CollisionSphere(0,0,-2,1.5)) solid = avatar.attachNewNode(cn) self.pusher = CollisionHandlerPusher() base.cTrav.addCollider(solid,self.pusher) self.pusher.addCollider(solid,avatar, base.drive.node()) судя по последней строке использую пушер. И как мне сделать невидимые стенки двусторонними ? Можно ли упростить (меньше граней) сферу или вообще вместо нее кубик или цилиндр использовать?
|
|
| |
3dmax | Дата: Четверг, 02.04.2009, 18:33 | Сообщение # 213 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| и еще вопрос не по теме, как правильно пользоваться поиском а то я ввожу в поле поиска setFromCollideMask и оно не находит ничего, пишет что .... тем не обнаружено. А мне темы не нужны,я хочу сообщения.
|
|
| |
ninth | Дата: Четверг, 02.04.2009, 19:15 | Сообщение # 214 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Юкозовский поиск кривой - экономят ресурсы системы, поэтому ищут только по названиям. Юзай гугл примерно так setIntoCollideMask site:panda3d.org.ru Вот тема в которой обсуждалось http://panda3d.org.ru/forum/5-13-1 Для пушера придётся делать два бордюра, т.к. он ориентируется на нормаль поверхности с которой коллидится, а нормаль может быть только одна, поэтому делай дубликат бордюра и инвертируй нормали
|
|
| |
3dmax | Дата: Четверг, 02.04.2009, 20:11 | Сообщение # 215 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| 1.а что надо использовать вместо пушера чтобы ориентироваться не на нормали ? 2.Можно ли упростить (меньше граней) сферу или вообще вместо нее кубик или цилиндр использовать?
|
|
| |
ninth | Дата: Четверг, 02.04.2009, 21:26 | Сообщение # 216 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Можно использовать другие типы - обработка вручную или событийный (тоже обрабатывать столкновения вручную придётся), однако, ИМХО, проще сделать дубликат бордюра с инверсией нормалей. Сфера математическая, в ней грани отсутствуют - самый простой объект для проверки. Вообще типы - сфера, туба, плоскость, полигон, луч, прямая, отрезок з.ы попробуй для всех своих статических объектов поставить setFromCollideMask(BitMask32.allOff())
|
|
| |
BlackCat | Дата: Четверг, 02.04.2009, 23:07 | Сообщение # 217 |
Подполковник
Группа: Проверенные
Сообщений: 144
Награды: 0
Репутация: 1
Статус: Offline
| А по-моему еще стоит сделать следующее. Это мною в своё время было почерпано с гейм-дев-ру. Таки вместо того, чтобы коллидить САМ забор стоит коллидить прозрачную плоскость из двух полигонов, стоящую посреди забора. Т.е. коллид просчитывается только для 2-х полигонов, а не для целой пачки. А чтобы с двух сторон - так ить две плоскости поставить с разнонаправленными нормалями. Но такое прокатывает только если нет желания разрушать забор. Зато работает быстро и качественно. Либо коллидить только часть забора. Например верхнюю балку. При этом забор должен быть таким, чтобы перс не мог под него подлезть. Тогда тоже станет быстрее. Но через забор при этом можно будет нормально перепрыгнуть.
http://alphahole.do.am - версия 0.015 вышла 22.02.10
|
|
| |
3dmax | Дата: Четверг, 02.04.2009, 23:16 | Сообщение # 218 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| Да BlackCat, это все уже было сказано раньше, я так уже делаю, канех хотелось чтобы было как в продвинутых движках сами объекты и были баундами (колизиями) ninth, а куда ты говоришь поставить setFromCollideMask(BitMask32.allOff()) ?? куда то в эти строчки ? Code ##### Сфера cn = CollisionNode('') cn.addSolid(CollisionSphere(0,0,-2,1.5)) solid = avatar.attachNewNode(cn) self.pusher = CollisionHandlerPusher() base.cTrav.addCollider(solid,self.pusher) self.pusher.addCollider(solid,avatar, base.drive.node())
|
|
| |
BlackCat | Дата: Пятница, 03.04.2009, 01:40 | Сообщение # 219 |
Подполковник
Группа: Проверенные
Сообщений: 144
Награды: 0
Репутация: 1
Статус: Offline
| У-у-у-у. Это ж ресурсы дюже приличные нужны на такое дело. Всякие там физические сопроцессоры и подобные приблуды от Интела и Нвидии.
http://alphahole.do.am - версия 0.015 вышла 22.02.10
|
|
| |
3dmax | Дата: Пятница, 03.04.2009, 03:32 | Сообщение # 220 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| вопрос тот что выше все еще актуален. И вот кое что еще, я сделал копию невидимого забора, инвертировал нормали, и должно было бы сработать, НО аблом , Теперь герой как проскальзует сквозь забор в обе сороны, вместо того чтобы запереть проход с обеих сторон эта невидимая штука начала пропускать с 2х сторон . А иногда если осторожненько подойти к забору -застряешь на середине и скочишь как тушканчик взад-вперед. Ток не говорите что теперь мне надо отодвинуть полигоны в стороны нормалей. мне это нравиться все меньше и меньше
|
|
| |
BlackCat | Дата: Пятница, 03.04.2009, 05:08 | Сообщение # 221 |
Подполковник
Группа: Проверенные
Сообщений: 144
Награды: 0
Репутация: 1
Статус: Offline
| Наверное с инвертированием нормалей глюки.
http://alphahole.do.am - версия 0.015 вышла 22.02.10
|
|
| |
ninth | Дата: Пятница, 03.04.2009, 21:19 | Сообщение # 222 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Соррь, фигню сморозил по поводу setFromCollideMask... на обычную геометрию она и так не применится... Мда... проблемка... похоже просто успевают задетектиться оба бордюра, поэтому такой косяк выходит. Если можешь, скинь всё вместе с уровнем и одиночным барьером попробую глянуть.
|
|
| |
3dmax | Дата: Суббота, 04.04.2009, 08:05 | Сообщение # 223 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| вот земля с забором и одиночным барьером.
|
|
| |
ninth | Дата: Суббота, 04.04.2009, 19:27 | Сообщение # 224 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Эм, а код? Я же хотел посмотреть как у тебя обрабатываются коллизии... Если хочешь, то на мыл ruPanda3d собака гмайл ком
|
|
| |
3dmax | Дата: Суббота, 04.04.2009, 20:40 | Сообщение # 225 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| все письмо отправил
|
|
| |