トップページgamedev
1001コメント354KB

出し惜しみせずに3Dの技術を誰かが答えます Part4

■ このスレッドは過去ログ倉庫に格納されています
0001プチ9627m02/05/12 11:50ID:S37fCL0U
3D技術の解らないことや気になることを誰かが答えてくれるスレ。

お約束
1. 出し惜しみしないこと。
2. 3Dそのものの是非については議論の対象外とする。
3. いかなる理由があれ、個人叩きは厳重に禁止。
  (守れない輩は、この板のローカルルール百回読みの刑に処す)

では、ご随意に。

■ 過去スレ
出し惜しみせずに3Dの技術を誰かが答えます Part3
http://game.2ch.net/test/read.cgi/gamedev/1016725546/
0721名前は開発中のものです。02/10/27 03:12ID:???
Mobile suit <-> Normal suit
Mobile suit <-> Normal armor
0722名前は開発中のものです。02/10/27 03:36ID:???
>>720
>頂点方線はポリゴンの丸さ具合を表現すると理解してええんでしょうか。
 
まぁ、得られる結果を単純に捉えれば
そういう理解になってしまうかもしれんが。
プログラマの理解としてはかなり問題あるので
数学のお勉強をちゃんとやれ。
   
>頂点法線を操作出来るようなモデラーってありますか?
>見たこと無いんですが。
 
んなこたーない。
0723名前は開発中のものです。02/10/27 03:41ID:wYboJGjm
>>722
了解す、夜遅く有難うございました
0724名前は開発中のものです。02/10/27 03:58ID:pOGdUpjg
法線とライトの内積の意味をきちんと理解したほうが良い
ということでしょうか?部外者なのですが気になりました。
最近はソフトレンダリングしないのでこの辺の知識がない人
も多くかつシェーダーを書く際には必須なのでこの辺りで
つまずく人も多いのかなと思います。
0725名前は開発中のものです。02/10/27 05:32ID:???
ローポリモデル限定で今後もずーっとやってける保証があるなら
プログラマとして要求される教養水準は たかが知れてるので
どうということはない。気にする必要なし。
 
もっとも、そんなんで通用する仕事はもはや減る一方だけどね。
デザイナの要求に応えられない自称『3Dプログラマ』はゴロゴロいる。
0726名前は開発中のものです。02/10/27 10:18ID:???
>>724
ソフトレンダリングなんかしなくても、
拡散反射光や鏡面反射光なんかの計算をするのに法線は必須やん。
0727名前は開発中のものです。02/10/28 23:58ID:ZpMpC/gi
3D空間上の「点」「線」をプログラム的にレイピックする方法を、
あるいは解説しているサイトなどを、ご教授頂けないでしょうか。

三角形との内部判定などについては解説サイトもあったのですが、
線や点となると…誤差とか考えるともうさっぱりで…。
0728名前は開発中のものです。02/10/29 01:11ID:WzGCAJ0z
 レイピックってどういう用語?初めて聞いた。ググっても引っ掛ら
ないですよ?

 文脈からなんとなく理解は出来るんだけど…。一応教えて?
0729名前は開発中のものです。02/10/29 03:43ID:EsvmQVuU
点とか線を大きくして球やカプセルとして扱って判定してるんでしょ
0730名前は開発中のものです。02/10/29 06:18ID:???
>>729
ぎゃ、逆転の発想!なるほど、そちら側に余裕を持たせれば良かったのか…。
これでようやく、スクリーン座標に変換してから判定する泥臭いやり方から
抜け出せそうです。ありがとうございました。

>>728
ええっと、英語にすると(RayPick)ワラワラ引っかかるかな…。
WRITING WEB SITE様の方で拝見した用語です。
0731名前は開発中のものです。02/11/02 02:35ID:???
早く MinGW で OGRE が使えるように頑張れと祈ってみ増田。
けど、このままだと DirectX 対応は無しぽ
0732あぼーんNGNG
あぼーん
0733名前は開発中のものです。02/11/19 14:46ID:???
バウンディングボックスの可視判定について教えてください

class CBoundingBox {
protected:
  D3DXVECTOR3 m_vecMin;
  D3DXVECTOR3 m_vecMax;
  D3DXMATRIX m_matTransform;
    :
    :
};

こういうのを当たり判定用に使っているのですが、これが視錐台内にあるかどうか調べるにはどうすればいいですか
ついでにバウンディングスフィアの場合も教えてもらえれば助かります よろしくおながいしまつ
0734名前は開発中のものです。02/11/19 17:32ID:???
>>733
視錐台は四角錐。バウンディングボックスは直方体だよね。
どうすればいいと思う。
0735名前は開発中のものです。02/11/19 21:50ID:???
>>733
返事がないようだな。
解決ということでイイな。
073673302/11/20 01:15ID:???
いや正直わからん・・・
家に帰っていろいろ試してみたけどよく分からん
m_matTransformをどうにかして、視錐台用BoundingBox作れば
今までの当たり判定が使えるんじゃないかという気はするんだけど。。。
0737名前は開発中のものです。02/11/20 02:39ID:IVLLHvmQ
俺なら面倒なのでボックスから球に変換してしまいますが。
0738名前は開発中のものです。02/11/20 03:35ID:???
>>733
>>736
状況説明の仕方がすんげー下手なんだな。オマイ。
質問する奴が出し惜しみしてちゃ真面目に答えらんねぇべ?
サボらずにちゃんと書けよな。
 
CBoundingBoxのメンバから察するに
バウンディングボックスはOBBぽいな。
文脈から察するに、ワールド空間で四角錐台と
OBBの交差判定をどうしてもやりたいらしいな。
  
「今までの当たり判定」があるつーことはつまり
交差判定する方法はもう分かってるってことだな。
じゃあ後はそれを使えばいいだけの話だよな。

結局、何がわからんのか分からん。俺だけの読解力不足か?
073973802/11/20 03:46ID:???
自分が使ってる射影行列の意味が分かってないとか
そういう話・・・なのか?
074073802/11/20 03:47ID:???
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=viewing+frustum+bounding+box+clipping&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0741名前は開発中のものです。02/11/20 03:55ID:???
>>733
DX9にはバウンディングボックスを実際に描画してみて何ピクセル
描画できたのか取得する機能があるから、難しいこと考えずに
それを待つのも手だぞ。
0742名前は開発中のものです。02/11/20 04:02ID:???
>>741
それは公にして大丈夫な範囲なのか?
0743名前は開発中のものです。02/11/20 04:59ID:???
GDC 2002 Europeのスライドに書いてあるから問題ないでしょ。
0744名前は開発中のものです。02/11/20 05:37ID:???
ほんまや。スマソ
0745名前は開発中のものです。02/11/20 11:06ID:???
>>741
なるほどねえ。あれこれと面白い手法考えてくるな、賢い人たちは。
074673302/11/20 11:46ID:???
>>738
スンマセン、CBoundingBoxはOBBで、これが直方体と仮定した場合のCBoundingBox
同士の当たり判定は既に出来ておりやす(自分の8頂点のどれかが相手のBOXの中にあるか、
自分の12辺のどれかが相手の面と交差してるか、で判定)。
>OBBの交差判定をどうしてもやりたいらしいな。
別にこだわりはないです。他にもっと良い視判定の方法があるならそっちを教えて欲しいです。
>自分が使ってる射影行列の意味が分かってないとか
そうなのです。台形と直方体の当たり判定が分からないんす。

BoundingBoxでの当たり判定に先立って、BOXに外接する球で当たり判定して高速化もしたい
所なんですが、台形に外接する球とは一体・・・???サッパリです。
>>740
アハーソ、できれば日本語でないすか(^^;
>>741
面白い機能ですね。遅くならないすかね?そもそもこういう用途を考えて作られた機能なんすかね
どうなんでしょう
0747名前は開発中のものです。02/11/20 18:31ID:OCfBXjRY
>>741
どういうことっすか?
詳細キボンヌ
「素直に待て」はなしよー
0748名前は開発中のものです。02/11/20 18:46ID:OQyPiVnq
例えば、壁の向こうにいる複雑なモデルかを描画する前に
box描画→描画ピクセルなし→見えないので描画省略

とかじゃない? 背景が入り組んでると、計算で判定するの面倒だからね
0749名前は開発中のものです。02/11/20 20:03ID:URdDGJqB
GLで言うところのHP_occlusion_testかねぇ
0750名前は開発中のものです。02/11/20 22:32ID:oRxaltFN
バウンディングボックスが使えるんだったら
8頂点を投影変換して画面の中にあるか判定する方がはやくない?

ピクセル単位の可視チェックは多分結果が即座には帰ってこないないはず
0751名前は開発中のものです。02/11/21 00:47ID:EtSSeavc
>8頂点を投影変換して画面の中にあるか判定する方がはやくない?

縦に長い柱が目の前にあったらどうする?
0752名前は開発中のものです。02/11/21 01:23ID:fPPxcY+u
>>749
むしろ NV_occlusion_query に近いと思われ
0753あぼーんNGNG
あぼーん
0754あぼーんNGNG
あぼーん
0755名前は開発中のものです。02/11/21 03:33ID:1+qSDUy2
   ..|_∧
   |∀`) releaseするなら今のうち
   |⊂
   |
0756名前は開発中のものです。02/11/21 13:06ID:qr8SE1gp
↑おい。おまえSEGAの串だろ!
0757名前は開発中のものです。02/11/21 15:00ID:pLdRBMM6
ツクールで3Dゲーム作れますか?
それともプログラム言語を覚えなきゃダメですか?
0758名前は開発中のものです。02/11/21 15:43ID:RikBHah5
>>757
つくれますよ。
0759名前は開発中のものです。02/11/21 16:06ID:4UGIpPJ8
http://members.tripod.co.jp/konbukyo/
076075702/11/21 16:16ID:pLdRBMM6
3Dといっても神の視点ではなく、wizや女神転生のようなタイプ
を作りたいのですが、機能紹介ページ見た限りでは無理そうですねぇ。
0761bloom02/11/21 16:41ID:Zz9ETDP7

http://www.agemasukudasai.com/bloom/
0762あぼーんNGNG
あぼーん
0763名前は開発中のものです。02/11/21 17:28ID:pEAk3Alj
>>760
ダンジョンキッドっていうRPGツクールの3DダンジョンRPG版みたいなのがあるよ
0764名前は開発中のものです。02/11/21 18:39ID:pLdRBMM6
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6160/newtech/_dk.htm
0765名前は開発中のものです。02/11/21 19:40ID:RikBHah5
>>760
作れますよ。
0766名前は開発中のものです。02/11/22 00:49ID:E/AKC3O1
>>746
まずは、2D上での任意の線分同士の交差判定とかは分かっているのだろうか?
076773302/11/25 12:13ID:bzAUSboL
>>766
よくわかりません。
0768名前は開発中のものです。02/11/25 12:32ID:jkoLn/MP
>>767
それがわからんと何もできない
0769名前は開発中のものです。02/11/25 12:36ID:jkoLn/MP
@2つの直線の交点を求め、
Aそれが線分の範囲内にあるかどうかを調べる

これら2つは高校数学のレベルで十分できるよな。
わからなければ高校の数学の教科書を調べよ。
注意すべきは、@は平行の場合、解がでないことがあるということ。

以上。
077073302/11/25 16:25ID:bzAUSboL
レスどうもです!!

>@2つの直線の交点を求め、
>Aそれが線分の範囲内にあるかどうかを調べる
>注意すべきは、@は平行の場合、解がでないことがあるということ。

なるほど、分かります。何通りか解き方がありそうすね。
可視判定はどうやったらええのでしょうか。かなり道のりは長そうですが・・
0771あぼーんNGNG
あぼーん
0772名前は開発中のものです。02/11/25 18:37ID:OWHI2Za+
>>770
まず自分でいろいろな可視判定の方法を考えてみるといいよ。
結局のところ可視判定なんていろんな方法があるわけだし、
調べればいろいろ出てくるわけだけれど、
その方法の中身をわかっていればいろんな応用もできるだろうしね。
0773名前は開発中のものです。02/11/26 01:31ID:BVCHtY4i
@視錐台の焦点と中心がZ軸を通るように回転。
ABoundingBoxに@と同じ回転
B視錐台とBoundingBoxを、真上と真横から見てみよう。
 2Dで非常に簡単な計算で処理できるのに気づくはず。
0774名前は開発中のものです。02/11/26 01:35ID:BVCHtY4i
>>733くん
変に回転しているものは、どれか基準にしたいものを軸に合わせて
全体を回転させると後の計算がしやすくなると。

高校数学でも習ったと思う。
そういった基礎の応用は有益だよ。
0775あぼーんNGNG
あぼーん
0776名前は開発中のものです。02/11/26 01:41ID:4q5sqYIs
やっと沈んだこのスレを浮上させたBVCHtY4iは責任もって終了AAの削除依頼だしとけよ
0777名前は開発中のものです。02/11/26 01:50ID:BVCHtY4i
>>776 漏れは気にならないからパス。
気になった人がやるのが筋でしょ。
0778名前は開発中のものです。02/11/26 01:51ID:bFINUecS
    _、_   GOOD END!!
   ( ,_ノ` )     n
  ̄     \    ( E)
 フ     /ヽ ヽ_//
077973302/11/26 01:52ID:+55pPmPD
>>773
レスどうもです。。。
>2Dで非常に簡単な計算で処理できるのに気づくはず。
なるほど、謎が氷解しました!これは新しい!!!
面倒っぽいですが頑張れば十分作れそうです、ありがとうございました。

>全体を回転させると後の計算がしやすくなると。
ははあ、今回の場合なら視錐台から見た座標系で考えると・・・たしかに分かり易いすね
0780名前は開発中のものです。02/11/26 01:53ID:VZc6GHAj
>>777
> >>776 漏れは気にならないからパス。
> 気になった人がやるのが筋でしょ。

自己中基地外キタ-----(゚∀゚)--------!!!!
0781名前は開発中のものです。02/11/26 01:55ID:V1zAFEI3
>>777
氏ね
0782あぼーんNGNG
あぼーん
0783名前は開発中のものです。02/11/26 01:56ID:z2gQlM0g
>>777
自己中氏ね
0784あぼーんNGNG
あぼーん
0785名前は開発中のものです。02/11/26 01:59ID:EBpaYtuY
777みてーなザコがいるからこの板は荒れまくりなんだな…
0786名前は開発中のものです。02/11/26 02:04ID:BVCHtY4i
過敏だなぁw
0787あぼーんNGNG
あぼーん
0788名前は開発中のものです。02/11/26 02:06ID:EBpaYtuY
ああ、おまえ自身が荒らしだったか、気付かなくてすまんな
0789名前は開発中のものです。02/11/26 02:07ID:bFINUecS
          ,----、-、
         /  ____ \|   こんなクソスレ終了して どうだい、一曲?
         ヽc´ _、ヽ, ヽ
           ミ, ,_..ノ`ミ_ノ
        _ /,~~/-~|ヽ,
        / / i_~~ ̄ヽ, L      _
      |: ヽ_(~ヽ≡亜亜亜亜亜:::|
      ヾ   `ー“”_丿⌒、゛'’    ̄
       `-/ノ ̄~ r-、. \
          |: ̄ ̄/ /`、. ヽ         THE END
079076602/11/26 02:12ID:ASqpjRvW
>>770
当たり判定のすべては、線分の交差判定から始まるので、まずはここを理解するべし。
方程式を解くやり方でもいいんだけど、ベクトル演算で算出できれば、後はその応用で
ほとんどが解決できる。
内積、外積、比、辺りが理解できてればこの先はたやすいと思う。
行列も結局は内積だし。

最初は直線と点の位置関係から入るのかな?
ベクトルを解説した本なりサイトなりは沢山あると思うので、専門であるそれらを参考に
してくだされ。

線分同時の交差判定から、平面と線分、平面同士、立体同士、という風に広げていこう。
可視判定については2Dに変換してやるもよし、3Dで判定をやるもよし、方法は一つでは
ないので好きなのを選ぼう。
0791名前は開発中のものです。02/11/26 02:13ID:BVCHtY4i
いや、荒らすつもりは毛頭無かったんだけど。
ageたのはただのうっかりだし。

それにみんな異様に神経質なんで、ちょっと可笑しかっただけだYO。
漏れが逝く他の板では考えられないもんな。

これ以上嫌われても面白いけどめんどくさいので、
明日IDが変わる時刻までひっこんでることにするよw
0792名前は開発中のものです。02/11/26 02:15ID:pmvaMjsD
>BVCHtY4i
:-)
0793名前は開発中のものです。02/11/26 02:16ID:Jj7ze4Hu
上げると荒らしと同様に扱われるこの板って・・・
0794名前は開発中のものです。02/11/26 05:52ID:FTrzOORu
セガ社員
0795あぼーんNGNG
あぼーん
0796あぼーんNGNG
あぼーん
0797名前は開発中のものです。02/11/26 18:01ID:gFgT1BFe
平面上の2直線 ax + by + cw = 0 と dx + ey + fw = 0 の交点は
[a, b, c] ∧ [d, e, f] で与えられる。ただし、∧ は3次元の外積。
0798あぼーんNGNG
あぼーん
0799名前は開発中のものです。02/11/26 22:59ID:Zsn3SdK6
3DのプログラムをDirectXを使わないで書いている者です。
Quakeなどのゲームに代表されるように、マウスを使って自分の向いている方向を制御したいのですが、
このときの自分の向いている方向を表すベクトルはどう求めればいいのでしょうか?

たとえば、マウスを左右に動かせばY軸周りの回転、
上下に動かせばX軸周りの回転になりますよね。
でも斜めに動かしたときにはどうすればいいのかピンときません。

やはり行列(や逆行列)を使うことが必須なのでしょうか?
どうかよろしくお願いします。
0800あぼーんNGNG
あぼーん
0801名前は開発中のものです。02/11/26 23:22ID:Zsn3SdK6
最近はゲームのプログラムに興味ある人っていないんでしょうかね?
少なくなってる?
ゲーム業界に魅力がなくなってきてるんでしょうかね…
0802あぼーんNGNG
あぼーん
0803名前は開発中のものです。02/11/27 00:00ID:hXbMCuRo
上下にも左右にも動かした結果をいれてやればいいんじゃない
0804あぼーんNGNG
あぼーん
0805名前は開発中のものです。02/11/27 00:10ID:gopou85V
>>803
どもでした。もういちどがんばります
0806あぼーんNGNG
あぼーん
0807名前は開発中のものです。02/11/27 01:50ID:XXFMCwLh
>>797
意味がわかりません。
詳しく説明していただけませんか?
0808名前は開発中のものです。02/11/27 01:54ID:/stGzBQ/
>>799
クォータニオン使え
0809あぼーんNGNG
あぼーん
0810名前は開発中のものです。02/11/27 02:11ID:/ggb77kh
>>799
>でも斜めに動かしたときにはどうすればいいのかピンときません。
斜めといういみがわからん

0811あぼーんNGNG
あぼーん
0812あぼーんNGNG
あぼーん
0813名前は開発中のものです。02/11/27 10:37ID:gopou85V
なんでこんなに「終了」とかのカキコが多いの?
もう廃止になるのかな?この板
0814名前は開発中のものです。02/11/27 10:44ID:V9LmE6aD
┌──┐
│終了..|
└┬─┘
  │∩∩
  d(゚ー゚*) 。
   (___')′
   ~  ~
0815名前は開発中のものです。02/11/27 10:50ID:gopou85V
かなり久しぶりに2ch来たんだけど、
こんなに荒らしが居るとは思わなかった。
もう多分こないんで。
みんなが居なくなった後も荒らしだけは居続けるんだろう。
ではさようなら。
今後もいつまでも荒らし続けるように。
0816名前は開発中のものです。02/11/27 10:53ID:93uWni2P
>>799
上下に動かしたときは、x軸周りじゃないよ
y軸周りの角度をaとすると、xz平面上で(cos(a), 0 , sin(a))が
マウスを上下に動かしたときの軸になる。(左手座標系の場合)
081781602/11/27 10:57ID:93uWni2P
嘘つきました。すみません
×(cos(a), 0, sin(a))
○(cos(a+PI/4), 0, sin(a+PI/4))
0818名前は開発中のものです。02/11/27 11:21ID:T/PqyJOy
荒らしは自分に理解できない話をされるのが悔しくて仕方が無いんだよ
彼らにとっちゃこの板の存在自体が許せないんだろう
0819名前は開発中のものです。02/11/27 13:30ID:Izgr0VaI
>>807
同次座標。基本中の基本だね。
0820あぼーんNGNG
あぼーん
■ このスレッドは過去ログ倉庫に格納されています