Hi,
I've got a strange problem with a character...
I have a static geometry terrain, and on it there's a fulcrum with a moving bridge attached.
The fulcrum is kinematic, the bridge dynamic, and they're connected with a RevoluteJoint.
The bridge works ok (falling from a side to the other when walking past the center with the joint) after some hitReport/movementController work to apply force on it... but a strange thing happens when you walk UNDER the bridge: the character instantly teleports on it. You pass from the terrain static geometry to the dynamic body of the bridge in a single frame.
How can I avoid this unwanted movement along the Y axis?
I have tested this disabling my callbacks too.... so I suppose (if I did't forget anything) that this is some other kind of issue.
There something that forbids a character walking under a dynamic body?
Ah, I tried to set the bridge kinematic, but the problem remains.
Any ideas? Any workaround?
Please help, I have to show my game on friday

(and I hope to show you here next week

)
bye,
D.
betajaen
23-07-2008 12:29:49
I'm pretty sure that characters can walk underneath things. Perhaps it's do with the ray casting, hitting the bridge and teleporting you up there. Is there enough height clearance?
I'm pretty sure that characters can walk underneath things. Perhaps it's do with the ray casting, hitting the bridge and teleporting you up there. Is there enough height clearance?
Mmm visually, yes... there's plenty of vertical space under the bridge.
What could I try?
I did a separated test with a simpler setup (3 boxes, two kinematic bases and an upper dynamic) and the same issue appears. Sometimes instead of going up the upper dynamic body the character pushes it up, and it (no joints here) flies away.
I uploaded a video to show you the problem:
http://www.duskzone.it/works/slugs/damnBridge.wmv
I have the hit reported by my CharacterHitReport, this is what happens when passing under the bridge... look at the strange force of length 100:
Ah, I have some dynamic bodies (set to kinematic) that "follow" the character... for visualization and other stuff. Maybe they're related to the problem? I think not...
betajaen
23-07-2008 16:27:36
I can't remember the character code very well in 0.9, but perhaps it's performing a raycast to check if there is a floor underneath, perhaps the ray is either facing in the wrong direction (for some reason) or very high up.
But I'm pretty sure it's NxOgre or your applications code; this sort of problem would of been caught very quickly if it was PhysX.
I can't remember the character code very well in 0.9, but perhaps it's performing a raycast to check if there is a floor underneath, perhaps the ray is either facing in the wrong direction (for some reason) or very high up.
Is there any simple way (maybe a flag) to disable raycasting of the character on some bodies? I can swap it on/off on the bridge depending on where's the character...
BTW I'll do another test with a simpler setup and if I have no success I will try to find the raycasting you're referring to in the NxOgre codebase...
tnx,
D.
xadh00m
24-07-2008 08:56:01
We use 0.9 and never had problems like this. We have characters
within buildings which navigate e.g. through door frames which are only a
bit higher than the character itself. The building is a static triangle mesh.
Did you check the skinOffset value? This can lead to a larger PhysX BB
without a visual change in the remote debugger.
We use 0.9 and never had problems like this. We have characters
within buildings which navigate e.g. through door frames which are only a
bit higher than the character itself. The building is a static triangle mesh.
Did you check the skinOffset value? This can lead to a larger PhysX BB
without a visual change in the remote debugger.
skinOffset was the default (0.1)... you say that the building is static, maybe the problem manifests only with dynamic bodies. By the way, we hadn't the time to find/solve the issue, and .... decided to put some water under the bridge to forbid the character to walk in the "teleport UP zone".
Hope to fix some minor stuff and put the game online soon, I'll let you know.
bye bye
D.
betajaen
26-07-2008 20:35:12
Well I'm sad to hear you didn't find the problem in time, but glad to came up with a clever solution.
I look forward to playing your game.