Obi Official Forum
A few general questions - Printable Version

+- Obi Official Forum (https://obi.virtualmethodstudio.com/forum)
+-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html)
+--- Forum: Obi Cloth (https://obi.virtualmethodstudio.com/forum/forum-2.html)
+--- Thread: A few general questions (/thread-297.html)



A few general questions - rendezvous - 15-01-2018

Hello,

I have a few questions regarding the proper usage of this package as follows:

1. What is "generally recommended" number of vertices in a single Obi Cloth mesh? Obviously, I'd think smaller the better due to performance reasons but I wonder if I should stay away from using a high-poly (i.e., 10,000+ vertices) meshes

2. I noticed that the trench coat mesh found in the CharacterCloth demo has a little more than 2,800 vertices. And during runtime it moves a lot smoother than my custom mesh, which has close to 5,000 vertices. Apart from using less than optimal settings for my mesh, what other factors would contribute to my mesh's jagged, unnatural movement & look? Should I triangulate my meshes as the trench coat mesh is?

3. I cannot seem to get the ObiClothDragger feature work on my custom mesh. I'm particularly curious as to what settings have been used for the skirt demo on this blog post (http://blog.virtualmethodstudio.com/2017/01/obi-cloth-3-0-for-unity-whats-new/). I have not been able to find any demo/tutorial on the ObiClothDragger feature (which is one of the main reasons why I bought this package), so it'd be tremendously helpful if you could provide some guidance on the proper setup. On a related note, which application did you use to properly rig the skirt mesh?

Any pointers and/or tips would be much appreciated!


RE: A few general questions - josemendez - 15-01-2018

(15-01-2018, 03:44 PM)rendezvous Wrote: Hello,

I have a few questions regarding the proper usage of this package as follows:

1. What is "generally recommended" number of vertices in a single Obi Cloth mesh? Obviously, I'd think smaller the better due to performance reasons but I wonder if I should stay away from using a high-poly (i.e., 10,000+ vertices) meshes

2. I noticed that the trench coat mesh found in the CharacterCloth demo has a little more than 2,800 vertices. And during runtime it moves a lot smoother than my custom mesh, which has close to 5,000 vertices. Apart from using less than optimal settings for my mesh, what other factors would contribute to my mesh's jagged, unnatural movement & look? Should I triangulate my meshes as the trench coat mesh is?

3. I cannot seem to get the ObiClothDragger feature work on my custom mesh. I'm particularly curious as to what settings have been used for the skirt demo on this blog post (http://blog.virtualmethodstudio.com/2017/01/obi-cloth-3-0-for-unity-whats-new/). I have not been able to find any demo/tutorial on the ObiClothDragger feature (which is one of the main reasons why I bought this package), so it'd be tremendously helpful if you could provide some guidance on the proper setup. On a related note, which application did you use to properly rig the skirt mesh?

Any pointers and/or tips would be much appreciated!

1. It really depends on your target platform and your simulation budget. As a rough guideline, never go above 5000-7000 triangles for a simulated mesh. Note however that when using proxies, you can use much higher effective polycounts. See:
http://obi.virtualmethodstudio.com/tutorials/clothproxies.html

2. by smoother movement, do you mean higher fps, or less-jittery movement?

3. the ObiClothDragger should just work on any cloth mesh, simply by adding the component to the GameObject. No additional setup is required. Keep in mind though that if you're clicking on the backfaces of your mesh, you need to have "Queries hit backfaces" enabled in the Unity physics settings menu. If you disable it, raycasts won't be able to hit backfaces and as a consequence you won't be able to drag the cloth by clicking on a backface.

For most meshes/rigs used in the included sample scenes I used Maya. For some of them though, I used Blender. It is purely a matter of personal preference as all 3D packages have essentially the same capabilities when it comes to basic rigging.


RE: A few general questions - rendezvous - 15-01-2018

(15-01-2018, 07:14 PM)josemendez Wrote: 1. It really depends on your target platform and your simulation budget. As a rough guideline, never go above 5000-7000 triangles for a simulated mesh. Note however that when using proxies, you can use much higher effective polycounts. See:
http://obi.virtualmethodstudio.com/tutorials/clothproxies.html

2. by smoother movement, do you mean higher fps, or less-jittery movement?

3. the ObiClothDragger should just work on any cloth mesh, simply by adding the component to the GameObject. No additional setup is required. Keep in mind though that if you're clicking on the backfaces of your mesh, you need to have "Queries hit backfaces" enabled in the Unity physics settings menu. If you disable it, raycasts won't be able to hit backfaces and as a consequence you won't be able to drag the cloth by clicking on a backface.

For most meshes/rigs used in the included sample scenes I used Maya. For some of them though, I used Blender. It is purely a matter of personal preference as all 3D packages have essentially the same capabilities when it comes to basic rigging.

Jose - Thanks for the prompt response! I got a follow-up question:

For simulated mesh, what would be the differences (if any)  if my mesh is comprised of 5,000 triangles vs. 5,000 quads in terms of how it's simulated? I'm thinking both in terms of FPS rate and smooth/jittery movement. Would there be any noticeable differences?


RE: A few general questions - josemendez - 16-01-2018

(15-01-2018, 11:51 PM)rendezvous Wrote: Jose - Thanks for the prompt response! I got a follow-up question:

For simulated mesh, what would be the differences (if any)  if my mesh is comprised of 5,000 triangles vs. 5,000 quads in terms of how it's simulated? I'm thinking both in terms of FPS rate and smooth/jittery movement. Would there be any noticeable differences?

Hi there!

'Quads' are a logical construct used by 3D modeling packages since they have some nice properties when it comes to certain edition tools. However, under the hood all meshes in all programs are made of triangles, since GPUs can only rasterize triangles.

Unity triangulates all meshes upon import. You cannot have quad-based meshes, even if you tick the "Keep Quads" option in the mesh importer, the underlying mesh info only exposes triangles. So 5000 quads are the same as 10000 triangles, and performance would approximately halve.

Importing quads however leaves the choice of quad winding to Unity (which direction to subdivide each quad into 2 triangles, and it does a pretty bad job specially with symmetrical meshes) so I'd reccomend triangulating the mesh yourself before exporting it. This gives you finer control over edge flow, to make sure the topology is as homogeneous as possible.


RE: A few general questions - rendezvous - 16-01-2018

Jose,

I did my best to figure this out myself for a few hours, but I failed to get the ObiClothDragger function to work at all on my mesh. What I'd like to simulate is pretty close to the dress example you showcased in your blog (http://blog.virtualmethodstudio.com/2017/01/obi-cloth-3-0-for-unity-whats-new/).

Here are my settings:
  • I checked (enabled) the 'Queries Hit Backfaces' option per your advice
  • My mesh has the Skinned Mesh Renderer
  • I added the Obi Cloth component; but I only enabled the following options:
       - Skin Constraints (Stiffness: 1)
       - Distance Constraints (Stretching Scale: 1.5, Stiffness: 0.7, Slack: 0.5)
  • Both Obi Dragger & Picker are enabled
  • My solver has more than enough # of particles specified to cover the mesh vertices
And the mesh's Particle settings are:
  • Mass: 1
  • Skin Radius: 0.01
  • Skin Backstop: -0.01
  • Skin Backstop Radius: 0.01
All this back and forth got me wondering if you have a sample scene that demonstrates the dragger function. That'd be super helpful.


RE: A few general questions - josemendez - 16-01-2018

(16-01-2018, 04:36 AM)rendezvous Wrote: Jose,

I did my best to figure this out myself for a few hours, but I failed to get the ObiClothDragger function to work at all on my mesh. What I'd like to simulate is pretty close to the dress example you showcased in your blog (http://blog.virtualmethodstudio.com/2017/01/obi-cloth-3-0-for-unity-whats-new/).

Here are my settings:
  • I checked (enabled) the 'Queries Hit Backfaces' option per your advice
  • My mesh has the Skinned Mesh Renderer
  • I added the Obi Cloth component; but I only enabled the following options:
       - Skin Constraints (Stiffness: 1)
       - Distance Constraints (Stretching Scale: 1.5, Stiffness: 0.7, Slack: 0.5)
  • Both Obi Dragger & Picker are enabled
  • My solver has more than enough # of particles specified to cover the mesh vertices
And the mesh's Particle settings are:
  • Mass: 1
  • Skin Radius: 0.01
  • Skin Backstop: -0.01
  • Skin Backstop Radius: 0.01
All this back and forth got me wondering if you have a sample scene that demonstrates the dragger function. That'd be super helpful.

Hi!

If you're using a skinned mesh, script order execution might be preventing the picker from updating the cloth after animation. Try changing the script execution order so that ObiClothPicker is updated last (go to ProjectSettings->ScriptExecutionOrder, and add ObiClothPicker to the end of the list).

Edit: Having to deal with the script execution order is a bit counterintuitive, so we'll probably come up with a better solution for (skinned meshes+picking) in upcoming versions. The green dress scene used in our blog post was a regular mesh on top of a MeshCollider, so no skeletal skinning involved.