Радужный ящик при запуске программы в Panda3D с использованием VS2010
У меня возникла эта странная ошибка после того, как я начал пробовать "маскировку" (на полпути к упражнению, данному лектором). Лектор порекомендовал мне создать новое решение. Тем не менее, после принятия 3 решения, которые выдают ту же ошибку.
http://puu.sh/1foxu <- Изображение ошибки
http://pastebin.com/GPsLTjdm <- Pastebin для кода (используется pastebin, потому что Panda3D thingy чувствителен к отступам)
Спасибо!
1 ответ
Попробуйте переместить вашу блочную модель, прежде чем перевести ее в узел пули.
self.world.attachRigidBody(np.node())
model = loader.loadModel('models/box.egg')
model.setPos(-0.5,-0.5,-0.5) # <- Add this line
model.reparentTo(np)
Регулировка положения модели необходима, потому что формы маркеров предполагают, что центр модели является ее (0,0,0) координатами, но в большинстве случаев (0,0,0) фактически является границами модели.
РЕДАКТИРОВАТЬ:
Чтобы решить вашу проблему с текстурой, попробуйте:
model.setTexture(tex, 1)
...вместо...
model.setTexture(tex)
Фрагмент из руководства:
Обычно вы просто передаете 1 в качестве второго параметра в setTexture(). Без этого переопределения текстура, назначенная непосредственно на уровне Geom, будет иметь приоритет над изменением состояния, которое вы делаете на узле модели, и изменение текстуры не будет выполнено.