def run(self):
     # fo3 body path
     fo3_male = os.path.join(self.config.get("path", "fallout3"), "meshes",
                             "characters", "_male")
     # get skeleton
     # the skeleton.nif won't work because the bones
     # are not in bind position!!!
     #self.test(
     #    filename = os.path.join(fo3_male, "skeleton.nif"),
     #    config = dict(IMPORT_SKELETON=1,
     #                  IMPORT_ANIMATION=False))
     # instead, create a full body nif and import that as skeleton
     self.make_fo3_fullbody()
     self.test(filename='test/nif/fo3/skeleton.nif',
               config=dict(IMPORT_SKELETON=1, IMPORT_ANIMATION=False))
     # fallout 3 body
     self.test(filename=os.path.join(fo3_male, "femaleupperbody.nif"),
               config=dict(IMPORT_SKELETON=2,
                           IMPORT_TEXTURE_PATH=[
                               self.config.get("path", "fallout3")
                           ]),
               selection=['Scene Root'])
     self.test(filename='test/nif/fo3/_femaleupperbody.nif',
               config=dict(game='FALLOUT_3',
                           EXPORT_SMOOTHOBJECTSEAMS=True,
                           EXPORT_FLATTENSKIN=True),
               selection=['Scene Root'])
     # compare skindata
     toaster = NifToaster(spellclass=SpellCompareSkinData,
                          options=dict(
                              arg="test/nif/fo3/_femaleupperbody.nif",
                              verbose=99))
     toaster.toast(top=os.path.join(fo3_male, "femaleupperbody.nif"))
 def run(self):
     # champion armor
     cuirass_filename = os.path.join(self.config.get("path", "oblivion"), "meshes/armor/champion/m/cuirass.nif")
     self.test(filename=cuirass_filename)
     self.test(
         filename="test/nif/_cuirass.nif",
         config=dict(game="OBLIVION", EXPORT_SMOOTHOBJECTSEAMS=True, EXPORT_FLATTENSKIN=True),
         selection=["Scene Root"],
     )
     toaster = NifToaster(spellclass=SpellCompareSkinData, options=dict(arg="test/nif/_cuirass.nif", verbose=99))
     toaster.toast(top=cuirass_filename)
示例#3
0
 def run(self):
     # champion armor
     cuirass_filename = os.path.join(self.config.get("path", "oblivion"),
                                     'meshes/armor/champion/m/cuirass.nif')
     self.test(filename=cuirass_filename)
     self.test(filename='test/nif/_cuirass.nif',
               config=dict(game='OBLIVION',
                           EXPORT_SMOOTHOBJECTSEAMS=True,
                           EXPORT_FLATTENSKIN=True),
               selection=['Scene Root'])
     toaster = NifToaster(spellclass=SpellCompareSkinData,
                          options=dict(arg="test/nif/_cuirass.nif",
                                       verbose=99))
     toaster.toast(top=cuirass_filename)
    def run(self):
        # morrowind creature
        mw_babelfish = os.path.join(
            self.config.get("path", "morrowind"),
            "meshes", "r", "babelfish.nif")
        self.test(filename = mw_babelfish)
        self.test(
            filename = 'test/nif/_babelfish.nif',
            config = dict(
                game = 'MORROWIND',
                EXPORT_STRIPIFY = False, EXPORT_SKINPARTITION = False),
            selection = ['Root Bone'])

        # oblivion full body
        ob_male = os.path.join(
            self.config.get("path", "oblivion"),
            "meshes", "characters", "_male")
        ob_skeleton = os.path.join(ob_male, "skeleton.nif")
        ob_bodyparts = [
            os.path.join(ob_male, bodypart + ".nif")
            for bodypart in ["upperbody", "lowerbody", "hand", "foot"]]
        # import skeleton and body parts
        self.test(
            filename = ob_skeleton,
            config = dict(IMPORT_SKELETON = 1))
        for ob_bodypart in ob_bodyparts:
            self.test(
                filename = ob_bodypart,
                config = dict(IMPORT_SKELETON = 2),
                selection = ['Scene Root'])
        # export it
        self.test(
            filename = 'test/nif/_fulloblivionbody.nif',
            config = dict(
                game = 'OBLIVION', EXPORT_SMOOTHOBJECTSEAMS = True,
                EXPORT_FLATTENSKIN = True),
            selection = ['Scene Root'])
        # compare skindata
        toaster = NifToaster(spellclass=SpellCompareSkinData,
                             options=dict(arg="test/nif/_fulloblivionbody.nif",
                                          verbose=99))
        for ob_bodypart in ob_bodyparts:
            toaster.toast(top=ob_bodypart)

        # morrowind better bodies mesh
        bbskin_import = self.test(filename = 'test/nif/bb_skinf_br.nif')
        bbskin_export = self.test(
            filename = 'test/nif/_bb_skinf_br.nif',
            config = dict(
                game = 'MORROWIND', EXPORT_SMOOTHOBJECTSEAMS = True,
                EXPORT_STRIPIFY = False, EXPORT_SKINPARTITION = False),
            selection = ['Bip01'])
        toaster = NifToaster(spellclass=SpellCompareSkinData,
                             options=dict(arg="test/nif/_bb_skinf_br.nif",
                                          verbose=99))
        toaster.toast(top="test/nif/bb_skinf_br.nif")
 def run(self):
     # fo3 body path
     fo3_male = os.path.join(
         self.config.get("path", "fallout3"),
         "meshes", "characters", "_male")
     # get skeleton
     # the skeleton.nif won't work because the bones
     # are not in bind position!!!
     #self.test(
     #    filename = os.path.join(fo3_male, "skeleton.nif"),
     #    config = dict(IMPORT_SKELETON=1,
     #                  IMPORT_ANIMATION=False))
     # instead, create a full body nif and import that as skeleton
     self.make_fo3_fullbody()
     self.test(
         filename = 'test/nif/fo3/skeleton.nif',
         config = dict(IMPORT_SKELETON=1,
                       IMPORT_ANIMATION=False))
     # fallout 3 body
     self.test(
         filename = os.path.join(fo3_male, "femaleupperbody.nif"),
         config = dict(
             IMPORT_SKELETON=2,
             IMPORT_TEXTURE_PATH=[self.config.get("path", "fallout3")]),
         selection = ['Scene Root'])
     self.test(
         filename = 'test/nif/fo3/_femaleupperbody.nif',
         config = dict(
             EXPORT_VERSION = 'Fallout 3', EXPORT_SMOOTHOBJECTSEAMS = True,
             EXPORT_FLATTENSKIN = True),
         selection = ['Scene Root'])
     # compare skindata
     toaster = NifToaster(spellclass=SpellCompareSkinData,
                          options=dict(arg="test/nif/fo3/_femaleupperbody.nif",
                                       verbose=99))
     toaster.toast(top=os.path.join(fo3_male, "femaleupperbody.nif"))