1人でゲームが作れるように修行します。2 (487レス)
上下前次1-新
299: SGGK ◆6pZCoAtaxk [sage] 2011/07/10(日) 22:33:55.13 ID:fCX0gGeR(1) AAS
昨日の書き込みで間違いがあった。
縦回転は、注視点位置ベクトル(x、0、z)から
カメラ位置ベクトルのY成分を0にした (略)
が正解。自分のプログラムは垂直方向がY方向になってるのが理由。
メタセコイア風に画面内のフィールドを動かせるようになったような感じがする。
直接これをゲームに使う事はないかもしれないけど、いろいろ動かして、カメラの位置を検討するのに使えそう。
>>279279(1): SGGK ◆6pZCoAtaxk [sage] 2011/06/22(水) 00:06:09.17 ID:TfzO15yA(1) AAS
>>274
既に色々な要素が画面に出てて進んでそうな感じ。期待してます!
>>278
UPお待ちしてます。自分もUPできるように頑張ります!
>>276
自分はDirectXが理解出来なくてDXライブラリで頑張ってます。
回転検出は出来てるようで、昨日はGetMouseWheelRotVol()とSetupCamera_Perspective()を使い、視錐台の視野角を変更して拡大縮小するやり方を試みて悩んでました。(ホイール止めても限界まで拡大してしまう)
もう少し考えて無理な場合、カメラを移動する方法で頑張ってみます。ありがとうございます!
でやった拡大方法だと、カメラの座標が変わらずに拡大縮小してしまうので、>>276276(2): 名前は開発中のものです。 [sage] 2011/06/21(火) 05:07:11.26 ID:MHP6wZYB(2/3) AAS
>>272
マウスホイールの回転検出はできてる?
方法はいろいろあるけど、たとえばWM_MOUSEWHEELメッセージを処理する方法があるよ。
3Dゲームでパースペクティブビューを使用しているのであれば、
フィールドを拡大縮小するのではなく、カメラの座標を注視点に接近または離脱させればいい。
なお、その際には視点-注視点間の距離を一定値で増減するのではなく、一定率で乗算、除算してやると良い。
(カメラ位置をE、注視点をFとしたとき、E'= F+(E-F)*k or E'=F+(E-F)/k。 kは1.0前後の定数)
氏の方法に変更。
次からはボールの動きに挑戦。179氏の>>297297(3): 179 ◆SLG//siTD6 [sage] 2011/07/08(金) 00:03:46.32 ID:eIT69sd4(1) AAS
1、原点(0,0,0)でカメラの向き(角度X,角度Y,0)の回転行列を作る
2、1のマトリックスから カメラから原点までの距離(0,0, - 距離)をトランスフォーム
3、マウスでのミドルボタン平行移動は(移動量X ,移動量 Y , 移動量Z(0))で1のマトリックスからトランスフォーム
4、2と3を足す
5、カメラに各要素をセット(4のposition、角度X,角度Y,0)
3、の 移動量Zの部分はメタセコアではズーム代わりになってると思う。
多分メタセコアのはこんな感じだと思(・x・`)
色々違ってたらゴメンナサイ、と・・・。
も意識して作業の予定。
上下前次1-新書関写板覧索設栞歴
あと 188 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s