2008年10月17日
リンクプリムがずれる。
ローテーションスクリプトでリンクしたオブジェクトをグルグル回していると、はじめのうちは正常ですが、何日か放置していると、一部の子プリムの角度がわずかに変わってしまいます。
角度は切りの良い数値を入力しているはずなのに、いつも0.05くらい角度が変わってしまいます。
親のプリムはズレないので気がつかなかったのですが、同じような経験をされた方はいらっしゃいますでしょうか?
角度は切りの良い数値を入力しているはずなのに、いつも0.05くらい角度が変わってしまいます。
親のプリムはズレないので気がつかなかったのですが、同じような経験をされた方はいらっしゃいますでしょうか?
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
毎回同じように角度が変わるとのことですが、float型の計算誤差の積み重ねで角度がずれてしまっていると言うことはないでしょうか。
角度の計算手順によっては、誤差がどんどん積み重なってしまうということが考えられます。
ただ、実際にどういう処理をされているのかこちらで分からないため、誤差の積み重なりが原因なのかどうかは何ともいえません。
ちなみに、Havok1の頃には、子プリムの角度や位置が(徐々に)ずれてしまうと言うような不具合がありましたが、それはHavok4で修正された、となっています。
http://jira.secondlife.com/browse/SVC-88
回転を続けるオブジェクトのようですが、もし「角度」があらかじめ決まっているなら、別のところで前もって(エクセルなどで)計算しておき、スクリプトには計算結果を定数として与えるという手が考えられると思います。
こうすれば誤差がだんだん蓄積されていくという現象も回避できるはずですし、三角関数などの重い計算をさせなくて済むのでSIMへの負担が軽減されるというメリットもあります。
もちろん、コメントなど工夫して書いておかないと後で見直す時に意味不明になりますし、角度が不定ならこの手は適用困難になりますが……。
誤差の可能性があるのですね。
もう少し単純にしてみていろいろ試してみようと思います。
ありがとうございました(^_^