Cage opened this issue on Feb 24, 2010 · 592 posts
Spanki posted Tue, 30 March 2010 at 5:29 PM
Quote - I understand your logic, but I'm not sure how to force that result in all cases. If a Target vertex only finds one Source vertex within the threshold distance submitted, then there's only the one vertex within that range.
Are you suggesting that the process should try to extend the range and loop again if fewer than three matches are found? Or that the user be prevented from entering a Number of Influences setting of less than 3?
I'm suggesting that the range/tolerance be (internally) extended - however that's accomplished - until at least 3 vertices are found.
Quote - I could see a reason to keep the option for only 1 influence per vertex. If you want to transfer morphs between two identical meshes, when one of them has ended up with a different vertex order or something, a Number of Influences = 1 setting will match the identical vertex locations properly for transfer of identical morphs.
Even with identical meshes, one of those 3 vertices would end up with (essentially) a 1.0 weight and the other 2 would end up with (essentially) a 0.0 weight, so it still works fine. No need to have any option.
So... the question is how to force / implement the issue...
One idea would be to maintain a separate list of vertices that failed the input tolerance (but were maybe still within a 3x or 5x tolerance distance (for example)) and if you come up with less than 3, sort that other list and grab the first 1 or 2 (or 3?) needed to meet the requirement. If you end up with none (or fewer than needed) within 3x or 5x tolerance, then so be it.
Cinema4D Plugins (Home of Riptide, Riptide Pro, Undertow, Morph Mill, KyamaSlide and I/Ogre plugins) Poser products Freelance Modelling, Poser Rigging, UV-mapping work for hire.