ソラマメブログ
プロフィール
ぺんぎん
ぺんぎん
どもっす( ◎v◎ )
ぺんぎんっす。

「ぺんぎんさん」でいいっす。
「ぺんさん」でもOKっすよ。
何だって良いんっすけどね。
[個体名:Naoya Bellic]
(非商用)
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人

2009年07月07日

補間(vector編)っす

「軸」と「回転角」、頭に入ったっすか?
試験にでるっすよ。(黒板を叩きながら)
どうもぺんぎんっす( ◎v◎ )


パスカットなし型のドアをイメージしてくださいっす。
SetPosでは最初の位置→最終の位置まで直線を描くっす。
円弧を描くのが正しいっすから、違和感が生まれるっす。
三角関数でゴリゴリやれば途中での位置は出るっすけど、
rotationを使ってやると簡単にできるっす。

ベクトルの回転の最大のポイントは、
回転の中心はどこ?ってことっす。
ZERO_VECTORなのか、ルートの位置なのか、それとも別にあるのか、
ものすごく重要っす。

ドアの最初の位置、回転軸、回転角が既知
パスカットなし型ドアの場合、
途中の位置 =
 最初の位置 * llAxisAngle2Rot(軸, テキトー)
っと、これだけっす。
回転の中心は最初から最後まで変わらないっすよ。

軸は蝶番2つを利用(回転軸上にあるっすからね)すればラクっす。
GetPosして引き算っす。(正規化忘れずにっす)
回転角はお好みっす。


ぺんぎん的結論:
「軸」と「回転角」を制する者が、rotationを制する
回転角の符号の問題っすねぇ・・・
軸が逆向きだと、回転角も符号を入れ替えないとダメっす。

Try&Errorで何とかするっすか?


同じカテゴリー(スクリプト)の記事画像
位置判定っす
同じカテゴリー(スクリプト)の記事
 久しぶりの新関数っす (2011-04-23 23:19)
 11日(土)のオフィスアワーっす (2010-12-10 23:49)
 C#プロジェクトは凍結みたいっす (2010-07-01 22:35)
 4月24日のスクリプターズ・カフェっす (2010-04-27 19:06)
 潜入!1.38サーバーっす (2010-03-09 22:25)
 風の観測で分かったことっす (2009-08-16 22:11)

Posted by ぺんぎん at 21:37│Comments(2)スクリプト
この記事へのコメント
パスカットなしのドアの動きは独特ですよねぇ。初めは違和感ありますけど、個人的には、あの動きが、結構好きだったりします
Posted by midoriPaulse at 2009年07月08日 08:17
FPSが小さいもんっすから、あまり違いが分からないっす(涙)
Posted by ぺんぎんぺんぎん at 2009年07月09日 17:35
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。