Elipsoid/sphere to box collision bug
Archives Forums/Blitz3D Bug Reports/Elipsoid/sphere to box collision bug
| ||
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 |
| ||
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. |
| ||
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. |