- 414 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 03:44:14 ID:zs1Wdwif0]
- >>412
座標の図を書いて計算してるなら、ミスってない限り中心点はあってると思う。 ということで、映らない原因として考えられるケースを2つ。 考えられるケース1.「注視点の設定がおかしい」 「位置=注視点」になってしまうと、「どこも見てない」ってことになり、何も写らない。 注視点は必ず位置とはずらして設定しましょう。 考えられるケース2.「>>406に書いたようにカメラに近すぎてカットされている」 「カメラの位置」から「注視点方向にOpenGL座標距離で1進んだ位置」までの範囲の映像は、 カメラに近すぎるぜってことでカットされる。(クリッピングって言うんだっけ?) 例えばデフォルトのカメラは 位置(0,0,2)、注視点(0,0,0) になってるけど、この場合、(Z <= 1)の範囲しか描画されない。 コンポジションが512x384なら、OpenGLの座標1=512/2=256ピクセル相当。 100x100ピクセルのカラーイメージで四角を作って、その中心にカメラを置いた場合、 正対する面とカメラの距離は50ピクセル(OpenGL座標距離にして50/256=約0.195)しかないので、 カット範囲に含まれてしまい、描画されない。 対応策としては、 ・十分大きなカラーイメージで四角形を作る。 (512x512以上にすれば一応正対距離1になるが、回転させると切れる部分もあるので もうちょっと大きめになるかな。) または ・カメラのスケールを小さくする。 (カメラが縮む→50ピクセルという距離が相対的に大きくなる→ スケールを20%(1/5倍)にすれば、50ピクセルという距離は カメラにとっては250ピクセル相当(5倍)という扱いになる→ スケールをもうちょい小さくすれば50ピクセルが256ピクセルよりも 大きいという扱いになり、その時点でカット範囲を抜け描画される) (↑スモールライトで自分が小さくなればネズミも大怪獣になるぜ的な感じ) わかりづらいけど、多分こんな感じ。
|

|