スポンサーサイト

--年--月--日
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XNA:カメラワーク

2008年11月17日
昨今のサードパーソンシューティングでは、臨場感を出すためにカメラワークにも多くの手法が用いられています。
自機に少し送れて付いて来る「追尾型」なんかは代表的なカメラワークだと思います。
最近友人とプレイした「ギアーズオブウォー」なんかは、ダッシュ移動の際に、カメラマンが後ろから付いて来ているような「カメラのブレ」なんかも「おお~」と思いました。

もはやガンダムゲームの定番となっている「VS」シリーズでは、特定の攻撃がヒットした時に「カッコよく見える」位置にカメラを移動させてゲームを盛り上げてくれています。(初代連邦VSジオンで、シャアザクの飛び蹴り見たさによく狙ってたもんです)

となると、やはりXNA TNKにも臨場感のあるカメラワークを導入したくなるものです。
あまり凝ったカメラワークは出来ないと思うので、代表的な「追尾型」をやってみたいと思います。

試しに、自機の移動履歴をnフレーム間隔で10個まで保持できるワークエリアを用意して、移動履歴を記録します。
カメラは、移動履歴の一番最後(配列でいうと10番目)の位置を常に確認して、その位置に移動する。
という感じでコードを組んでみたのですが、、、、、、、

結果は「一応追尾型にはなっているが、カメラが飛び飛びで移動するので画面がガクガクする」
でした(汁

やはり思い付きでいきなりコードを書くとこんな結果になります。
で、次に思いついたのが「現在のカメラの位置から、移動履歴の最後の位置に向かってカメラを自発的に移動させる」です。
これなら、始点から終点までをヌメヌメと移動してくれるはずです。

そういえば、クリエイターズクラブのサンプルにそんな感じのがあったような覚えがあります。
嗚呼、まだまだやる事が一杯残っている今日この頃でした。
スポンサーサイト
Comment

管理者のみに表示

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。