FC2ブログ
夢か現か、きっと気付けば、貴方は夢うつつのまどろみの中へ。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- (--:--) / スポンサー広告 / (-) / (-) /
モチベーションが下がり気味なこの頃。
ゲーム自体の制作は隣に置き、気になる項目を散策的に手をつけてみる。

最近の興味は専ら「曲線」。
カメラの曲線的な動きやら、STGのロックオン式曲線レーザーやら。
その中でも、今回、考えているのは曲線レーザー。
ぱっと思いつく手法としては、
 ・目標位置への角度を取得し、最大旋回角度内で進行方向を修正し動かす。
この時に、角度の修正量に合わせて速度も変えたり、速度に慣性的な動きを入れれば、
これだけでも、結構いい感じには動くのではないかと思う。

次に考えたのがスプライン曲線
で、Bスプラインとかだと、始点と終点以外の点は通らないので
ぐにゃぐにゃ複数ターゲットを巡りつつ進行するレーザーは面倒。
ということで、CatmullRomを考えてみる。
CatmullRomだと、指定した点全てを通る曲線を作ってくれる。

ただし、このCatmullRomも点を4つ指定して、点2~点3間の曲線を計算するので
「点が4つ以上ないと定義不能であるのと、始点と終点への曲線が描けない。」
という弱点が。
と、思って探してたら、良い感じの資料を発見。
計算式が乗ってたので、ありがたくそのまま拝借。

で、ぱぱっとテストしてみる。

結果はこんな感じ。
catmullrom

ぉー。良い感じ。
点の指定具合によっては、微妙に歪むときもあり完璧に綺麗とは言えないけど…。
ぱっと見たぐらいでは、そんなに違和感もなさそう。

とか思ってたら。STGの曲線レーザーにするには更に弱点が。
<1>
 レーザー発射時には、最初のターゲットから最後のターゲットを全部
 つまり、通る予定の点を全て指定しなければならない。
<2>
 敵は当然動く。となると、完璧に敵に当たるようにするには、
 通って欲しい制御点の位置(敵の位置)が何度も変更されてしまう。
<3>
 移動速度の固定が難しい。(出来ない?)

<1>は、まぁ、発射時に敵探して指定することは可能。
が、<2>は…どうしたものか。
毎回与える点が移動していたら、曲線が歪む気がしてならない。
<3>は、悩んでたらGems4巻に不均一スプラインなるものが載っていた。
これを使えば、概ね速度は一定化できるみたい。


しかし、結果としては、複数ターゲットをなぞる様にして曲がっていくレーザーに
スプライン曲線はどうにも使いづらそうに思えてきた。
別の場面では、十分に有用なのはよく分かるのだけど…。
んー、実装次第では実用できるのかなぁ。悩み。

少なくとも、ゲーム用途に限るなら、BスプラインやNURBSよりは、
CatmullRomが使い易いとは思うのだけど。
スポンサーサイト
2006.09.03 (17:16) / Program / (0) / (0) /





 管理者にだけ表示を許可する


Copyright © 2004 Powered by FC2 All Rights Reserved.
Template by lovehelm
/ 2018.09 /
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。