先日公開された
SimROBOT 0 for ROBONOVA-I
なんですが、独自のsrm形式と、rsf形式(roboScript)が読込め、書き出しは、srm形式のみのようですね。
RZ1Disguiseでsrm形式を変換できるように、とりあえず、サンプルのBOWをsrmで書き出して中を見てみました。
ただのテキストファイルですね。
テキストエディタで開いて見てみると、以下のようになっていました。
F0 [ Body px=0.000, py=7.657, pz=0.057, rx=-90.000, ry=-0.055, rz=90.000 ] RThigh=0.000,RKnee=38.000,RShin=0.000,RAnkle1=21.000,RAnkle2=0.000,LThigh=0.000,LKnee=38.000,LShin=0.000,LAnkle1=21.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F14 [ Body px=0.000, py=6.862, pz=-0.460, rx=-90.000, ry=-39.055, rz=90.000 ] RThigh=0.000,RKnee=105.000,RShin=-10.000,RAnkle1=3.000,RAnkle2=0.000,LThigh=0.000,LKnee=105.000,LShin=-10.000,LAnkle1=3.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F80 [ Body px=0.000, py=6.862, pz=-0.460, rx=-90.000, ry=-39.055, rz=90.000 ] RThigh=0.000,RKnee=105.000,RShin=-10.000,RAnkle1=3.000,RAnkle2=0.000,LThigh=0.000,LKnee=105.000,LShin=-10.000,LAnkle1=3.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F98 [ Body px=0.000, py=7.657, pz=0.057, rx=-90.000, ry=-0.055, rz=90.000 ] RThigh=0.000,RKnee=38.000,RShin=0.000,RAnkle1=21.000,RAnkle2=0.000,LThigh=0.000,LKnee=38.000,LShin=0.000,LAnkle1=21.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F114 [ Body px=0.000, py=7.657, pz=0.057, rx=-90.000, ry=-0.055, rz=90.000 ] RThigh=0.000,RKnee=38.000,RShin=0.000,RAnkle1=21.000,RAnkle2=0.000,LThigh=0.000,LKnee=38.000,LShin=0.000,LAnkle1=21.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
《構造》
キーフレーム:
位置と向き:
- [
- スペース
- Body //基準部位
- スペース
- px=?, //X位置
- スペース
- py=?, //Y位置
- スペース
- pz=?, //Z位置
- スペース
- rx=?, //X軸回転
- スペース
- ry=?, //Y軸回転
- スペース
- rz=? //Z軸回転
- スペース
- ]
- スペース
サーボモータ:
- RThigh=?, //右大腿(股関節の外転、内転):#22
- RKnee=?, //右膝(股関節の屈曲、伸展):#21
- RShin=?, //右脛(膝関節の屈曲、伸展):#20
- RAnkle1=?, //右足首1(足首の底屈、背屈):#19
- RAnkle2=?, //右足首2(足首の内反、外反):#18
- LThigh=?, //左大腿(股関節の外転、内転):#4
- LKnee=?, //左膝(股関節の屈曲、伸展):#3
- LShin=?, //左脛(膝関節の屈曲、伸展):#2
- LAnkle1=?, //左足首1(足首の底屈、背屈):#1
- LAnkle2=?, //左足首2(足首の内反、外反):#0
- LShoulder=?, //左肩(肩関節の屈曲、伸展):#6
- LUpperArm=?, //左上腕(肩関節の外転、内転):#7
- LArm=?, //左腕(肘関節の屈曲、伸展):#8
- RShoulder=?, //右肩(肩関節の屈曲、伸展):#12
- RUpperArm=?, //右上腕(肩関節の外転、内転):#13
- RArm=?; //右腕(肘関節の屈曲、伸展):#14
フレーム:キーフレームのフレーム番号に"F"を付ける。
位置と向き:基準部位が胴になっていると、換算するのが特に面倒くさそう。ま、足になっていても面倒くさそうだけど。。。
サーボモータ:右にはR、左にはLが付いた名前とモータの角度で各モータを表しているみたい。けど名前の付け方が変な気がするけど、ま、いいや。上記赤字で示したモータに対応します。
スタンダードポーズの角度が以下(赤字はroboBASICなどの場合の角度)
- RThigh=0.000 //100
- RKnee=38.000 //93
- RShin=0.000 //145
- RAnkle1=21.000 //76
- RAnkle2=0.000 //100
- LThigh=0.000 //100
- LKnee=38.000 //93
- LShin=0.000 //145
- LAnkle1=21.000 //76
- LAnkle2=0.000 //100
- LShoulder=0.000 //100
- LUpperArm=-70.000 //30
- LArm=-20.000 //80
- RShoulder=0.000 //100
- RUpperArm=-70.000 //30
- RArm=-20.000 //80
とBOWの場合は、以上のような構造でした。
srmからrsf、basへの変換は簡単に対応できそうですね。
srmへの変換は位置情報算出がやっかいだなぁ
でも、SimROBOTのインポードRSFでも、位置情報は何も計算されないみたいだから、それでいいなら、簡単だな
最近のコメント