Search Unity

Problem with mesh intersection

Discussion in 'Scripting' started by korotkevich-md, Apr 26, 2012.

  1. korotkevich-md

    korotkevich-md

    Joined:
    Jun 10, 2011
    Posts:
    21
    In my application, the character wears different clothes (meshes). All clothing modeled on the exposed character. Therefore, there may be situations where, for example, a character in a bra is worn a jacket, meshes visually overlaps and bra visible under jacket.

    As a workaround, I tried to determine whether the meshes intersect through Mesh.bounds.Intersects, and if they intersect - scale the upper mesh. I would like to automate the process to scale with a certain step, until meshes intersect (eg, via while loop). I tried to scale through while loop, this has led to a Unity crash. Apparently, due to an infinite loop. Then I picked up the optimal scaling factor, then rescaled up to a situation where the meshes are not visually overlap, and then checked again by Mesh.bounds.intersects. Function returned "true".

    Now I use a fixed scaling factor for each clothing. But I want to automate the process of coefficient selection.

    My questions are:
    1. How mesh intersection through Mesh.bounds.Intersects is defined?
    2. Are meshes intersect in my case, even if they visually not overlap?
    3. If so, how do I identify only a visual mesh intersection to scale mesh in the loop with a certain step?
     
  2. korotkevich-md

    korotkevich-md

    Joined:
    Jun 10, 2011
    Posts:
    21
    I get answer on this question on another Unity3D forum.
    Bounds.Intersects - returns "true" if the volume of a bounding box falls within the volume of another bounding box, no matter - in whole or in part.