ClearSurface?

Blitz3D Forums/Blitz3D Programming/ClearSurface?

Boiled Sweets(Posted 2003) [#1]
Hi has anyone go this to work, this is what I'm trying to achieve in my map editor...

1) Create a cube.
2) Create another cube right next door to the first cube.
3) Remove the surfaces (walls) between the 2 cubes to make a 'room' of 2 cubes.

I guess I need to use clear surface but if I do that on a surface of the cube then the entire cube disappears...

Any ideas how this can be achieved?


Shambler(Posted 2003) [#2]
Instead of using cubes just use wall faces i.e. a single face of a cube.

Make a 2D or 3D array which holds the wall positions (1) and empty spaces (0) , for example

1111111111
1000000001
1000000011
1111100011
1000000001
1111111111

then loop through the array, if theres a (0) then add a floor and ceiling surface to the mesh.

If theres a (1) check the array above,below,left and right of the current position to see if you need to add a wall face to the mesh.

This way you use minimal surfaces/verts and triangles to build your level so theres no need to go back and delete faces after.


Rob(Posted 2003) [#3]
Swift has a function to remove overlapping cube faces in code archives.


Boiled Sweets(Posted 2003) [#4]
Rob,

do you know where it is cos the search feature don't work on the forums these days :-(

Shamber I don't want 'big' rooms i.e. I just want to connect cubes to together to make a 'rat-run'. How about I create 2 custom entitys, one with 1 face missing and one with 2 faces missing, then put them all together.


Who was John Galt?(Posted 2003) [#5]
A blitz surface doesn't equal a single face. A whole landscape can be represented in a single surface.


rsbrowndog(Posted 2003) [#6]
I think you'll need two functions, both by sswift.

AddMeshToSurface:
http://www.blitzbasic.com/codearcs/codearcs.php?code=575

Remove overlapping triangles:
http://www.blitzbasic.com/codearcs/codearcs.php?code=526

Cheers,

Ryan