2013年04月23日
原点回帰><
わたしが、最初に作った乗り物は、非物理でした。
そして、そのころの悩みはどうやってSIM越えするのだろうでした。
それが、ぁぁた、きのうの夜ふと思い立って、非物理のSIM越えググってみたら、できるって書いてありました><
integer i;
default{
state_entry(){
llSetTimerEvent(0.0);
i=0;
}
touch_start(integer detected){
i=i+1;
if(i==1){
llSetTimerEvent(0.5);
}
else{
llResetScript();
}
}
timer(){
llSetPos(llGetPos()+<0.5,0.0,0.0>);
}
}
と、まぁ、そこに載ってたのはもっと簡単なものだったのですが、止まらないと困るのですこし書き換えて、これを、立方体のデフォルトオブジェクトに仕込んで、乗って動かしてみました。(これをそのまま使う人もいないと思うけど、見やすくするため、半角スペースでなく全角スペースで字落ちしています。それを置き換えないとそのままでは動きません。あしからず。)
そしたら、やっぱ、できるじゃん。
で、最初に作った非物理の、乗り物は、写真に写っている、しっぽが動く乗り物なのですが>< 当時は、SIM越えできませんでした。いつ頃かと言うと、2008年の2月ごろですw そのころからずっと悩んでたのかいw そーです><
やっぱ、乗り物好きとしては、すべてのものに乗って動かしたいからね^^ おうちとかお城とか、その他なんでもね。そこで、物理の乗り物だと32プリムという制限があるので、非物理であれば、リンク可能な256プリムまで使えるからね。でも、SIM越えがと思ってたのですが、ぜんぜん障害になってないじゃん>< ま、あれだね Havok 4 に変わった時点で、改善されたのかもしれません。あたしゃいったいいつの時代のねこにゃんかい>< っていわれそうだね。5年前じゃ無理だったんよw
そこで、急に目の前が明るくなって^^ むかしの宇宙船ひっぱりだして、って、いっても、写真のだよw 笑うなかれ、これこそ、わたしの作った乗り物第一号だぉ^^
おまけに、当時は関数もよくわからず、サインコサインなどが関数にあるともしらずに、すべて手計算で動かしていましたw
しかも、苦労して動かして、やったーと思って、友達に見せたら、まったく感動してもらえず>< さんざんでしたw ま、それからすこしして、ビークル関数勉強して、未来カー作るんだけどね。非物理のものほめられてたら、物理に進むのが遅れたかもしんないね^^
で、三角関数なのですが、当時も100年ぶりくらいに、三角関数ってなにって調べて、sin が斜辺分の対辺、cos が斜辺分の隣辺って思い出し、そこからx軸の移動距離とy軸の移動距離を出したのでした。
すなわち、
sin Θ = b / c
そこから、
b = c × sin Θ
これが y 軸の移動距離になります。
同じく、
cos Θ = a / c
から
a = c × cos Θ
これが x 軸の移動距離になります。
cが一定じゃないと変な動きになるからね。ということで、三角関数が必要なのでした。
粗いプログラムだけど、問題なくSIM越えその他できました。
Posted by neconeco at 00:54│Comments(0)
│ものづくり