I think you can use it as you described:
However, another thing you could try is using a LinePick from the entity down to determine if an object is below it.
Graphics3D 800, 600, 0, 2 SetBuffer BackBuffer() For j = 0 To 256 For i = 0 To 256 cc = Sin((i-128) * (j-128) / 60) * 64 + 127 WritePixel i, j, cc Shl 16 + cc Shl 8 + cc Next Next Flip im = CreateImage(256, 256) GrabImage im, 0, 0 SaveImage im, "rndterrain.bmp" terrain = LoadTerrain("rndterrain.bmp") DeleteFile "rndterrain.bmp" ScaleEntity terrain, 1, 50, 1 PositionEntity terrain, -128, -50, -128 TerrainShading terrain, 1 EntityType terrain, 2 light = CreateLight() camera = CreateCamera() MoveEntity camera, 0, 5, -128 orgsphere = CreateSphere() EntityColor orgsphere, 255, 0, 0 EntityType orgsphere, 1 HideEntity orgsphere Collisions 1, 2, 2, 3 Repeat If KeyDown(200) Then MoveEntity camera, 0, 0, +1 If KeyDown(208) Then MoveEntity camera, 0, 0, -1 If KeyDown(203) Then MoveEntity camera, -1, 0, 0 If KeyDown(205) Then MoveEntity camera, +1, 0, 0 If fall Then If Not(EntityCollided(sphere, 2)) TranslateEntity sphere, 0, -0.5, 0 Else fall = False End If Else sphere = CopyEntity(orgsphere) PositionEntity sphere, Rnd(-128, 128), 0, Rnd(-128, 128) ResetEntity sphere fall = True End If UpdateWorld() RenderWorld() Flip Until KeyHit(1) End
However, another thing you could try is using a LinePick from the entity down to determine if an object is below it.