[ODE] Ray - TriMesh collision Problem - Help request
Pawel Kmiotek
lewapq at tlen.pl
Thu Feb 8 08:25:01 MST 2007
Hello !
In the moment I use something like your first approach.
I'll try than the second way.
I'll test it and let know if it works.
Thanks a lot for the advice and the code. You maybe saved my project :).
Best regards,
Pawel Kmiotek
> How are you retrieving the ray-trimesh contacts?
>
> When I first implemented something like this I had special case code in
> my general purpose nearCallback which detected if one geom was a ray,
> and then gathered up the contacts and forwarded them to the "owner" of
> the ray, which was referenced through the ray's void * data field. I
> missed a lot of contacts, ostensibly at random, when I did this.
>
> I went to an alternate approach where rays aren't added to the world's
> collision space and manually perform collision detection. This has
> worked very reliably for me. That being said, it may not be the best way
> to do this. A lot of ODE usage is experimenting with your fingers
> crossed :p
>
> http://zakariya.net/shamyl/etc/SampleCode/Ray.h
> http://zakariya.net/shamyl/etc/SampleCode/Ray.cpp
>
> I hope this helps.
>
> shamyl at zakariya.net
> "Our response to being bored and rich is not to discard
> possessions and live more simply, but to buy more stuff
> to reduce the space in which we might contemplate
> our shame."
>
>
> On Feb 8, 2007, at 9:19 AM, Pawel Kmiotek wrote:
>
>>
>> Yes tried befort to change the number of contacts but it changed
>> nothing :(.
>> Nevertheless thank very much you for interest. I apreciate it.
>>
>>
>>>>> Hello !
>>
>>>>> I have problems with Ray vs Trimesh collision.
>>
>>>>> I'm tring to implement a sensor ( range finder ) based on rays.
>> Thus I
>>>>> only detect collisions but do nothing about it.
>>
>>>>> Below there are links to screenshots represent correct collision
>> detection and incorect one.
>>
>>>>> The almost-cube building is a Box while the more-rectangular one is a
>>>>> TriMesh. As you can see collision with box always produces correct
>> collisions, while trimesh not.
>>
>>>>> I've used OgreOde with ODE-0.7 and 0DE-0.8-rc1. I hoped that
>> version 0.8
>>>>> will bring me a resolution but nothing of that kind. I have also
>> found
>>>>> in the mailing list archives comment:
>>
>>>>> "The GIMPACT code seems to work, there is only an issue left with:
>>>>> dGeomTriMeshDataBuildSimple
>>>>> which as far as I know is not solved yet"
>>>>> (http://ode.org/pipermail/ode/2007-January/021323.html)
>>
>>>>> OgreOde uses mentioned funtion to create a trimesh. May it be a
>> source
>>>>> of my problems ?
>>
>>>>> http://www.prinel.pl/Good-From-Above.jpg
>>>>> http://www.prinel.pl/Good-From-Below.jpg
>>
>>>>> http://www.prinel.pl/Bad-From-Above.jpg
>>>>> http://www.prinel.pl/Bad-From-Below.jpg
>>
>>>>> Maybe the following problem were already covered somewhere but I
>> haven't
>>>>> found any relevant information.
>>
>>>>> I would be grateful for any piece of advice how to solve the problem.
>>
>>>>> Best regards,
>>>>> Pawel
>>
>>
>>> Hi !
>>>>
>>>> Is there anybody who can bring some light to the aforementioned
>> problem
>>>> ? I would really appreciated it. It is really important to me since it
>>>> is the crucial part of my project.
>>>>
>>>> Since my english if far cry from being perfet my description may be
>> not
>>>> clear engough. If so, please let me know and I'll rewrite it
>> putting it
>>>> in different words. If there are, in your opinion, any details missing
>>>> please let me know I'll provide them.
>>>>
>>>> Best regards,
>>>> Pawel
>>
>> Could it be that you have not set a sufficient number of contacts on the
>> trimesh? It seems that a
>> number of rays do work as expected.
>>
>> (I have never used Rays in ODE, I'm not sure if the number of contacts
>> could be a cause.)
>>
>> Martijn
>> _______________________________________________
>> ODE mailing list
>> ODE at ode.org
>> http://mooshika.org/mailman/listinfo/ode
>
>
>
More information about the ODE
mailing list