今回はちょっとMax Scripをやってみた。
3dsMaxのBipedアニメーションを取り出して、
QuartzComposerとかで使ってみようと思う。
元ネタは佐藤雅彦さんの表現によく見られる点人間。
MaxScript事態初めてだったので、正直わけわからなかった。
いろいろ調べまくってできたのが以下のスクリプト
startshape main out_name = getSaveFileName caption:"Data File" types:"DataFile (*.txt)|*.txt|All Files (*.*)|*.*|" out_file = createfile out_name head = biped.getNode $ #head link:1 neck = biped.getNode $ #spine link:4 spine = biped.getNode $ #spine link:1 rUparm = biped.getNode $ #rarm link:2 rForearm = biped.getNode $ #rarm link:3 rHand = biped.getNode $ #rarm link:4 lUparm = biped.getNode $ #larm link:2 lForearm = biped.getNode $ #larm link:3 lHand = biped.getNode $ #larm link:4 rThigh = biped.getNode $ #rleg link:1 rCalf = biped.getNode $ #rleg link:2 rFoot = biped.getNode $ #rleg link:3 lThigh = biped.getNode $ #lleg link:1 lCalf = biped.getNode $ #lleg link:2 lFoot = biped.getNode $ #lleg link:3 animate on for i=0 to 60 do ( sliderTime = i p1= biped.getTransform head #pos p2= biped.getTransform neck #pos p3= biped.getTransform spine #pos p4= biped.getTransform rUparm #pos p5= biped.getTransform rForearm #pos p6= biped.getTransform rHand #pos p7= biped.getTransform lUparm #pos p8= biped.getTransform lForearm #pos p9= biped.getTransform lHand #pos p10= biped.getTransform rThigh #pos p11= biped.getTransform rCalf #pos p12= biped.getTransform rFoot #pos p13= biped.getTransform lThigh #pos p14= biped.getTransform lCalf #pos p15= biped.getTransform lFoot #pos format "%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥t%¥n" p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 to:out_file ) close out_file使用するにはアニメーションを書き出したいBipedを選択して、このスクリプトを実行します。
Bipedの13カ所の位置情報を各フレーム毎に記述したテキストファイルを作成されます。
このテキストファイルを利用してQuartzComposerにアニメーションを持っていこうと思う。
続きは次のエントリーで書きます。
追記(6/2)ちょっとスクリプトの内容を変更しました。位置毎にタブを入れるようにしました。
0 コメント:
コメントを投稿