makehumancommunity / makehuman

This is the main repository for the MakeHuman application as such.
http://www.makehumancommunity.org
Other
1.24k stars 254 forks source link

Concern: Obj and NPZ in path, but with different file dates... #66

Open afarlie opened 5 years ago

afarlie commented 5 years ago

Version: 1.2.x alpha 3 Component(s): Unknown.

From a log on a recent startup:-

"Loading human compiled file out of date: data/3dobjs/base.npz Problem loading binary mesh: ('compiled file out of date: %s', 'data/3dobjs/base.npz') Loading ASCII mesh data/3dobjs/base.obj. Calculated maximum number of faces for one vertex: 5 Calculated maximum number of poles for one vertex: 5 Not writing compiled meshes to system paths (data/3dobjs/base.npz). "

"Loading human compiled file out of date: data/3dobjs/base.npz Problem loading binary mesh: ('compiled file out of date: %s', 'data/3dobjs/base.npz') Loading ASCII mesh data/3dobjs/base.obj. Calculated maximum number of faces for one vertex: 5 Calculated maximum number of poles for one vertex: 5 Not writing compiled meshes to system paths (data/3dobjs/base.npz). Loading plugin 3_libraries_eye_chooser According to mh.getSysDataPath here's high poly eyes data/eyes/high-poly/high-poly.mhclo Selecting proxy file "data/eyes/high-poly/high-poly.mhclo" from eyes library. compiled proxy file out of date: data/eyes/high-poly/high-poly.mhpxy Problem loading binary proxy: ('compiled file out of date: %s', 'data/eyes/high-poly/high-poly.mhpxy') Loading proxy file: data/eyes/high-poly/high-poly.mhclo. Loading material from file C:/Program Files/makehuman-community/makehuman/data/eyes/materials/brown.mhmat Shader: adding built-in uniform b'gl_ModelViewProj' Shader: adding built-in uniform b'gl_NormalMatrix' VectorUniform(AdditiveShading) = [ 0.] Not writing compiled proxies to system paths (data/eyes/high-poly/high-poly.mhpxy). compiled file out of date: C:/Program Files/makehuman-community/makehuman/data/eyes/high-poly/high-poly.npz Problem loading binary mesh: ('compiled file out of date: %s', 'C:/Program Files/makehuman-community/makehuman/data/eyes/high-poly/high-poly.npz') Loading ASCII mesh C:/Program Files/makehuman-community/makehuman/data/eyes/high-poly/high-poly.obj. Calculated maximum number of faces for one vertex: 4 Calculated maximum number of poles for one vertex: 4 Not writing compiled meshes to system paths (C:/Program Files/makehuman-community/makehuman/data/eyes/high-poly/high-poly.npz). "

The issue here is that I recently patched an existing install with a cloned repository (to debug/test the resolution of another issue, which left some residue from the previous install behind.

Suggested behaviour: When the situation of an out of date NPZ vs an OBJ file is detected, Warn and offer the program user the option to recompile/rebuild the NPZ file concerned based on the OBJ file present... Once rebuilt the OBJ file concerned should be renamed as .OB_.V00 (.v01, v02) etc. or some appropriate extension so it is not detected on subsequent startups.

Temporary Workaround; Manually Ensure the contents of the relevant data directories are consistent when patching/updating.

Aranuvir commented 5 years ago

NPZ files are cache files and in case of inconsistency should be deleted so they can be rebuild. OBJ files usually do not change. There was an update in handling internal data, i.e. calculating max pole, which outdated those npz files. We could consider a delete button for cache fies somewhere under settings or similar.

afarlie commented 5 years ago

Which was kind of what I was suggesting, an option to delete/rebuild the cache files automatically.

Aranuvir commented 5 years ago

IIRC it is also possible to distribute an asset with only the npz (without an obj). You might lose that asset permanently when purging all npz...

afarlie commented 5 years ago

hmm, Maybe the Manual Workaround is a better suggestion?