here is another method with cameras,
however it only works in DBP and was a few years old
so may have some minor tweaks with later DBP versions.
the snippet mainly describes using 4 cameras but
using the cameras as textures onto plains might be a solution
as shown with the texture in the demo.
i hope this helps, I know your referring to multiple plains and cameras but im not totally sure.
rem -------------------------------------------------------------------------------
rem indi Multicam test 1
rem march 26th 2003
rem DBP 4 rc1
rem
rem -------------------------------------------------------------------------------
cls
sync on
sync rate 60
hide mouse
set text font "verdana"
set text size 20
color backdrop 0,rgb(55,55,155)
worldsize# = 1000.0
bulletsize# = 10.0
thruststep#=0.02
turnstep#=3.0
friction#=0.97
x#=500
z#=500
camdistance=120
ycam#=80
make matrix 1,1000,1000,10,10
position matrix 1,0,0,0
make object cube 1,50
position camera 0,0,150,0
point camera 0,0,0,0
make camera 1
set camera view 1,0,0,128,96
position camera 1,500,850,500
point camera 1,500,0,500
color backdrop 1,rgb(55,55,155)
make camera 2
set camera view 2,0,96,128,192
position camera 2,500,500,-500
point camera 2,500,0,500
color backdrop 2,rgb(55,155,155)
make camera 3
set camera view 3,0,192,128,288
position camera 3,500,500,0
point camera 3,500,0,500
color backdrop 3,rgb(155,55,155)
make camera 4
set camera view 4,0,288,128,384
position camera 4,500,100,500
point camera 4,500,0,500
color backdrop 4,rgb(55,55,55)
make camera 5
set camera view 5,0,288,128,384
position camera 5,500,900,500
point camera 5,500,0,500
color backdrop 5,rgb(155,5,5)
make object plain 2,256,256
position object 2,500,0,500
rotate object 2,0,90,90
fix object pivot 2
position object 2,600,0,600
set camera to image 5,1,256,256
texture object 2,1
disable escapekey
while escapekey()=0
smoothspeed#=20.0
if rightkey()=1 then an#=an#+turnstep#
if leftkey()=1 then an#=an#-turnstep#
an#=wrapvalue(an#)
if upkey()=1 then thrust#=friction#-thrust#+thruststep#
thrust#=thrust#*0.9
if downkey()=1 then thrust#=thrust#-thruststep#
thrust#=thrust#*0.9
xvel#=xvel#+(sin(an#)*thrust#)
zvel#=zvel#+(cos(an#)*thrust#)
xvel#=xvel#*friction#
zvel#=zvel#*friction#
x#=x#+xvel#
z#=z#+zvel#
if inkey$()="2" then ycam# = ycam# -1
if inkey$()="8" then ycam# = ycam# +1
if ycam# <0 then ycam# = 0
if inkey$()="1" then camdistance = camdistance-2
if inkey$()="7" then camdistance = camdistance+2
if camdistance <0 then camdistance = 0
xcam#=newxvalue(x#,wrapvalue(an#+180),camdistance)
zcam#=newzvalue(z#,wrapvalue(an#+180),camdistance)
smoothxcam#=curvevalue(xcam#,camera position x(),smoothspeed#)
smoothzcam#=curvevalue(zcam#,camera position z(),smoothspeed#)
smoothycam#=curvevalue(ycam#,camera position y(),smoothspeed#)
if x# > worldsize# then x# = worldsize#
if x# < 0 then x# = 0
if z# > worldsize# then z# = worldsize#
if z# < 0 then z# = 0
yrotate object 1,an#
position object 1,x#,y#+20,z#
position camera smoothxcam#,smoothycam#,smoothzcam#
point camera x#,y#,z#
point camera 2,x#,y#,z#
position camera 4,object position x(1),object position y(1)+265,object position z(1)
point camera 5,x#,y#,z#
center text 140,6,"cam1"
center text 140,96*1,"cam2"
center text 140,96*2,"cam3"
center text 140,96*3,"cam4"
text screen width()-100,6,"cam0"
text screen width()-100,32,"poly"+STR$(statistic(1))
text screen width()-100,64,"fps:"+STR$(screen fps())
sync
endwhile
delete matrix 1
delete object 1
end
If no-one gives your an answer to a question you have asked, consider:- Is your question clear.- Did you ask nicely.- Are you showing any effort to solve the problem yourself 