ページ 11

3Dの2Dあたり判定と画面外の処理について

Posted: 2014年12月13日(土) 16:11
by milktea
初めまして。こんにちは。
milkteaと申します。
プログラム歴は2年で言語はC言語(C++)OpenGLESのandroid勉強中&開発中のものです。
質問内容なのですが、2点ありまして、
まず
①3Dの2D当たり判定について
3D画面で3Dモデルをタッチイベントでタッチしたときに2Dで座標取得されますが、それを3D画面で行った場合どうやって3Dモデルとの当たり判定をすればいいのでしょうか?
たとえば、3D画面をZ軸に45度回転させたときに3Dの画面をタッチイベントでタッチした時、2D座標を3Dで当たり判定をしたいのです。
もしくはそれに近い方法などあればご教授願えないでしょうか?
②画面外の処理について
画面外の処理で画面全体を回転させた場合の画面外の処理方法で多分座標を指定してやっていると思うのですが。画面外の処理は3Dの座標では2D座標をどのような処理をしているのでしょうか?

よろしくお願い致します。

Re: 3Dの2Dあたり判定と画面外の処理について

Posted: 2014年12月13日(土) 16:35
by h2so5
milktea さんが書きました: ①3Dの2D当たり判定について
3D画面で3Dモデルをタッチイベントでタッチしたときに2Dで座標取得されますが、それを3D画面で行った場合どうやって3Dモデルとの当たり判定をすればいいのでしょうか?
たとえば、3D画面をZ軸に45度回転させたときに3Dの画面をタッチイベントでタッチした時、2D座標を3Dで当たり判定をしたいのです。
もしくはそれに近い方法などあればご教授願えないでしょうか?
描画時の変換行列の逆行列を利用すれば可能です。
milktea さんが書きました: ②画面外の処理について
画面外の処理で画面全体を回転させた場合の画面外の処理方法で多分座標を指定してやっていると思うのですが。画面外の処理は3Dの座標では2D座標をどのような処理をしているのでしょうか?
画面外の処理とは何でしょうか?

Re: 3Dの2Dあたり判定と画面外の処理について

Posted: 2014年12月13日(土) 20:26
by milktea
h2so5 様。
返信レスありがとうございます。
①について
逆行列ですか。すみませんがそのやり方についてですが、行列(4×4のビュー行列*ワールド行列(回転・拡大・移動))の逆行列で合っていますでしょうか?

②画面外についてですが。
申し訳ありません。説明不足でした。
画面外とはディスプレイの上下の外側&奥行の限度値のことです。

よろしくお願い致します。

Re: 3Dの2Dあたり判定と画面外の処理について

Posted: 2014年12月13日(土) 20:31
by milktea
h2so5 様
すみません。
一応記述し忘れていました。
射影投影での当たり判定です。
よろしくお願い致します。