Радужный ящик при запуске программы в 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, будет иметь приоритет над изменением состояния, которое вы делаете на узле модели, и изменение текстуры не будет выполнено.

Другие вопросы по тегам