Quote: "No import for LWS or .X so not much help"
Yes, .X files have the animation baked in the verticles,
while the ms3d file has verticles attached to animated bones.
The ms3d animation system will save more performance and files will be much smaller. (Correct me if I am wrong and some sort of new .X format appeared between '09 and now that has at least one advantage to other formats)
I think fbx/dae are using the same bone animation thing like ms3d, but I have to check it first in detail.
Meanwhile you can compare 3d formats in detail with the following code:
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle( "FormatTest" )
SetWindowSize( 1024, 768, 0 )
// set display properties
SetVirtualResolution( 1024, 768 )
SetOrientationAllowed( 1, 1, 1, 1 )
SetSyncRate( 30, 0 ) // 30fps instead of 60 to save battery
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts
obj2 = LoadObjectWithChildren("dae.dae")
SetObjectScale(obj2,0.1,0.1,0.1)
if GetObjectNumAnimations( obj2 )>0
PlayObjectAnimation(obj2,"",0,-1,1,0)
endif
do
RotateObjectGlobalY(obj2,1)
print("children:")
print(GetObjectNumChildren(obj2))
print("child list:")
for i=1 to GetObjectNumChildren(obj2)
print(str(GetObjectChildID(obj2,i))+" - "+GetObjectName(GetObjectChildID(obj2,i)))
next i
print("meshes:")
print(GetObjectNumMeshes(obj2))
print("mesh List:")
for i=1 to GetObjectNumMeshes(obj2)
print(GetObjectMeshName(obj2,i))
next i
print("animations:")
print(GetObjectNumAnimations( obj2 ) )
Print("Animation List:")
for x=1 to GetObjectNumAnimations( obj2 )
print(GetObjectAnimationName(obj2,x))
next x
print("bones:")
print(GetObjectNumBones( obj2 ) )
print("bones List:")
for i=1 to GetObjectNumBones(obj2)
print(GetObjectBoneName(obj2,i))
next i
Print( ScreenFPS() )
Sync()
loop