2007年04月21日
スクリプトでコマまわし:物理属性の衝撃!
なんという事だろう。今までの苦労が無駄に見える美しい解を見つけてしまった。
コマの回転をどのように減速させるかを、時間による減速、衝突による減速など、苦労しながら試行錯誤していたのが、すべて無駄だったのである。
まず、物理属性を持たせたコマを他のオブジェクトで回す事を考えた。
他のオブジェクトをコマに接続して、そのオブジェクトを回して、時間がたったら、ファントムにして影響を消す。→うまく行かない。ファントムになるたびに、外れる。リンクするとコマまでファントムに…
もしやと思い、回転させた後、llResetScript()を使用してみると、なんとちゃんと動作するではないか…
これまでの長いスクリプトとは打って変わって、シンプルなスクリプトで、ちゃんと動いた…
かなり衝撃!→もっと早く気づけよーという感じか。

--------------------------
default
{
state_entry()
{
}
touch_start(integer total_number){
llTargetOmega(<0,0,1>, 100*PI, 1); //適当に回転スピード
llSetTimerEvent(2.0);
}
timer() {
llResetScript();
}
}
コマの回転をどのように減速させるかを、時間による減速、衝突による減速など、苦労しながら試行錯誤していたのが、すべて無駄だったのである。
まず、物理属性を持たせたコマを他のオブジェクトで回す事を考えた。
他のオブジェクトをコマに接続して、そのオブジェクトを回して、時間がたったら、ファントムにして影響を消す。→うまく行かない。ファントムになるたびに、外れる。リンクするとコマまでファントムに…
もしやと思い、回転させた後、llResetScript()を使用してみると、なんとちゃんと動作するではないか…
これまでの長いスクリプトとは打って変わって、シンプルなスクリプトで、ちゃんと動いた…
かなり衝撃!→もっと早く気づけよーという感じか。
--------------------------
default
{
state_entry()
{
}
touch_start(integer total_number){
llTargetOmega(<0,0,1>, 100*PI, 1); //適当に回転スピード
llSetTimerEvent(2.0);
}
timer() {
llResetScript();
}
}
Posted by gpapa at 15:38│Comments(1)│TrackBack(1)
この記事へのトラックバックURL
この記事へのトラックバック
セカンドライフ(Second Life)は、英語名の頭文字をとって「SL」と略されることもあります。アメリカで誕生したオンラインサービスで、登録して会員になると「アバター」が与えられます...
セカンドライフ【セカンドライフに挑戦!!】at 2007年05月05日 19:01
この記事へのコメント
試してみました。
よく回りますね^^。
よく回りますね^^。
Posted by もに at 2007年04月21日 22:20


