10-14-2022, 09:42 PM
I'm trying to extract the character models from killer7. I'm using the PC version, but as far as I can tell from my experimenting, it seems like the the PC version files are identical to the Gamecube ones. Just so we're on the same page, here's the tools I've been using:
I extracted the Gamecube version's files from the disc image using Dolphin's file system browser.
I extracted the PC version's files from data.vfs with Luigi Auriemma's QuickBMS VFS script from here.
I extracted the textures from the .dat files with Gamecube DAT Texture Wizard
I loaded the models into Blender 2.82a with this importer addon
It's on the Blender step that I hit a small snag. For some reason, it doesn't work on Garcian's in-game models. It seems to work on every single other character model in the game, including Garcian's Game Over screen model, but not in-game Garcian. I can extract Garcian's textures from the file with DAT Texture Wizard, but trying to load the same file in Blender just results in an error.
Attached are two sample files, one of Garcian, and one of Dan for comparison. I figure it would help to have a model that does work while trying to figure out why another file doesn't.
If it helps, the error that Garcian's model gives me is as follows:
Traceback (most recent call last):
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\__init__.py", line 76, in execute
status = import_hsd.load(self, context, path, self.offset, self.section, self.data_type, self.import_animation, self.ik_hack, self.max_frame, self.use_max_frame)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 2851, in load
return load_hsd(filepath, context, offset, scene_name, data_type, import_animation)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 121, in load_hsd
load_scene(data, scene_info, info[0:], filepath, import_animation)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 142, in load_scene
mesh_dict, material_dict = init_geometry()
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 706, in init_geometry
ob = make_mesh(pobj, mesh_dict)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 1822, in make_mesh
ob = make_mesh_object(pobj, name)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 1990, in make_mesh_object
sources, facelists, normdicts = read_geometry(vtxdesclist, displist, displistsize)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 2575, in read_geometry
vertices = read_vertex_data(vtxdesc, indices)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 2609, in read_vertex_data
value = struct.unpack(descfmt, base_ptr[pos:pos + descsize])
struct.error: unpack requires a buffer of 8 bytes
location: <unknown location>:-1
I extracted the Gamecube version's files from the disc image using Dolphin's file system browser.
I extracted the PC version's files from data.vfs with Luigi Auriemma's QuickBMS VFS script from here.
I extracted the textures from the .dat files with Gamecube DAT Texture Wizard
I loaded the models into Blender 2.82a with this importer addon
It's on the Blender step that I hit a small snag. For some reason, it doesn't work on Garcian's in-game models. It seems to work on every single other character model in the game, including Garcian's Game Over screen model, but not in-game Garcian. I can extract Garcian's textures from the file with DAT Texture Wizard, but trying to load the same file in Blender just results in an error.
Attached are two sample files, one of Garcian, and one of Dan for comparison. I figure it would help to have a model that does work while trying to figure out why another file doesn't.
If it helps, the error that Garcian's model gives me is as follows:
Traceback (most recent call last):
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\__init__.py", line 76, in execute
status = import_hsd.load(self, context, path, self.offset, self.section, self.data_type, self.import_animation, self.ik_hack, self.max_frame, self.use_max_frame)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 2851, in load
return load_hsd(filepath, context, offset, scene_name, data_type, import_animation)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 121, in load_hsd
load_scene(data, scene_info, info[0:], filepath, import_animation)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 142, in load_scene
mesh_dict, material_dict = init_geometry()
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 706, in init_geometry
ob = make_mesh(pobj, mesh_dict)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 1822, in make_mesh
ob = make_mesh_object(pobj, name)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 1990, in make_mesh_object
sources, facelists, normdicts = read_geometry(vtxdesclist, displist, displistsize)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 2575, in read_geometry
vertices = read_vertex_data(vtxdesc, indices)
File "C:\Users\riffr\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Blender-Addon-Gamecube-Models-main\import_hsd.py", line 2609, in read_vertex_data
value = struct.unpack(descfmt, base_ptr[pos:pos + descsize])
struct.error: unpack requires a buffer of 8 bytes
location: <unknown location>:-1