[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Вопросы
Dimon3DДата: Суббота, 14.03.2009, 17:12 | Сообщение # 151
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Что-то у меня не получается использовать методы findAllMatches, getNumPaths для Actor. При выполнений getNumPaths с именем какого либо узла модели, выдается ноль.

Вообще я хочу получить список костей модели, данные которого можно будет использовать в программе (общее кол-во, порядковый номер, child's и т.п.х...)

 
ninthДата: Воскресенье, 15.03.2009, 19:53 | Сообщение # 152
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Обрабатывается так же как нажатие клавиш, в качестве событий wheel_up и wheel_down
 
3dmaxДата: Понедельник, 16.03.2009, 03:10 | Сообщение # 153
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
Почему когда меняю дистанцию камеры base.camera.setY()
она отъезжает и наезжает не по прямой а по какой-то касательной большого радиуса?(на картинке)
Что можем быть не так ?
Прикрепления: 4955702.jpg (6.5 Kb)
 
ninthДата: Вторник, 17.03.2009, 01:34 | Сообщение # 154
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Ну. это к экстрасенсам ))) Как я могу сказать не видя кода? ) А вообще посмотри в ветке примеров - там у меня в примере с камерой реализована возможность изменения дистанции колесом мыши
 
3dmaxДата: Вторник, 17.03.2009, 02:10 | Сообщение # 155
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
та вроде все понятно. ну кароч вот все тут.
Функция Scrol на 217 строке вызываеться на 305
надеюсь happy в моем скрипте всн будет понятно.
Прикрепления: 8613985.zip (485.1 Kb)
 
ninthДата: Вторник, 17.03.2009, 03:11 | Сообщение # 156
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Похоже проблема в строке 292
camCenter.setP(base.camera.getY()+self.NY*self.sens) #поворачиваем ВЕРТИКАЛЬНО camCenter к которой прикреплена наша камера

у тебя поворот зависит от Y камеры, соответствено, когда ты меняешь Y, то меняется и угол.

А по поводу поиска костей посмотри статью 2 об анимации, там есть прикрепление к костям

 
3dmaxДата: Вторник, 17.03.2009, 04:20 | Сообщение # 157
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
ООО большущее спасибо biggrin !!! Ты мега-крут !!
 
ninthДата: Вторник, 17.03.2009, 17:24 | Сообщение # 158
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Да не за что )
 
Dimon3DДата: Среда, 18.03.2009, 18:00 | Сообщение # 159
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Есть такой вопрос.
Я хотел создать класс на основе NodePath:

class dynamicNode(NodePath):
def __init__(self, model):
self.setName('dynNode')
self.model = model
self.createDynamicModel()

def createDynamicModel(self):
....

Но после присвоения и вызова reparentTo:

dn = dynamicNode(model)
dn.reparentTo(render)

на экране пусто ???

 
ninthДата: Среда, 18.03.2009, 18:24 | Сообщение # 160
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
У тебя модель аттачится к ноду? А то репарентом ты вешаешь на рендер сам нод, а модель является всего лишь дополнительным свойством и из показанного куска не видно парентится она куда-нить или нет.
 
Dimon3DДата: Среда, 18.03.2009, 18:30 | Сообщение # 161
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Модель присоединяется методом attachNewNode

def createDynamicModel(self):
self.attachNewNode(self.model)
...

 
ninthДата: Четверг, 19.03.2009, 07:27 | Сообщение # 162
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Попробуй self.model.reparentTo(self)
 
Dimon3DДата: Четверг, 19.03.2009, 16:20 | Сообщение # 163
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
на это он ругается:

TypeError: NodePath.reparentTo() argument 1 must be NodePath, not dynamicNode

 
3dmaxДата: Воскресенье, 22.03.2009, 22:56 | Сообщение # 164
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
1. Экспортнул с альфой обьект (забор). Получилось что задний полигон виден первее переднего.(прикрепил файл) Как избавиться от этого глюка. В блендере все нормально выглядит.
2. Как прописать колизии для многих объектов? Не буду же я в egg файле для каждого объекта прописывать.
Прикрепления: 0606637.jpg (44.8 Kb)
 
ninthДата: Понедельник, 23.03.2009, 20:38 | Сообщение # 165
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Dimon3D, а reparentTo(self.node())
3dmax, 1 - ты случаем не зеркалил его? Тут два варианта - либо что-то с нормалями, либо с z-тестом. Попробуй инвертировать нормали и экспортнуть так. Как оно выглядит в просмотрщике?
2 - Так ведь только недавно разбирали как в блендере прописать коллизии http://panda3d.org.ru/forum/9-30-2
 
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Поиск: