Here's a snippet to demonstrate the problem, you'll have to insert your own .x model, make sure it is rigged but has no animation data:
`Simple Skeletal system test by James Masson
`16/05/03
`DBpro demo
`Mouse 2 selects bone
`Mouse x rotates object
`Mouse 1+move x/y rotates selected limb/bone in the x/y dimensions
`Spacekey moves the object in the direction it faces
`Do you notice only bone/limb 0 moves/rotates with the object, all others stay put!!?
sync on
hide mouse
color backdrop 0
`set this number as per the number of bones/limbs in the object
max_limbs=22
`place a rigged model with no animation data here
load object "test.x",1
autocam off
make object cube 2,1
ghost object on 1
ghost object on 2
do
if mouseclick()=2 then mc2=1
if mc2=1 and mouseclick()=0
mc2=0
inc ls,1
if ls>max_limbs then ls=0
endif
if mouseclick()=1
l_xrot#=wrapvalue(limb angle x(1,ls)+mousemovex())
l_yrot#=wrapvalue(limb angle y(1,ls)+mousemovey())
rotate limb 1,ls,l_xrot#,l_yrot#,limb angle y(1,ls)
else
ry#=wrapvalue(ry#+mousemovex())
yrotate object 1,ry#
endif
position object 2,limb position x(1,ls),limb position y(1,ls),limb position z(1,ls)
rotate object 2,limb angle x(1,ls),limb angle y(1,ls),limb angle z(1,ls)
if spacekey()=1 then move object 1,-0.05
set cursor 0,0
for l=0 to max_limbs
if limb exist(1,l)=1
l$=limb name$(1,l)
if l=ls
ink rgb(255,0,0),0
else
ink rgb(255,255,255),0
endif
print str$(l)+": "+l$
endif
next l
sync
loop
It demonstrates that not only does the mesh not deform, the limb position commands reveal the skeleton does not move with the model, except for the root bone, limb 0 :-s
ZX Spectrum 48k Issue 3, Radio shack Tape drive, Rank arena 12" T.V. set.