Game Development Community

ArmThread ... How use this?

by CIMO · in Technical Issues · 09/09/2006 (5:44 am) · 13 replies

Hi...I test a ArmThread in milkShape
But i have a problem...Any person say how to use this?
I woul create a different pose for different weapon and i use a code "armThread = "lookM4A1";" for use a pose for different weapon...But i have the problem...
How create a ArmThread in milkShape?
THANKS FOR HELP =)

#1
09/09/2006 (2:35 pm)
Cimo, I thought we went over this many months ago....;).

Make it a blendType sequence using the root frame as the Blend Reference Fr#. Name it whatever your code is using for that calling[there is no right/wrong FILE names{I think, so LOOK part isn't really needed}...they are references for the callings...]...usually has look as a baseName, appended with some type of weapon specific naming convention. Look at the default SDK .dsq sequences looknw, lookms, looksn......those are the armThread 'names' needed for the code part in your specific weapon script[ armThread = BLAH ] portions of the code block; these represent the noWeapon, missleLauncher, and sniperWeapons.

'Looks'[for your example above] like you'd make a blend sequence with the sequence name in the MS3d editor to be 'lookM4A1', and that should be it.

DO NOT CONFUSE FILEname & SEQUENCEname....if your constructor script doesn't supply one, I believe it uses the FILE name by default!

...so the name of the .dsq FILE might be soldato_lookM4A1.dsq-once exported
......and the name of the SEQUENCE will be lookM4A1-done with DTSPlus! exporter dialog before exporting, this will then match your code of armThread = "lookM4A1"{although I'm not sure if this should be a 'tagged' string for network travel...good question}
.........then make certain your TSShapeConstructor script has the proper file path and SEQUENCEname, so it might look like sequence[0] = "./soldato_lookM4A1.dsq lookM4A1" if the script, .dsq files, and .dts shape are all in the same directory as the SDK player example shows.

Good luck.

The animation for this sequence should be exactly like the default SDK lookde. It is an UP/DOWN animation for when the player avatar follows the client mouse inputs, that's it; nothing more
#2
09/10/2006 (4:02 am)
I my problem is the pose of my player....All sequence and code read exactly but the pose have a problem....
My player have strange up and down pose.....
if i have a weapon on armThread not see regular arm pose but see a down pose...
see a image for example
www.game-robot.it/armThreadImage.JPGIn game up-middle-down see in dis mode...But in milk i have assign a normale up-midle-down pose
WHY?!!??!
#3
09/10/2006 (8:12 am)
I also have a question about this. what about look blend animation? how does one switch back to this? is it just a matter of calling:

setarmthread("look")
#4
09/10/2006 (8:17 am)
Are you even certain that you are producing a true Blend sequence? Do you inspect your shapes with ShowToolPro? That has a very nice matrix of the data stored within the sequence... It is very hit/miss trying to debug shapes using the default ShowTool -MOD..."does a Node exist?", "is this a true blend sequence"...

Sounds like a case of the blend reference frame not matching; combined with Milkshape's Root Frame.

If you create a humanoid shaped mesh in the classic 'DaVinci' pose in Milkshape for ease of skinning and rigging and then enter Animation Mode to pose it to a "root" pose and use that pose[Animation Mode FR1] as the Blend Reference Frame, this may be presenting the issue... With Ms3d, I don't work in that fashion, I always leave my shape's needing a root pose to have that pose be the Scene Root of Ms3d; which means you see NO change in the shape when you Enter/Exit Animation Mode. It's tricky to setup, and I've not tried anyother method since, looking at the default SDK example file, it is setup in that fashion. You have to enter Character Studio to get to the skinning pose; albeit this is with a v5 of Max. If this isn't the case and the shape holds the same pose, I would lean towards not setting up the sequence correctly with the dialog.

...in any case, it certainly 'looks' like classic bad Frame referencing.
#5
09/10/2006 (8:22 am)
I don't understand.....
I use a root pose "1-2" clicly
I use look default pose "3-5" noCicly
I use lookEagle "6-8" noCicly
I use lookM4A1 "9-11" noClicly
In game all ok not Crash but see up-meedle-down pose in my up figure...
WHY?
#6
09/10/2006 (9:04 am)
I don't understand what "my up figure" means??

does lookEagle work correctly?

If so, I would setup the lookM4A1 the same way, using the same BlendReferenceFr# as lookEagle does. Say, isn't that the sequence I setup for you a while back, ;)? Now, that should be working correctly and I would setup any future weapon[armThread = XX] like this sequence, since; it does work correctly, doesn't it?

does default pose[3-5] work correctly?

..is this a noWeapons pose, by chance?

In any case, if the other 'look' sequences are working correctly with the proper callings[which I'm assuming they do??], I would emulate those to produce future sequences, like building blocks, ;).
#7
09/10/2006 (9:36 am)
ALL work correctly and the game not crash
But the armTrhead work in "my up figure" see the my last post! see up post
#8
09/10/2006 (9:56 am)
...lol,

and I say," setup the sequence exactly like your other look sequences and if it still doesn't work as you 'expect'; well, sounds like you need to redo the sequence".

It is beyond difficult to explain to you why things don't work as you expect them to, Cimo.

You say, they ALL work correctly and the engine doesn't crash, sounds really like you created a bad sequence/file....to me.
#9
09/10/2006 (10:04 am)
This is a my file with the armThread sequence
File armThread
See the problem thanks
#10
09/10/2006 (11:01 am)
I have looked at the file and maintain it is because of the Blend Reference Frame#.

You are telling your lookM4A1 sequence to use frame10 as the blend reference frame#. That pose is your UP extreme?? Why are you doing that? The engine will apply the sequence[from that reference point] thinking the shape is in that pose, but it's not. It's in the root pose instead and that is where the engine is applying the rotations from, and you end up with offset animation as you've produced.

Your lookEagle seems to do the same...

Your look, isn't even a blend sequence...

Again: Use your base root pose to apply your new weapons, etal. armThreads to reference, I can't explain it any other way.
#11
09/10/2006 (11:27 am)
You correct a this file in right type?
and my problem is resolve....
#12
09/10/2006 (11:32 am)
Cimo, I already did that some time ago with that rig you sent me...??? I spent a week setting a mesh up and then rebuilt the rig with proper mountPoint alignment and extra ones to boot, if I remember correctly. I spent another week helping animate the base sequences you needed help with, which is basically a repeat here...??? What happened to the original shape I helped you with??

Change your blend reference frame# for your look sequences to be your root pose frame, I cannot explain it any other way.
#13
09/10/2006 (11:41 am)
But change a two second this file.....why don't change? just a second...