Transfer jcms with nearest vertex option cause Memory error

Issue #302 resolved
engetudouiti created an issue

Multi select clothes with body mesh,then “transfer jcms” cause error with default option (nearest vertex).

I did not test it other option, but from description, for clothing it seems most reliable option I suppose.

location: <unknown location>:-1
Error: Python: Traceback (most recent call last):
File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\import_daz\error.py", line 247, in execute
self.run(context)
File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\import_daz\transfer.py", line 59, in run
self.transferMorphs(hum, clo, context)
File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\import_daz\transfer.py", line 77, in transferMorphs
self.findMatch(hum, clo)
File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\import_daz\transfer.py", line 224, in findMatch
self.findMatchNearest(hum, clo)
File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\import_daz\transfer.py", line 351, in findMatchNearest
dists = np.sum(np.abs(diff), axis=2)
MemoryError: Unable to allocate array with shape (17418, 5867, 3) and data type float64

Comments (7)

  1. engetudouiti reporter

    I checked with select each clothings, then found only one boots item (Dianne high boots) cause this error with “nearest vertex option”.

    It seems happen when the product remain loose vertices when import. (I do not know if there is option to auto-remove loose verts, with this add on, and it may cause issue if I import the product morphs I suppose) so after remove those loose verts, and try transfer jcms with same option. (nearest vertex), it seems work. I do not know if you can make itransfer morphs (with nearest vertex otpion) will work for those non-clean up mesh products.

    ====
    No even though I remove loose verts, I can not still transfer jcm with nearest vertex option for the boots. (but general option work)

    I can not detect when it happen, but at least I can confirm, the boots mesh topology seems made by auto-retopo process, then it is actually ugry topology to work with weight map well. (I really do not know why daz do not restrict those product or at least show topology image , then I could avoid those prodcut to use pose ffgiure, even though it is rendered well with many corrective morphs,,)

  2. engetudouiti reporter

    And I could found one more item in my import clothing sets, (did not test with hair still),

    it is rig type neckless (not prop), but about both item, the general option still work.

    I may request, when I multi select and use transfer morphs (Jcms) with this option, if it cause error skip those items, but continue transfer for next items. then after transfer morphs, show only the meshes which failed in console, may make it easy to use. 😀

  3. Thomas Larsson repo owner

    I see. The nearest vertex and geograft transfer methods creates a numpy array with the distances between all vertex pairs, in order to determine which is the shortest. If both vertices are big this array is huge, and apparently your computer does not have enough memory to allocate it. I finally upgraded to a computer with a lot of memory myself (actually, I borrowed it from work), so this problem has not hit me.

    The latest commit fails gracefully with the suggestion that you choose another transfer method; the old General method should always work.

  4. Thomas Larsson repo owner

    And now I read you suggestion that the tool should continue to the next mesh. Yes, that is better, will implement that.

  5. engetudouiti reporter

    yeah thanks. my PC cpu memory is 64 giga bite but maybe many unnecessary aprication use it without intention , I suppose. ^^;

    (though I feel if a few items may cause same issue for your pc too, (eg usually most of daz clothing may remove back side poligons, but there is case it still remain, or it need real thickness etc,, or polgion not clean )

    Anyway I really apreciate you get new PC!! (I really hope if you plan to add donation system (pay pal link etc) for this plug in site (or your blog)

    To be frankly said, I do not like patreon way, (in game mod world, many mod author use it recently) but free donation (actually it only depend user, and only donate for plug in and author to say thanks,) is more welcom.

  6. Log in to comment