hmmm in fact no...but you can use some trick..
like using a little plain..of 1by1 and add a limb...to it... i mean..
or simply glue it...
ive made a 3 little demo who use this technique:
simple one:
sync on
make object cylinder 1,250
scale object 1,10,100,10
make object sphere 2,1
glue object to limb 1,2,0
position object 1,0,125,0
position camera object position x(2),object position y(2),object position z(2)
move camera -500
do
y=wrapvalue(y+1)
rotate object 2,y,y,y
sync
loop
a little more complex:
print "Arrow key to rotate camera"
print "W A D" to move"
print "Enjoy with this little spider :)"
sync on
autocam on
dim Ax#(12)
dim Ay#(12)
dim Sens(12)
dim DistY#(6)
for i=1 to 3
sens(i)=1
next i
for i=4 to 6
sens(i)=-1
next i
make object sphere 99,10000
color object 99,rgb(100,0,0)
set object 99,1,1,0
create bitmap 1,1024,1024
ink rgb(100,0,0),0
box 0,0,512,512
ink rgb(0,100,0),0
box 512,0,1023,512
ink rgb(0,0,100),0
box 0,512,512,1023
ink rgb(0,0,0),0
box 512,512,1023,1023
get image 1,0,0,1024,1024
delete bitmap 1
make matrix 1,50000,50000,70,70
prepare matrix texture 1,1,1,1
fill matrix 1,0,0
update matrix 1
make object box 1,100,25,200
set object rotation ZYX 1
make object cylinder 2,12
scale object 2,100,400,100
make mesh from object 1,2
delete object 2
make object sphere 2,1
make mesh from object 2,2
delete object 2
rem sphere de rotation xz
for i=1 to 12
add limb 1,i,2
next i
rem pattes
for i=13 to 24
add limb 1,i,1
next i
rem spehre de rotation Y
for i=25 to 30
add limb 1,i,2
next i
rem patte/sphere de rotation
for i=1 to 12
link limb 1,i+12,i
next i
rem patte bas/haut
for i=7 to 12
link limb 1,i,i-6
next i
rem sphere xz/spehre y
for i=1 to 6
link limb 1,i,i+24
next i
rem offset patte de la sphere
for i=13 to 24
offset limb 1,i,0,-24,0
next i
rem offset les sphere du corp (haut)
for i=1 to 3
offset limb 1,i+24,-50,0,90-((i-1)*90)
next i
for i=4 to 6
offset limb 1,i+24,50,0,90-((i-4)*90)
next i
rem offset les sphere du corp (bas)
for i=7 to 9
offset limb 1,i,0,-48,0
next i
for i=10 to 12
offset limb 1,i,0,-48,0
next i
rem pour que le Xrotate limb...rotate sur le coté
for i=1 to 6
rotate limb 1,i+24,0,wrapvalue(sens(i)*90),0
Ay#(i)=limb angle y(1,i+24)
next i
x#=25000
z#=25000
time#=timer()
sens1=1
do
if leftkey()=1 then cy#=wrapvalue(cy#-3)
if rightkey()=1 then cy#=wrapvalue(cy#+3)
if upkey()=1 then cx#=wrapvalue(cx#+3)
if downkey()=1 then cx#=wrapvalue(cx#-3)
sens1=0
if (lower$(inkey$())="w")
sens1=1
endif
if (lower$(inkey$())="a")
yrotate object 1,wrapvalue(object angle y(1)-1):sens1=1
endif
if (lower$(inkey$())="d")
yrotate object 1,wrapvalue(object angle y(1)+1):sens1=1
endif
a=a+1
if sens1<>0
for i=1 to 6
Ay#(i)=(sin(((a*5)+(i*20))*5+(90*sens(i)*-1))*10)+(90*sens(i))
rotate limb 1,i+24,0,wrapvalue(ay#(i)),0
next i
for i=1 to 6
Ax#(i)=wrapvalue((sin(((a*5)+(i*20))*5)*10)+90)
next i
for i=1 to 6
Ax#(i+6)=wrapvalue(-1*Ax#(i))
next i
for i=1 to 6
rotate limb 1,i,Ax#(i),0,0
rotate limb 1,i+6,Ax#(i+6),0,0
next i
x#=newxvalue(x#,object angle y(1),5*sens1)
z#=newzvalue(z#,object angle y(1),5*sens1)
endif
addy#=0
for i=1 to 6
DistY#(i)=(48*cos(Ax#(i)))+48
if Addy#<Disty#(i):Addy#=DistY#(i):endif
next i
set cursor 0,0
print ax#(2)
y#=get ground height(1,x#,z#)+addy#
position object 1,X#,Y#,Z#
if (cx#>80) and (cx#<100) then cx#=80
if (cx#<310) and (cx#>270) then cx#=310
position camera object position x(1),object position y(1),object position z(1)
rotate camera Cx#,wrapvalue(object angle y(1)+Cy#),0
move camera -300
if get ground height(1,camera position x(),camera position z() )>camera position y()
position camera camera position x(),get ground height(1,camera position x(),camera position z() )+5,camera position z()
point camera object position x(1),object position y(1),object position z(1)
endif
sync
loop
still more complex:
print "Arrow Key to Move"
print "Mouse to Rotate Camera"
print "LeftClick to shot"
print "Just shoot on the guy..and his limbs will fall"
wait key
set display mode 1024,768,16
backdrop off
set camera range 1,6000
sync on
sync rate 0
set camera rotation ZYX
autocam off
hide mouse
make object sphere 99,10000
color object 99,rgb(175,0,0)
set object 99,1,1,0
create bitmap 1,1024,1024
ink rgb(100,0,0),0
box 0,0,512,512
ink rgb(0,100,0),0
box 512,0,1023,512
ink rgb(0,0,100),0
box 0,512,512,1023
ink rgb(0,0,0),0
box 512,512,1023,1023
get image 1,0,0,1024,1024
delete bitmap 1
make matrix 1,50000,50000,70,70
prepare matrix texture 1,1,1,1
fill matrix 1,0,0
update matrix 1
rem corps
make object box 1,100,200,100
rem bras
make object box 2,30,100,30
make mesh from object 1,2
delete object 2
rem jambe
make object box 2,30,100,30
make mesh from object 2,2
delete object 2
rem point de rotation
make object plain 2,1,1
make mesh from object 3,2
delete object 2
rem faire un object pour le corps....pour collision
make mesh from object 4,1
make object 2,4,0
delete mesh 4
glue object to limb 2,1,0
rem adder les bras/jambe au perso
for i=1 to 4
add limb 1,i,1
make object i+2,1,0
make object i+6,2,0
set object rotation ZYX i+2
set object rotation ZYX i+6
glue object to limb i+2,1,i
next i
rem adder les jambes au perso
for i=1 to 4
add limb 1,i+4,2
glue object to limb i+6,1,i+4
next i
rem adder les point de rotation au perso
for i=9 to 16
add limb 1,i,3
next i
rem fixer les bras/jambe aux point de rotation
for i=1 to 8
link limb 1,i,i+8
next i
rem fixer les point de rotation aux.....membre ki les font bouger..
for i=1 to 4
link limb 1,8+(2*i),(i*2)-1
next i
rem offsetter les bras/jambe de leur point de rotation
for i=1 to 8
offset limb 1,i,0,-50,0
next i
rem offset les bras/jambe ...du bas ..par rapport..a leur bras/jambe du haut
for i=1 to 4
offset limb 1,8+(i*2),0,-50,0
next i
rem POSITIONNEMENT FINAL: mettre les bras/jambe a la bonne place (en positionnant seulemnt leur point de rotation)
offset limb 1,9,-60,100,0
offset limb 1,11,60,100,0
offset limb 1,13,-40,-100,0
offset limb 1,15,40,-100,0
rem Tete
make object box 11,50,50,50
set object rotation ZYX 11
make mesh from object 4,10
add limb 1,17,4
glue object to limb 11,1,17
offset limb 1,17,0,125,0
for i=0 to 17
hide limb 1,i
next i
rem variable...de positionnement
x#=25000
z#=24500
y#=get ground height(1,x#,z#)+425
ay#=0
ax#=0
position camera x#,y#,z#
Ex#=25000
Ez#=25000
Ey#=get ground height(1,x#,z#)+300
Eay#=0
position object 1,ex#,ey#,ez#
dim move(11)
dim vitess#(11)
dim descend(11)
Acc#=0.05
rem rotater les bras/jambe ...pour pouvoir lui couper les membres..avec précision :)
set object rotation ZYX 1
rem faire le...projectile kon va lancer
make object box 12,5,30,5
color object 12,rgb(200,0,0)
set object rotation ZYX 12
lock object on 12
xrotate object 12,90
fix object pivot 12
position object 12,0,-10,20
for i=2 to 12
set object collision to polygons i
next i
dim couper(11)
for i=1 to 11
couper(i)=0
next i
rem animation
clear all object keyframes 1
i=1:rotate limb 1,8+((i*3)-(3-i)),45,90,0:rotate limb 1,10+((i*3)-(3-i)),45,270,0:set object keyframe 1,0
rotate limb 1,13,45,0,0:rotate limb 1,14,315,0,0:rotate limb 1,9,45,45,0:rotate limb 1,11,315,90,0:set object keyframe 1,10
rotate limb 1,13,0,0,0:rotate limb 1,14,0,0,0:rotate limb 1,15,45,0,0:rotate limb 1,16,315,0,0:rotate limb 1,9,45,90,0:rotate limb 1,11,315,135,0:set object keyframe 1,20
rotate limb 1,15,0,0,0:rotate limb 1,16,0,0,0:rotate limb 1,13,45,0,0:rotate limb 1,14,315,0,0:rotate limb 1,9,45,45,0:rotate limb 1,11,315,90,0:set object keyframe 1,30
loop object 1,10,30
do
if rnd(100)=10 then yrotate object 1,wrapvalue(object angle y(1)+rnd(10)-5)
move object 1,-2
ax#=camera angle x()
if rightkey()=1 then rotate camera 0,wrapvalue(camera angle y()+90),0:move camera 10:rotate camera ax#,wrapvalue(camera angle y()-90),0
if leftkey()=1 then rotate camera 0,wrapvalue(camera angle y()-90),0:move camera 10:rotate camera ax#,wrapvalue(camera angle y()+90),0
if upkey()=1 then rotate camera 0,camera angle y(),0:move camera 10:rotate camera ax#,camera angle y(),0
if downkey()=1 then rotate camera 0,camera angle y(),0:move camera -10:rotate camera ax#,camera angle y(),0
if (mouseclick()=1) and (tire=0)
lock object off 12
position object 12,camera position x(),camera position y(),camera position z()
rotate object 12,camera angle x(),camera angle y(),0
Tire=1
time#=timer()
endif
if tire=1
move object 12,30
restore aka
for i=2 to 11
read limb
read limb2
if couper(i)=0
unglue object i
rotate object i,limb angle x(1,limb)+limb angle x(1,limb2)+limb angle x(1,0),limb angle y(1,limb)+limb angle y(1,limb2)+limb angle y(1,0),0
if i=11 then rotate object i,limb angle x(1,17)+limb angle x(1,0),limb angle y(1,17)+limb angle y(1,0),0
if (object collision(i,12)=1)
couper(i)=1
move(i)=1
stop=1
else
rotate object i,0,0,0
glue object to limb i,1,i-2
if i=11 then glue object to limb 11,1,17
endif
endif
next i
if sqrt((object position x(12)-camera position x() )^2+(object position y(12)-camera position y() )^2+(object position z(12)-camera position z() )^2)>=5000 then stop=1
if (object position y(12)<=0) or (stop=1)
lock object on 12
rotate object 12,0,0,0
position object 12,0,-10,20
tire=0
stop=0
endif
endif
for i=2 to 11
if (couper(i)=1) and (move(i)=1)
vitess#=vitess#-acc#
position object i,object position x(i),object position y(i)+vitess#,object position z(i)
if object position y(i)<=10 then position object i,object position x(i),0,object position z(i):move(i)=0
endif
next i
rotate camera wrapvalue(camera angle x()+(-1*mousemovey()/2)),wrapvalue(camera angle y()+(mousemovex()/2)),0
position object 99,camera position x(),camera position y(),camera position z()
set cursor 0,0
print "FPS=",screen fps()
print tire
sync
loop
aka:
data 0,17,9,17,10,9,11,17,12,11,13,17,14,13,15,17,16,15,17,17