トップページ > 過去ログ > 記事閲覧
正射影カメラの表示幅
名前:よこたん 日時: 2011/01/06 17:02

はじめまして。とても便利に使わせていただいてます。 今回、2次元の背景に3次元のモデルを重ねて表示しようとしているのですが、X軸方向の座標を合わせるのに、少し変なことになってしまっています。 2次元の表示はDrawExtendGraph()で行い、3次元のモデルはMV1DrawModel()で描画しています。 アプリ起動時に、下記の設定を行っており、2次元の表示は640ピクセル表示されています。 ChangeWindowMode( TRUE ) ; // Windowモードで起動 SetGraphMode( 640 , 480 , 16 ) ; ここに、正射影のカメラを水平幅640ピクセル、仰角30°の指定で配置すると、モデルを横に移動させると移動距離が全然足りない状態になってしまいました。 SetupCamera_Ortho( 640.0f ) ; VECTOR CameraPosition = VGet( 320.0f, 300.0f, -519.6f ) ; float VRotate = 3.14f / 6.0f ; SetCameraPositionAndAngle( CameraPosition, VRotate, 0.0f, 0.0f ) ; ためしに、水平幅を480ピクセルに設定してみると、見た目にしっくりくるような感じなのですが、どこか使い方を間違っているように思います。 この補正で、なんだかそれらしく合成できるので、このまま開発を進めてもよさそうなのですが、間違いがあれば傷が浅いうちに対処したいので、お気づきの点があれば教えていただけないでしょうか。 よろしくお願いします。

Page: 1 |

Re: 正射影カメラの表示幅 ( No.1 )
名前:管理人 日時:2011/01/08 20:25

はじめまして ご指摘の通り SetupCamera_Ortho の引数は垂直方向の幅でした( リファレンスを修正しましたm(_ _;m ) 現在引数に渡す値を 480.0f にしてられるとのことですが、 その設定でよこたんさんの意図通りの表示水平幅 640.0f になります
Re: 正射影カメラの表示幅 ( No.2 )
名前:よこたん 日時:2011/01/09 00:04

管理人さん、ご回答ありがとうございます。  今回が、初めての3D挑戦で、自分がやっていることが正しいのか、よくわからないまま進めている状態でしたので、解説していただけたことで、安心して開発を進めることができます。 ありがとうございました。  

Page: 1 |