hello friends !! you can rotate any bone to point wher you decide all time...knowing that, you could put a hidden object in limb positions x,y,z and then make it point wher you want...then manipulate the correct limb to correct point...have a look to this code to see how we can udjust bones rotations manually.
REMSTART
CONTROL DE VERTICES POR MEDIO DE LIMBS VINCULADOS DESDE
EL 3DMAX Y EXPORTADOS CON EL PANDA EXPORTER
REMEND
hide mouse
make matrix 1,10000.0,10000.0,25,25
load bitmap "cesped2.bmp",1
get image 1,1,1,100,100
get image 2,80,80,120,120
delete bitmap 1
prepare matrix texture 1,1,2,2
randomize matrix 1,50.0
set ambient light 60
sync on
load object "pas.x",70
position object 70,120,100,350
set object collision off 70
load object "pas.x",71
position object 71,320,100,350
load object "pas.x",72
position object 72,520,100,350
parte=1
do
`desviamos el flujo a la etiqueta _controla_camara
gosub _controla_camara
rem Sincroniza
`ANIMACION DEL PERSONAJE CON SUS HUESOS DEL(3DSMAX)
cron=cron+1
if cron>400 then cron=0
if cron<200 then rota#=rota#+0.1
if cron>200 then rota#=rota#-0.1
`PIERNAS
rotate limb 70,11,0,0,rota#
rotate limb 70,3,0,0,rota#
`RODILLAS
rotate limb 70,4,0,0,-rota#*2
rotate limb 70,12,0,0,-rota#*2
`barzo y antebrazo derecho
rotate limb 70,21,0,rota#/3,45 `brazo
rotate limb 70,22,0,0,rota#*4 `antebrazo
rotate limb 70,23,0,0,rota#*2
scale limb 70,23,100,100,200
`brazo izquierdo
rotate limb 70,31,0,-rota#/2,45
if mouseclick()then rotate limb 70,32,a#,cam#,50
rem scale limb 70,32,80,80,80
scale limb 70,33,100,100,200
` LO HACEMOS SUBIR Y BAJAR CON EL LIMB 1(GENERAL)
offset limb 70,1,-rota#/3,0,0
`cintura
rotate limb 70,18,0,0,rota#*2
rotate limb 70,19,rota#,0,0
`========================================
`OTRO DUMY
`brazo derecho
rotate limb 71,21,0,rota#*2,ROTA#*3
rotate limb 71,22,0,-rota#*7,0
`brazo izquierdo
rotate limb 71,31,0,-rota#*2,ROTA#*3
rotate limb 71,32,0,rota#*7,0
`cuerpo y pierna izquierda
rotate limb 71,1,0,rota#,0
rotate limb 71,3,0,-rota#,0
rotate limb 71,11,0,0,rota#*3
rotate limb 71,12,0,0,-rota#*6
`========================================
rotate limb 72,11,0,0,-20+rota#*2
rotate limb 72,31,0,0,-20+rota#*2
rotate limb 72,32,0,0,30-rota#
rotate limb 72,12,5,0,-20+rota#
rotate limb 72,3,0,0,20-rota#*2
rotate limb 72,21,0,0,20-rota#*2
rotate limb 72,22,0,0,20+rota#
rotate limb 72,4,-5,0,-rota#
rotate limb 72,19,-20+rota#,0,0
rotate limb 72,18,0,-10+rota#/2,0
sync
loop
_controla_camara:
oldx#=x#
oldz#=z#
rem Controla la cámara con las teclas de flechas(alante y atras )
if upkey()=1 then x#=newxvalue(x#,a#,1) : z#=newzvalue(z#,a#,1)
if downkey()=1 then x#=newxvalue(x#,a#,-1) : z#=newzvalue(z#,a#,-1)
`nos desplazamos lateralmente a la izquierda (cursor derecho)
if leftkey()=1 THEN x#=NEWXVALUE(x#,a#-90,1):z#=NEWZVALUE(z#,a#-90,1)
`nos desplazamos lateralmente a la derecha (cursor izquierdo)
if rightkey()=1 THEN x#=NEWXVALUE(x#,a#-90,-1):z#=NEWZVALUE(z#,a#-90,-1)
a#=wrapvalue(a#+mousemovex()/2)
cam#=wrapvalue(cam#+mousemovey()/2)
rotate camera cam#,0,0
yrotate camera a#
`limitamos el subir y bajar la cabeza con el raton(vista de camara)
if cam#<=290 and cam#>180 then cam#=290
if cam#>=70 and cam#<180 then cam#=70
rem actualiza cámara y objetos sensores
position camera x#,145,z#
return
oh my god