25-07-2021, 05:55 PM
(07-02-2020, 09:24 AM)josemendez Wrote: Hi,
Proxies won't work if the master blueprint is a skinned cloth and the slave mesh is a skinned mesh, different from the one used in the blueprint.
The reason for this is that Unity does not allow (in 2019.1 and up) to deactivate the skinning of a SkinnedMeshRenderer, not even partially. Previously you were able to supply a mesh with a weights array with zero-ed entries, or even an empty weights array, and the SkinnedMeshRenderer would still render you mesh, applying no skinning. Attempting to do this now raises an error.
This forces the slave skinned mesh renderer to be a simulated cloth itself, which defeats the purpose of using a proxy (what good is it to drive a cloth simulation using another cloth simulation?). Supported cases are:
- Master ObiCloth and slave mesh renderer.
- Master ObiSkinnedCloth and slave mesh renderer.
- Master ObiSkinnedCloth, and slave skinned mesh renderer as long as it's the same one used by the cloth. Useful in cases where part of the mesh is simulated, and other parts of the mesh driven by it. It's what we do in the CharacterCloth sample scene.
Hi,
I am seeing the same issue being reported here, Unity 2019.4.24f1, low poly cloth works, but proxy is not simulating high poly version. Mesh renderer is used on high poly one, cloth renderer on low poly one.
I believe the issue is that when I try to "bind" in the triangle skinmap I see the error:
IndexOutOfRangeException: Index was outside the bounds of the array.
Obi.ObiTriangleSkinMap+<Bind>d__31.MoveNext () (at Assets/Obi/Scripts/Cloth/DataStructures/ObiTriangleSkinMap.cs:515)
Obi.CoroutineJob+<Start>d__15.MoveNext () (at Assets/Obi/Scripts/Common/Utils/Coroutines/CoroutineJob.cs:99)
UnityEngine.Debug:LogException(Exception)
Obi.<Start>d__15:MoveNext() (at Assets/Obi/Scripts/Common/Utils/Coroutines/CoroutineJob.cs:108)
Obi.EditorCoroutine:ShowCoroutineProgressBar(String, IEnumerator&) (at Assets/Obi/Scripts/Common/Utils/Coroutines/EditorCoroutine.cs:21)
Obi.ObiTriangleSkinMapEditor:UpdateEditMode() (at Assets/Obi/Editor/Cloth/ObiTriangleSkinMapEditor.cs:332)
Obi.ObiTriangleSkinMapEditor:OnInspectorGUI() (at Assets/Obi/Editor/Cloth/ObiTriangleSkinMapEditor.cs:137)
UnityEngine.GUIUtilityrocessEvent(Int32, IntPtr)
Please fix this error, what is going on here?
Thanks.