Ejemplo n.º 1
0
def write_back(prefix, skeleton, skinning_weight, verts, faces, original_path):
    os.makedirs(prefix, exist_ok=True)
    os.makedirs(pjoin(prefix, 'obj'), exist_ok=True)

    bvh_writer = WriterWrapper(parent_smpl)
    skinning_weight = skinning_weight.detach().cpu().numpy()
    np.save(pjoin(prefix, 'weight.npy'), skinning_weight)
    bvh_writer.write(pjoin(prefix, 'skeleton.bvh'), skeleton)

    os.system(f"cp {original_path} {pjoin(prefix, 'T-pose.obj')}")

    if os.path.exists(pjoin(prefix, 'obj')):
        os.system(f"rm -r {pjoin(prefix, 'obj/*')}")
    print('Writing back...')
    for i in tqdm(range(verts.shape[0])):
        write_obj(pjoin(prefix, 'obj/%05d.obj' % i), verts[i], faces)
Ejemplo n.º 2
0
def write_back(prefix, skeleton, skinning_weight, verts, faces, original_path,
               rot, basis, coff):
    os.makedirs(prefix, exist_ok=True)
    os.makedirs(pjoin(prefix, 'obj'), exist_ok=True)

    bvh_writer = WriterWrapper(parent_smpl)
    skinning_weight = skinning_weight.detach().cpu().numpy()
    np.save(pjoin(prefix, 'weight.npy'), skinning_weight)
    if basis is not None:
        basis = basis.detach().cpu().numpy()
        np.save(pjoin(prefix, 'basis.npy'), basis.squeeze())
    if coff is not None:
        coff = coff.detach().cpu().numpy()
        np.save(pjoin(prefix, 'coff.npy'), coff.squeeze())
    bvh_writer.write(pjoin(prefix, 'skeleton.bvh'), skeleton, rot)

    os.system(f"cp {original_path} {pjoin(prefix, 'T-pose.obj')}")

    if os.path.exists(pjoin(prefix, 'obj')):
        os.system(f"rm -r {pjoin(prefix, 'obj/*')}")
    if verts is not None:
        print('Writing back...')
        for i in tqdm(range(verts.shape[0])):
            write_obj(pjoin(prefix, 'obj/%05d.obj' % i), verts[i], faces)
Ejemplo n.º 3
0
 def save_verts_as_obj(self, verts, filename, face=None):
     if face is None:
         face = self.faces
     write_obj(filename, verts, face)
Ejemplo n.º 4
0
 def save_verts_as_obj(self, verts, filename, face=None, idx=None):
     if idx is None: idx = 0
     if face is None:
         face = self.faces[idx]
     write_obj(filename, verts, face)
Ejemplo n.º 5
0
 def save_obj(self, filename, verts):
     write_obj(filename, verts, self.th_faces)