3D当たり判定

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

3D当たり判定

#1

投稿記事 by tokage » 15年前

3Dの壁や床のあたり判定を作ろうとしています。
自分で作ろうとすると壁を突き抜けるか、
DXライブラリのサンプル「3Dアクション基本」のパクリにしかなりません。
皆さんはどうやっていますか。 どなたか詳しい方、お願いします。

環境 Visual C++ 2008 Express Edition

Ma

Re:3D当たり判定

#2

投稿記事 by Ma » 15年前

あたり判定、というよりは接地しながら移動するなら、いかのとおりです。(私なら、、、)
ただ、ステージの仕様次第で計算がかわってきます。
ダンジョンのような完全にマスになっているような場合は、床は単純に計算できます。
壁は単純に移動後、どこにあるか計算して、移動可能範囲に出たら適当な処置を加えて移動可能範囲に戻すなどが有効かと。

リアルな地形の場合、そうはいきません。
この場合、自分の位置から地形データのある三角形の各頂点へベクトル3つをつくり、
それらを内積して足した角度で三角形上に現在いるか判定できます。
三角形上にないなら、179.99...度以下になる。

判定したら、現在のx,y座標と3つの頂点座標を用いてz座標を計算できます。

もちろん、他にもいろんな方法があるとおもうので、他の方の意見もきいてみてください。
*私はアマチュアで、他人が書いたアルゴリズムの一部を知っているだけなので。

softya

Re:3D当たり判定

#3

投稿記事 by softya » 15年前

DirectXでの処理方法(主に理論面)ですが、こちらが参考になりませんでしょうか?
http://marupeke296.com/COL_main.html

たいちう

Re:3D当たり判定

#4

投稿記事 by たいちう » 15年前

> DXライブラリのサンプル「3Dアクション基本」のパクリにしかなりません。

サンプルのパクリだと、何がまずいのですか?

オリジナリティが欲しい? → 掲示板で聞くのはOKなの?
○○という問題がある? → 問題を具体的に書くべき。

tokage

Re:3D当たり判定

#5

投稿記事 by tokage » 15年前

Maさん softyaさん たいちうさん 回答ありがとうございます。

現在、私はリアルなステージで作っています。
衝突判定の理論はなんとなくわかりました。これから試すつもりです。

パクリになるのを避けた理由はいずれ配布する予定で、パクリだと著作権などで
問題があるかもしれないと思ったためです。

tokage

Re:3D当たり判定

#6

投稿記事 by tokage » 15年前

いろいろ試そうとしてみましたが、どうやったらいいのかわかりませんでした
が、当たり判定自体は出来ました。壁や床の押し出す処理ができません。

ところでDXライブラリのDXライブラリのサンプルの一部を自分のプログラムに
組み込んだ場合著作権はどうなるのか、わかる方いませんか。

ookami

Re:3D当たり判定

#7

投稿記事 by ookami » 15年前

押し出す処理というのは分かりませんが、とりあえず著作権について。

まず、DXライブラリ本家の著作権に関するページは読まれましたか?
http://homepage2.nifty.com/natupaji/DxL ... cense.html


> ・DXライブラリの著作権は山田 巧が保持します。
> ・DXライブラリを使用して作成されたソフトウエアにDXライブラリを使用した旨を記載する
  必要はありません。(記載されれば嬉しいですが)

↑厳密にはサンプルについては言及されていないので、万全を期すなら著作者さんに問い合わせるのが良いと思います。が、readme.txt的なものにDXライブラリの使用を明記しておけば問題ないんじゃないでしょうか。

tokage

Re:3D当たり判定

#8

投稿記事 by tokage » 15年前

わかりました。
とりあえずDXライブラリの掲示板できいてみます。

tokage

Re:3D当たり判定

#9

投稿記事 by tokage » 15年前

きいてみたところ、どうやら
アプリケーションに組み込むなら問題ないようでしたので
解決にします。

皆さん ありがとうございました。

閉鎖

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