スポンサーサイト

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

5歩:続いてはマップ?

一応、ゲームの処理の中にスクリプトを組み込んで、
キャラクターを動かすことに成功しました。

とりあえずスクリプトに一区切りをつけて、
ここからはマップや表示などに入っていこうと思います。


そんな訳でまず、戦闘シミュレーションという事はキャラが選べなきゃダメだ、
という事になりました。
マップやキャラクターを3D表示をするということは、
マウスを使うのであれば2Dを3Dにしなければいけません。

ネットで調べながらこれで良いのかわかりませんが、やってみました。





その変換の方法ですが、普通は3Dを2Dに直す計算の逆、
それをする関数を使ってやっていくのですが……
調べているとなんとなく違う方法が出てきたので、
興味本位でそっちをやってみました。

まず、2Dのマウスを3Dに変換するためには、マウスが指していると仮定する
Y座標を指定します。
そこから計算してXYZを出します。


その、興味本位で選んでみた方法というのが、3点で作られた面とレイの辺り判定を行う、
そういうものでした。

まずはカメラの向いている位置と、指定されたY座標から、カメラが見ているそのY座標の
面のXZ座標を、変化の割合(笑)を使って算出。

そして同時にマウス座標とZ0と、Z1のものをつくり、レイを作成。
次に三角形を適当に作って、それとレイの辺り判定を取ります。

D3DXPlaneIntersectLine 関数は、どうやら三角形の中にマウスが来なくても
一応座標を返してくれるらしく、座標取得はこれで難なくいけました。
説明文からは、この中に入っていないと反応がないように思えたんですが。気のせいだったようです。


次は、これを利用してマス目を判断しようと思います。
ただ、カメラはある程度の角度をつけて画面いっぱいにマップが入るようにしないと、
座標が吹っ飛んでしまいますが。

そんな感じで進めて行こうと思います。


スポンサーサイト

コメントの投稿

非公開コメント

No title

む、むずかしいのう
プロフィール

堀

Author:堀
ゲームプログラマーを目指して、
卒業制作をして行こうと思います。

↓メールアドレス(画像)

カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

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