Elipsoid/sphere to box collision bug

Archives Forums/Blitz3D Bug Reports/Elipsoid/sphere to box collision bug

Bankie(Posted 2007) [#1]
This bug occurs on B3D versions 1.88 and after. I have tested on more than one PC and it has been confirmed by others on these forums.

Main PC spec: P4 / 2.4GHz / 1GB RAM / ATI Radeon 9800 Pro / Win XP SP2

Description: Extraneous collisions are added by Blitz when using elipsoid/sphere to box collisions. It is difficult to determine the exact commonalities of the "wrong" collisions, but the code below replicates the problem 100% of the time. The bullet moves in the opposite direction to the block, yet collides with the block after less than 2 seconds or so.


Graphics3D 800,600,0,2

col_bullet=1
col_block=2

SetBuffer BackBuffer()

Global camera=CreateCamera()
CameraViewport camera,0,0,800,600
CameraRange camera,1,1000
PositionEntity camera,0,30,-10
RotateEntity camera,70,0,0

light=CreateLight()
AmbientLight(150,150,150)

bullet=CreateSphere()
ScaleEntity bullet,0.5,0.5,0.5
EntityType bullet,col_bullet
EntityRadius bullet,1
HideEntity bullet

block=CreateCube()
ScaleEntity block,1,0.5,0.5 ; block is now 2x1x1
EntityType block,col_block
EntityBox block,-1,-0.5,-0.5,2,1,1
HideEntity block

PositionEntity block,12,0,12
ShowEntity block
ResetEntity block

ShowEntity bullet
ResetEntity bullet
RotateEntity bullet,0,134.8,0

Collisions col_bullet,col_block,3,1

While Not KeyHit(1)
MoveEntity bullet,0,0,0.25
collidedblock=EntityCollided(bullet,col_block)
If collidedblock Then
If collidedblock=block Then
FreeEntity block
End If
End If

UpdateWorld
RenderWorld
Flip
Wend

End


_PJ_(Posted 2016) [#2]
This is interresting. It happens all rather quickly on my PC so I changed the speed of the bullet to move at 0.025 units instead and NO COLLISION was reported.

I discovered this thread after encountering possibly similar issues with Ellipsoid-Box collisons.


RemiD(Posted 2016) [#3]
Easy fix : use ellipsoid -> low details closed mesh.
By closed, i mean that no backface should be visible, else the ellipsoid may go through a gap.