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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
milktea

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

#1

投稿記事 by milktea » 10年前

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

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

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

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

#2

投稿記事 by h2so5 » 10年前

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

milktea

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

#3

投稿記事 by milktea » 10年前

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

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

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

milktea

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

#4

投稿記事 by milktea » 10年前

h2so5 様
すみません。
一応記述し忘れていました。
射影投影での当たり判定です。
よろしくお願い致します。

閉鎖

“C言語何でも質問掲示板” へ戻る