[ODE] Normal maps
Geoff Carlton
gcarlton at iinet.net.au
Sat Jul 9 18:43:13 MST 2005
This is indeed an issue, as it generates two contacts at the same point,
with different normals. This situation of conflicting contacts can also
occur if the world is broken up into multiple trimesh objects
(regardless of normal scheme per trimesh).
After object-object collision, but before the world step, I merge all
contacts that have the same position. Thus in this case the two
contacts merge into a single contact with a normal of 45 degrees, as
would be expected at the corner of the box. Obviously if the mesh has
normals per vertex, using them is a superior solution, however with
these two changes I have found the simulation gives reasonable results.
Geoff
Emmanuel Julien [barr] wrote:
>Correct me if I'm wrong but inconditionally using the triangle normal will
>introduce a lot of problems with the penetration correction.
>Imagine an OBB box sitting on one edge of a trimesh box.
>
>The OBB would be in contact with the top triangles with a contact normal
>pointing straight up but it will also be in contact with the side triangles
>of the trimesh box whose contact normals would point horizontally outward the
>'box'. That would cause the OBB to accelerate when reaching the edge due to
>penetration correction (I'm assuming) pushing it along all contact normals.
>
>A solution would be to preprocess the mesh into a plane/edge format and select
>only convex edges to be in this list of feature to test.
>
>On Saturday 09 July 2005 01:54, Geoff Carlton wrote:
>
>
>>The first thing you'll want to do is ditch the current normal
>>calculations and use a normal calculated from the triangle itself. This
>>has been mentioned a few times on the list already, but I don't know of
>>any particular patch that has been made up. It is most obvious when
>>there is a flat trimesh - you end up getting all sorts of wierd contact
>>directions at the triangle boundaries, despite the overall shape of the
>>trimesh being a flat plane.
>>
>>Whether its a simple scheme of a fixed normal result per triangle,
>>interpolating between normal vectors stored on each vertex, or bump
>>mapping, anything at all beats the current setup.
>>
>>Geoff
>>
>>John Donovan wrote:
>>
>>
>>>I've just had a thought, has anyone tried using normal maps for
>>>collision response? I've been playing around with ODE, and getting my
>>>spheres to roll around a mesh bowl looks great, but they can exhibit
>>>little jumps as they cross triangle edges. This is perfectly normal, and
>>>for the most part unnoticable. But if the collision point could be used
>>>as a lookup into a normal map, I could generate continuous normals thus
>>>smoothing things out.
>>>This is just an idea, so I've no idea if this is feasable. Any thoughts?
>>>
>>>John Donovan
>>>Programmer - Magenta Software Ltd.
>>>
>>>The content of this message and any attached file are confidential and/or
>>>privileged and are for the intended recipient only. If you are not the
>>>intended recipient, any unauthorised use, disclosure, copying,
>>>distribution or other dissemination is strictly prohibited. If you
>>>receive this message in error please notify the sender immediately by
>>>email, telephone or fax and then delete this email. Any attachment with
>>>this message should be checked for viruses before it is opened. Magenta
>>>Software Limited cannot be held responsible for any failure by the
>>>recipient to check for viruses before opening any attachment. Copyright
>>>in this email and attachments created by us belongs to Magenta Software
>>>Limited. Should you communicate with anyone at Magenta Software Limited
>>>by email you consent to us monitoring and reading any such
>>>correspondence.
>>>
>>>
>>>
>>>
>>>_______________________________________________
>>>ODE mailing list
>>>ODE at q12.org
>>>http://q12.org/mailman/listinfo/ode
>>>
>>>
>>_______________________________________________
>>ODE mailing list
>>ODE at q12.org
>>http://q12.org/mailman/listinfo/ode
>>
>>
>_______________________________________________
>ODE mailing list
>ODE at q12.org
>http://q12.org/mailman/listinfo/ode
>
>
>
>
More information about the ODE
mailing list