トップページ > 過去ログ > 記事閲覧
3D表示における軸の位置について
名前:powder 日時: 2009/09/30 12:48

質問です。 デフォルトの状態ですと座標(0,0,0)に3Dモデルを置いて カメラの注視点(0,0,0)に設定すると3Dモデルは画面の中央に 表示されます。 例えばこの状態のまま全体の表示を画面左下の方にずらす 事はできますでしょうか?イメージとしてはX軸とY軸の位置 をそのまま画面上でずらす感じです。 あるいは軸の中心はあくまで画面の中心に固定で、モデルと カメラの座標をずらすしかないのでしょうか。

Page: 1 |

Re: 3D表示における軸の位置について ( No.1 )
名前:コーラ 日時:2009/09/30 22:21

普通にカメラの注視点とカメラの座標を弄ってはダメなのですか?
Re: 3D表示における軸の位置について ( No.2 )
名前:管理人 日時:2009/10/01 09:20

恐らく powderさんがお望みの機能を実現するための関数を追加しましたので よろしければこちらのバージョンをダウンロードしてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい) 追加した関数は以下の関数です // 画面上におけるカメラが見ている映像の中心の座標を設定する int SetCameraScreenCenter( float x, float y ) ; この関数の引数の初期値に相当するものは画面の中心座標です カメラの注視点が (0,0,0) の場合、カメラが見る映像の消失点は画面の中心になっています この関数はその消失点を変更するための関数です 例えば SetCameraScreenCenter( 320 + 100, 240 - 100 ) ; と記述して実行すれば ( 画面解像度が 640x480 の場合 )消失点は画面の中心から右と上にそれぞれ100ドットづつ移動します これはカメラの位置を変更しているわけではありませんので、3D映像自体はそのままで、 見えている絵としての映像だけが移動します ・・・・この関数で大丈夫でしょうか? > コーラさん 消失点の存在を意識していなかった時は私もそう考えていました (・・;
Re: 3D表示における軸の位置について ( No.3 )
名前:powder 日時:2009/10/01 12:17

迅速な対応ありがとうございます。 >3D映像自体はそのままで、 >見えている絵としての映像だけが移動します まさにこの機能が欲しかったのです。 ちなみに用途としてはUI領域とゲーム画面領域をレイアウトする際に欲しいなと思い質問しました。 (すべてのモデルとカメラにX,Yのオフセットを与えて表示する場合と比べて手間が省けるので。) 実はC#用のDLLを使わせて頂いているので(質問の時点で書くべきでした)、お手数でなければ C#用のDLLも提供していただけないでしょうか?

Page: 1 |