Пример #1
0
 def test_import_all_obj(self):
     tmp = self._get_tmp()
     for x in gather_files(self.root, filter='.obj'):
         try:
             converter = ObjConverter(tmp, x)
             converter.load_model()
             converter.brres.save(overwrite=True)
         except:
             print(f'ERROR importing {x}')
             raise
Пример #2
0
 def test_export_all_obj(self):
     tmp = self._get_tmp('.obj')
     for x in gather_files(self.root):
         try:
             converter = ObjConverter(Brres(x), tmp)
             for model in converter.brres.models:
                 converter.save_model(model)
         except:
             print(f'ERROR exporting {x}')
             raise
Пример #3
0
 def test_load_map_model(self):
     mdl_file = self._get_test_fname('map_model.obj')
     converter = ObjConverter(self._get_tmp('.brres'), mdl_file)
     converter.load_model()
     map_bone = converter.mdl0.bones[0]
     self.assertEqual('map', map_bone.name)
     pos_ld = map_bone.child
     self.assertEqual('posLD', pos_ld.name)
     pos_ru = pos_ld.next
     self.assertEqual('posRU', pos_ru.name)
     for poly in converter.mdl0.objects:
         self.assertEqual(map_bone, poly.linked_bone)
         self.assertEqual(map_bone, poly.visible_bone)
Пример #4
0
 def import_file(self, fname, brres_name=None, brres=None, mdl0=None):
     if mdl0 is not None:
         brres = mdl0.parent
     if not brres:
         if brres_name is not None:
             brres = self.get_brres_by_fname(brres_name)
         elif self.brres and os.path.splitext(os.path.basename(self.brres.name))[0] == \
                 os.path.splitext(os.path.basename(fname))[0]:
             brres = self.brres
     self.cwd, name = os.path.split(fname)
     base_name, ext = os.path.splitext(name)
     lower = ext.lower()
     if lower == '.dae':
         converter = DaeConverter2(brres, fname, mdl0=mdl0)
     elif lower == '.obj':
         converter = ObjConverter(brres, fname, mdl0=mdl0)
     # elif lower in ('.png', '.jpg', '.bmp', '.tga'):
     #     return self.import_texture(fname)
     else:
         self.statusBar().showMessage('Unknown extension {}'.format(ext))
         return
     # converter.load_model()
     # self.on_conversion_finish(converter)
     self.update_status('Added {} to queue...'.format(fname))
     self.lock_file(converter.brres)
     self.converter.enqueue(converter)
Пример #5
0
 def test_load_patch(self):
     original = self._get_brres('simple.brres')
     replace = original.models[0].objects[0]
     converter = ObjConverter(original,
                              self._get_test_fname('3ds_simple.obj'),
                              flags=ObjConverter.PATCH,
                              include=[replace.name],
                              ).convert()
     item = [x for x in converter.mdl0.objects if x.name == replace.name][0]
     self.assertIsNot(replace, item)
Пример #6
0
 def test_save_load_eq(self):
     original = self._get_brres('beginner_course.brres')
     converter = ObjConverter(original, self._get_tmp('.obj'),
                              encode=False).convert()
     encoder = ObjConverter(self._get_tmp('.brres'), converter.mdl_file).convert()
     self.assertTrue(CheckPositions.positions_equal(original.models[0].vertices, encoder.mdl0.vertices))