- 1 名前:Dr.D [2006/05/21(日) 00:24:28 ID:HuR5iTxT]
- こんにちは。
ゲームプログラミングはそこそこできるけど、 3Dプログラミングはからっきしです。 サーフェイス?「サーフィン…とは別物だよな、きっと」 行列?「並ぶのは嫌いさ」 Xファイル?「そう言えば最終シーズン見てないなぁ」 そんなレベルの俺ですが、コツコツ作ります。 ではスタート!
- 82 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 08:27:17 ID:+h8Thuph]
- 平面回転じゃなくて、平面上の点の回転てことで。
- 83 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 15:17:10 ID:zmgldz1C]
- つまり真面目に誰か小学校算数レベルの俺を助けれと言う話だ(゚∀゚)
- 84 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 17:44:50 ID:mQBwlpUi]
- マリオのジャンプは放物線でしょ、数学テクニックが使われているはずだ
- 85 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 17:50:32 ID:mQBwlpUi]
- 学校の数学の授業なんてまともに聞いてる人いるのかな
全部聞き流してた、眠たかった
- 86 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 17:52:07 ID:+h8Thuph]
- >>83
高校時代とか「こんなもん勉強して将来何の役に(ry」とか思ってたのが 大人になってえらいことになってしまった、と。 家庭教師でも付けて勉強したら? >>84 物理でしょ。まあどっちでもあんまり変わらんけど。 高校物理を勉強して、各種運動で加速度がどうかかるかってのは知っておいた方が良さそうだ。
- 87 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 18:02:54 ID:OhxF5lMs]
- いや、正直その辺はわざわざ数学/物理勉強し直さなくても調べれば分かると思うんだが。
- 88 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 19:52:53 ID:cAD3jwmb]
- いまさら居るかどうか分からんが、
Visual Studio Expressでコンパイル通るようにしたLunaのプロジェクト ttp://aaabbbccc.s6.x-beat.com/upload/src/up8405.zip
- 89 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 20:13:46 ID:6q3EifzD]
- >>1をスルーしつつ、
良スレになりつつある件について ところで3Dってどのあたりでつまづく? @ウィンドーが出せない。 A描画関係の初期化ができない。 Bポリゴンが表示できない。 Cポリゴンが思った方向に動かない。 D移動のための物理計算が上手くできない。 EAIが位置関係を正しく認識しない。 F思うようなMAPを用意できない。 G思うようなポリゴンモデルを用意できない。 Hひと通り動くのだが、ゲームとしてツマラナイ。 I3Dなんて楽勝だが根気が続かないwww
- 90 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 21:00:16 ID:mQBwlpUi]
- サンプルソースから拡張していくのが普通だろうけど、いいサンプルが
ないってのを痛感する。DirectXのサンプルはシューティングゲーム ばっかりでそれ以外がまったくない!
- 91 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 22:39:34 ID:XRPDffmD]
- 3Dなんて楽勝だが思うようなポリゴンモデルを用意できないのでツマラナイ
- 92 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 23:32:58 ID:aOaklher]
- 酔って仕事がススマナイ
- 93 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 00:59:48 ID:ZPIY0i+o]
- テクスチャの楽な貼り方を知らない(´・ω・`)
- 94 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 03:29:38 ID:W1VWj1ZD]
- マップあたりでつまづく。
キャラとの衝突判定ってどうやんの・・・・
- 95 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 03:50:26 ID:C8ahj/9E]
- 腰あたりから下に向かってレイ飛ばして
衝突Y座標に足の裏が来るようにすればええ。
- 96 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 19:52:03 ID:HiMFR2tt]
- 知識的な面で克服できそうなハードルもあるけど、
表示データそのものについてはPGの守備範囲外だし、 絵師に頼むわけにもいかないしちょっとシンドイね。 ゲームとしてベストなポリゴン数&テクスチャー解像度で、 モーション付きのデータを用意してくれる神って、 どこかにいるのかしらんw
- 97 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 21:47:20 ID:/nqquaI3]
- >>96
お前こそが新世界の神になれ
- 98 名前:名前は開発中のものです。 [2006/06/07(水) 21:54:51 ID:HiMFR2tt]
- おk、↓で神になってくる!
ttp://pc8.2ch.net/test/read.cgi/gamedev/1109842876/674
- 99 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 23:57:21 ID:toO/M0VK]
- マップのスケールをどう決めていいか分からん。orz
- 100 名前:名前は開発中のものです。 mailto:sage [2006/06/08(木) 01:00:59 ID:Cbm4h7oY]
- 俺はメートル単位。
- 101 名前:名前は開発中のものです。 mailto:sage [2006/06/08(木) 01:59:43 ID:qRd8qDSy]
- 俺はフェムトオーダー
- 102 名前:名前は開発中のものです。 mailto:sage [2006/06/08(木) 20:18:09 ID:GeYl7U0M]
- >>96
あなたはその神を探す気はないのかな? やっぱり全部一人で抱えると悲惨だよね
- 103 名前:名前は開発中のものです。 mailto:sage [2006/06/10(土) 03:01:56 ID:EfLVJV/3]
- 僕が神になる
- 104 名前:名前は開発中のものです。 mailto:sage [2006/06/10(土) 09:06:40 ID:ApNczupE]
- 新世界の神きたー
- 105 名前:名前は開発中のものです。 mailto:sage [2006/06/10(土) 10:55:09 ID:3aLURK5+]
- 僕は珍世界の神になる
- 106 名前:名前は開発中のものです。 mailto:sage [2006/06/12(月) 02:44:54 ID:DXNmvHtZ]
- 僕が紙になる
- 107 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 11:13:32 ID:D6Hsu945]
- 逆三角関数をおしえてください
- 108 名前:名前は開発中のものです。 [2006/06/18(日) 07:26:17 ID:MoG2FV9R]
- 正直このレベルの数学,物理が難しいとか話にならないから.
死ねばいいのに.
- 109 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/18(日) 11:12:03 ID:CoC/lB0L]
- J3Dなんて楽勝だがコリジョン(当たり判定)をどの手法でやれば資源を軽く出来るか分らないwww
- 110 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/18(日) 11:53:06 ID:CoC/lB0L]
- >>107 逆三角関数とは、三角関数の逆数のことです。
例えば、sinθ=aとしたとき、この式をθについて表すと次のようになります。 θ=sin-1a または θ=arcsin(a) このような値を満足するθは無限に存在するため、通常は、次の範囲にあるものを代表的なもの(主値といいます)として考えます。 -π/2 ≦ sin-1a ≦ π/2、0 ≦ cos-1a ≦ π、-π/2 ≦ tan-1a ≦ π/2 メソッドなら double asin(double x) Arcsin(x)、double acos(double x) Arccos(x)、double atan(double x) Arctan(x) double atan2(double y, double x) Arctan(y/x) 〃 三角関数の計算//pi / 180.0; /* 度 → ラジアン */ 180.0 / pi;/* ラジアン → 度 */ x = sin(deg_r)、y = cos(deg_r)、z = tan(deg_r) printf("30度の正弦は %f\n", x)、printf("30度の余弦は %f\n", y)、printf("30度の正接は %f\n", z); 逆三角関数の計算 ax = asin(x) * 180.0 / pi; ay = acos(y) * 180.0 / pi; az = atan(z) * 180.0 / pi; printf("正弦が %f になる角度は %f 度\n", x, ax); printf("余弦が %f になる角度は %f 度\n", y, ay); printf("正接が %f になる角度は %f 度\n", z, az); aw = atan2(1.0, -1.0) * 180.0 / pi; printf("x成分が−1,y成分が1になる角度は %f 度\n", aw); (出力) 30度の正弦は 0.500000 30度の余弦は 0.866025 30度の正接は 0.577350 正弦が 0.500000 になる角度は 30.000000 度 余弦が 0.866025 になる角度は 30.000000 度 正接が 0.577350 になる角度は 30.000000 度 x成分が−1,y成分が1になる角度は 135.000000 度
- 111 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/18(日) 12:03:54 ID:CoC/lB0L]
- 「、」のところは改行してください詰め込みましたので
逆三角関数は一例としては角度比較を行うときに使います。 ホーミング性能が良い弾をあえて追尾角度変更の角度制限をして 微妙に当たりにくい弾を作ったり敵を自機を追尾する者と考えたときも使えます 主に aw = atan2(1.0, -1.0) * 180.0 / pi; を使うと良いでしょう 但し、角度比較は単なる内積で事足りるときもあるので気をつけてください
- 112 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/18(日) 12:21:25 ID:CoC/lB0L]
- >>110の追加
deg_r= 30.0 * 180.0 / pi つまり deg_r= 角度 * 180.0 / pi
- 113 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/18(日) 12:24:44 ID:CoC/lB0L]
- >>112の修正
deg_r= 30.0 * pi /180.0 つまり deg_r= 角度 * pi /180.0
- 114 名前:名前は開発中のものです。 mailto:sage [2006/06/18(日) 13:11:54 ID:etwfQmPT]
- >107
逆三角関数。 三角関数にアークってつけろ、あとは、自分で調べろ。
- 115 名前:名前は開発中のものです。 mailto:sage [2006/06/18(日) 16:17:48 ID:IJ855Dct]
- 何この呪文の羅列
三角関数とかマジわかんね
- 116 名前:名前は開発中のものです。 mailto:saga [2006/06/18(日) 17:50:06 ID:s3OhOc7c]
- >>115
sin(30)=1/2,cos(30)=(√3)/2は理解できるか?
- 117 名前:名前は開発中のものです。 mailto:sage [2006/06/18(日) 17:58:06 ID:AkpP3D5v]
- 分かんないんじゃないくて、分かる気が無いんだと思うよ
- 118 名前:名前は開発中のものです。 mailto:sage [2006/06/18(日) 18:02:01 ID:etwfQmPT]
- >116
まだ、学校で習ってないと思うから 言っても無駄。しかもルートも知らないと思うよ。 今、学ぶのは大変だと思うから、 実際使えればいいって感じで使い方だけ覚えるのが良し。
- 119 名前:名前は開発中のものです。 mailto:saga [2006/06/19(月) 00:51:24 ID:PjkME4IK]
- >実際使えればいいって感じで使い方だけ覚えるのが良し。
・・・そんなの無理だろ・・ 英語で言えばアルファベットの読み方知らないのと同じだ 使えさえ出来ないと思う。 sin,cosってそういうもんだろ・・ 引数、戻り値の意味を知らずしてプログラムはできない 概念とかじゃなく物理的に
- 120 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 13:07:36 ID:iIHzGLbp]
- >>116
わからん >>118 小学校から引きこもってるから習ってはいないな と言う訳で勉強してくるよ 俺頭いいからすぐ覚えてくるお!!!!11
- 121 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 16:17:20 ID:QZrDv6Ca]
- それはたのもしい
- 122 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 17:26:26 ID:iIHzGLbp]
- …あれだな、煽られないと逆に寂しいな
でも嘘は書いてないからキリキリ勉強せんとな さすがに一次方程式で止まってるからキッツイわ
- 123 名前:名前は開発中のものです。 mailto:saga [2006/06/19(月) 18:03:23 ID:xNo+CLqv]
- >>122
分かんないところココに乗せてミソ 大抵のことはココの連中でも教えてくれるはず 少なくとも俺はそうだ プログラマーで大事なのは恥を忍んで分んないところを聞くことだ 「自分で考えろ」って言う奴は大抵自身も知らなかったり、 ちゃんと要点をまとめて覚えてない売る覚え連中だから 教えてくれなくなるのは会社勤めて3年経ったりするベテランになったりと 年取ってくる時期だから 早めに若いときは恥かいたほうが良い
- 124 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 19:02:47 ID:cL1qXh9W]
- >>114
まんまじゃねーか 調べろ調べろってうぜぇ 調べてわからないから聞いてんだよ
- 125 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 19:28:57 ID:sI3rGPy3]
- >>124
君が逆三角関数を知らないために苦しんでいるというのならその事情を話しなさい 当面必要無いようなら無理に知る必要もない 「ぱそこん教えてください」みたいな抽象的な疑問には応えようもない
- 126 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 20:04:13 ID:tEHvDuch]
- 「DirectX逆引き大全500の極意」って本を買って、
一週間くらい前からDirect3D勉強し始めてるんですけど、 当たり判定のところでつまづきました・・・ //////////////////////////////////////////// 与えられた3点をもとに、三角形の2辺を導く ↓ この2辺の外積を計算すれば、平面の法線ベクトルが得られる ↓ 法線ベクトルの成分は平面方程式の各係数に対応しているので 平面方程式ax+by+cz+d=0のa,b,cが得られる /////////////////////////////////////////// 理解がおいつかないorz 外積や内積は確かに高校のときに習ったような気がするんですが、 ちゃんと聞いとけばよかった・・・ Direct3Dというよりも3Dのしくみがわかってない・・・みなさん勉強してますねorz
- 127 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 00:26:29 ID:sFktv1uZ]
- 三角形と線分の交点?
- 128 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 00:27:34 ID:Csx6/cfg]
- 3D初心者は一番簡単な「球」で当たり判定してればいいよ。
それで適当なシューティングでも作ってればいいさ。 最初は小難しいことやらないで、自分に分かる範囲から 少しずつ勉強していかないと、すぐに挫折するぞ。
- 129 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 00:31:01 ID:RRjthpri]
- 球wwww
- 130 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 00:37:58 ID:9rwJB1S8]
- 当たり判定の取り方、2Dは矩形、3Dは球が基本だとよく聞くね
- 131 名前:名前は開発中のものです。 mailto:saga [2006/06/20(火) 01:02:02 ID:3eo7HEKQ]
- >3D初心者は一番簡単な「球」で当たり判定してればいいよ。
>それで適当なシューティングでも作ってればいいさ。 知ったかぶりも大概にシル キャラなら球かも知れんが ステージの壁とか球でやる必要ないだろ・・ むしろFPS食って遅くなる しかも球は三次方程式なんだよ 一次方程式で苦戦している子に無理させるな 結局、レイを使う方法(面と垂線の交点)も学ばんといけません それにな、まずは点でキャラ作って当たり判定だろ・・それができて アニメーションさせたりする頃に「キャラの肩が壁に食い込む・・」で球なんだよ 順番にした方が良い、でないとデバックできないプログラマーになるよ
- 132 名前:名前は開発中のものです。 mailto:saga [2006/06/20(火) 01:35:02 ID:3eo7HEKQ]
- 面(三角形のポリゴン)とキャラクターの位置を表す点から
その点は面の垂線(法線ベクトル)かどうか判断させる 答えが真なら今度はどれぐらい離れているか その値は面が張られている重心からの法線ベクトルの値を 正の方向とみなして正か負か見る それらが分れば当たっているか? 当たっていないか? 突き抜けているか?分る
- 133 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 01:47:02 ID:WcdFUVKV]
- >>131
なんか勘違いしてない? 球って楕円じゃなくて、距離だけで判定する真ん丸の球。 それに面との当たり判定を、球でやれと言ってるわけじゃないよ。 3Dを勉強始めて一週間、3Dの仕組みも分かんないのに 当たり判定なんかで躓いてるなら、もっと基本的なことから やってった方がいいんじゃないのか? って言いたいだけ。
- 134 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 02:06:55 ID:sFktv1uZ]
- 自分の場合はこんな感じ。
@線分のパラメータtを決定(三角形の式と線分の式からtを決定する式を求めておく) Atの範囲をチェック Btから交点を求める C交点から三角形のパラメータu,vを求める Du,vの範囲チェック あくまで線分(or半直線)と三角形との判定だけど。
- 135 名前:名前は開発中のものです。 mailto:saga [2006/06/20(火) 02:11:11 ID:3eo7HEKQ]
- >球って楕円じゃなくて、距離だけで判定する真ん丸の球。
そんじゃそれの式書いてミソ 結局XYZで三次方程式になるよ 一次方程式うんぬんなのにその式を導けるだろうか ・・・・ もしかしてCASE文やif文で処理させようと考えてる・・まさかね・・
- 136 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 03:27:24 ID:sFktv1uZ]
- >>132
興味深い判定方法ですが、 御披露ついでに凹状の角での判定方法をご教授ください。 下図ABDでの判定は問題なさそうですが、 A ┃B ─┗━ C │D Cからの垂線はいずれの面にも乗らないように思えます。 >>135 こんな感じにすれば、三次方程式にならないと思います。 // x0,y0,z0 : 点0の座標 // x1,y1,z1 : 点1の座標 // size_2 : サイズの二乗 dx = x1-x0; dy = y1-y0; dz = z1-z0; if(dx*dx + dy*dy + dz*dz <= size_2) { // 当たり } else { // はずれ }
- 137 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 06:41:55 ID:mSOw/G6z]
- >>135
球はどうみても多変数二次方程式。 3Dで簡単に判定できるものの順に Sphere>AABB>OBB>N-DOP>ConvexHull そもそもAABBと面の衝突判定なんかめんどくさいんだよ。 面が全部xyz軸に平行であるわけもないんだぞ(ついでに言えば2Dだってそうだが)
- 138 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 09:21:15 ID:xCW0SmV8]
- if( (x^2 + y^2 + z^2) <= r^2 )
- 139 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 15:23:09 ID:f59jmO5J]
- >ID:3eo7HEKQ
イ`_
- 140 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 16:32:05 ID:t+g0M0dT]
- ID:3eo7HEKQは釣りだと思ったんだが・・・
- 141 名前:名前は開発中のものです。 mailto:saga [2006/06/20(火) 19:21:44 ID:x5ZOe6BS]
- >>140氏のIDに仮面ライダーがいるw
AABBってAxis-Aligned Bounding Boxes Treeですよね A ┃B ─┗━ C │D って厚さが0の壁だとできませんね まぁ厚さゼロの壁ってあえて作らなくても よほど速度を必要としない限り壁を2重にすれば良いことですが A ‖B =#= C ‖D
- 142 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/20(火) 19:25:50 ID:x5ZOe6BS]
- すいません
>>141は私です。
- 143 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/20(火) 19:42:30 ID:x5ZOe6BS]
- >面が全部xyz軸に平行であるわけもないんだぞ(ついでに言えば2Dだってそうだが)
xが正か負か yが正か負か zが正か負か の組み合わせで法線ベクトルの内容から 8パターンメソッド作れば曲面だろうとできますね @x>0、y>0、z>0 Ax<0、y>0、z>0 Bx>0、y<0、z>0 Cx<0、y<0、z>0 Dx>0、y>0、z<0 Ex<0、y>0、z<0 Fx>0、y<0、z<0 Gx<0、y<0、z<0 ちなみにxyz三成分のどれかが0ベクトルの場合は 8パターンのどれかが併用できます。 三成分とも0ならって・・・壁じゃないですし
- 144 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/20(火) 20:23:15 ID:x5ZOe6BS]
- 重力がかかってる場合は
xが正か負か zが正か負か と天上か床(坂)か の組み合わせで法線ベクトルから 4パターン+天上、床で作れば曲面でもできることになります @x>0、z>0 Ax<0、z<0 Bx>0、z<0 Cx<0、z>0 ちなみにxz三成分のどれかが0ベクトルの場合は併用 坂になる場合はy成分分移動して上げてやれば良いですし
- 145 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 20:30:06 ID:7foOlmqj]
- 3eo7HEKQ=x5ZOe6BSなん?
- 146 名前:名前は開発中のものです。 [2006/06/20(火) 21:52:27 ID:q3QYoQKK]
- >>126
struct VECTOR { float x; float y; float z; }; void VectorAdd( VECTOR *vec, const VECTOR *vec1, const VECTOR *vec2);//ベクトル和 void VectorSub( VECTOR *vec, const VECTOR *vec1, const VECTOR *vec2);//ベクトル差 void CrossVector( VECTOR *vec, const VECTOR *vec1, const VECTOR *vec2);//外積 float DotVector( const VECTOR *a, const VECTOR *b);//aとbの内積を返す
- 147 名前:名前は開発中のものです。 [2006/06/20(火) 21:54:00 ID:q3QYoQKK]
- >>146
int CheckTriangleCross( VECTOR begin, VECTOR end, VECTOR* pos, VECTOR *v) { // 平面の方程式より n(法線ベクトル)、d を求める VECTOR n, p1, p2; VectorSub( &p1, &v[1], &v[0]); VectorSub( &p2, &v[2], &v[0]); CrossVector( &n, &p1, &p2); float d = -1 * (n.x * v[0].x + n.y * v[0].y + n.z * v[0].z); // 直線の方程式より a、p を求める // p = a*t + b VECTOR a; VectorSub( &a, &end, &begin); // tを求めることで、交点を求める float top = -(begin.x*n.x + begin.y*n.y + begin.z*n.z + d); float bottom = DotVector( &n, &a); // 平行判定 if ( bottom == 0.0f) return false; // tは直線のパラメータ float t = top / bottom;
- 148 名前:名前は開発中のものです。 [2006/06/20(火) 21:54:59 ID:q3QYoQKK]
- >>147
// 面と線の交点を求める VectorMultiply( &a, &a, t); VectorAdd( pos, &a, &begin); // 0 = < t = < 1 以外の場合、交差していないので抜ける if ( t < 0.0f || t > 1.0f) return false; // 三角形内外判定 for ( int i = 0; i < 3; i++) { // 外積を利用して内外判定 VECTOR pn, p1, p2; VectorSub( &p1, &v[((i+1)==3) ? 0: i+1], &v[i]); VectorSub( &p2, pos, &v[i]); CrossVector( &pn, &p1, &p2); // 法線の方向判定用 pn.x = pn.x * n.x; pn.y = pn.y * n.y; pn.z = pn.z * n.z; // すべての場合の法線が同一方向ならば、p は三角ポリゴン内に存在する if ( (pn.x < -0.001) || (pn.y < -0.001) || (pn.z < -0.001)) return false; } // ここまで来たら交点有り return TRUE; }
- 149 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 22:14:30 ID:t+g0M0dT]
- >>148
// 法線の方向判定用 pn.x = pn.x * n.x; pn.y = pn.y * n.y; pn.z = pn.z * n.z; // すべての場合の法線が同一方向ならば、p は三角ポリゴン内に存在する if ( (pn.x < -0.001) || (pn.y < -0.001) || (pn.z < -0.001)) return false; 上の部分って↓みたいにならん? if ( DotVector( &pn, &n ) < 0.0f ) return false;
- 150 名前:名前は開発中のものです。 [2006/06/20(火) 22:49:13 ID:q3QYoQKK]
- >>149
それでも大丈夫だと思います。
- 151 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 23:12:15 ID:RRjthpri]
- >150
見てもらいたいからってそんなにあげんでいいよ。 ここ過疎だし固定客しか見てない。
- 152 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 00:08:56 ID:tL5CMgOs]
- 検索した方が早い
- 153 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 00:31:19 ID:nchM9XqJ]
- ここは、なかなかセクシーなスレですねっ!!!
上段はさておき自分の場合、 Sを始点、Eを終点、tをパラメータとする線分の式 P = S(1-t)+Et…@ P0,P1,P2を頂点、u,vをパラメータとする三角形の式 P = P0u+P1v+P2(1-u-v)…A 交点は@とAのPが一致する座標となるから S(1-t)+Et = P0u+P1v+P2(1-u-v)…B ここでパラメータt,u,vのうち、 線分の式により交点の座標が定まるよう、まずはtを求める。 BのS,E,P0,P1,P2はそれぞれx,y,zの次元を持つから、 Sx(1-t)+Ext = P0xu+P1xv+P2x(1-u-v) Sy(1-t)+Eyt = P0yu+P1yv+P2y(1-u-v) Sz(1-t)+Ezt = P0zu+P1zv+P2z(1-u-v) この連立方程式からtをを定める式を導き出してる。 計算コストで言うと、明示的な掛算の回数が少なくなるけど。 ポリゴンの範囲チェックでパラメータを求める分、 割り算の回数が多い。。。まぁ、よく判らないんで放置w
- 154 名前:剣G ◆LAnLEZ2SyM mailto:saga [2006/06/21(水) 00:36:30 ID:2oEFK81Z]
- >3eo7HEKQ=x5ZOe6BSなん?
一応、違うと言っときます。
- 155 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 00:37:59 ID:8NdrsnlZ]
- なんでトリ付けてるの?
どっか活動中?
- 156 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 01:01:19 ID:nchM9XqJ]
- > 一応、違うと言っときます。
それは残念。 ID:3eo7HEKQ氏の処理はどの程度うまく動くか判断できなかったのですが、 ID:3eo7HEKQ氏=ID:x5ZOe6BS氏ならうまく動く事確実なので、 そこらへんの細かいお話を伺えると思ったのですが。。。。
- 157 名前:126 mailto:sage [2006/06/21(水) 09:40:41 ID:XQIjdcmw]
- >>146さん
直線のパラメータtなどはちょっと勉強不足で、理解できなかったので、 線分と平面の当たり判定は、 ///////////////////////////////// 線分 : P1(x1,y1,z1)、P2(x2,y2,z2) 平面 : 平面上の点P0(x0, y0, z0) 平面の法線ベクトル : N=(nx, ny, nz) 線分の端点P1(or P2)が平面の表にある場合は、 P0からP1(or P2)へ向かうベクトルと法線ベクトルとのなす角度が常に鋭角になるので 「((P1-P0)・N) * ((P2-P0)・N) <= 0ならば線分は平面と衝突を起こしている」 ///////////////////////////////// という方法を使わせてもらいました。 (あるサイトで紹介されていた方法なのですが、自分でも理解できたのでこれを使わせてもらいました。) たくさん書いてもらってすみませんでしたorz
- 158 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 19:15:47 ID:DHibxNni]
- ふむふむ。、>>146じゃないが、
>>157の方法だと確かに平面と線分なら問題はなさそうだ。。 ただ平面というのは無限に広がる面なので、 自分の場合はちょっと使いどころが無いのが残念w
- 159 名前:名前は開発中のものです。 mailto:sage [2006/06/29(木) 01:33:15 ID:+myyGLQc]
- 保守
- 160 名前:名前は開発中のものです。 [2006/06/30(金) 09:42:14 ID:JQhm0Yve]
- >>43
現在win APIの勉強中・・・(・∀・)人(・∀・)ナカーマ!! いたら教えて。 なんていう本、またはソースで勉強してるの? ちなみに漏れは、windowsゲームプログラミング(本)。 亀レススマソ。
- 161 名前:43 mailto:sage [2006/06/30(金) 18:43:04 ID:Fh8kUW/J]
- 俺と同じ本だ・・・
今は諦めてDXライブラリでゲーム作ってるよ・・・なさけねぇ いつかまたwinAPIに触れようと思っている
- 162 名前:名前は開発中のものです。 mailto:sage [2006/07/01(土) 00:06:02 ID:j5ebeXWh]
- しかしDXライブラリって簡単かねぇ。
他人のソース読むのがめんどくさいから自分で書くほうが楽でいいわw
- 163 名前:名前は開発中のものです。 mailto:sage [2006/07/01(土) 09:49:01 ID:8VNO6grd]
- マジレスすると超簡単
- 164 名前:名前は開発中のものです。 mailto:sage [2006/07/01(土) 11:15:28 ID:H2hy9ae2]
- WinAPIやDirectXを直接叩くより数倍楽。
板ポリにテクスチャ貼って描画するだけでもえらい面倒だよ。
- 165 名前:名前は開発中のものです。 [2006/07/01(土) 15:26:03 ID:p53ONq7r]
- >>161
いいんだ。ぜんぜん気を落とすことなんてないんだ。 実は漏れも1年くらい前、途中でマンドクセ('A`)なって 一回投げたことがあるから。 だから今回はそん時のリベンジマッチってことになる。 幸先悪い話聞いたな…(´・ω・`)…なんて思わないから ガンガッテイコウ!!(`・ω・´)
- 166 名前:名前は開発中のものです。 mailto:sage [2006/07/02(日) 13:37:42 ID:GP7aSXlD]
- 中高の数学には今になって感謝してる。
人生どこで中高の勉強が役に立つかわからんね。
- 167 名前:名前は開発中のものです。 mailto:sage [2006/07/02(日) 15:06:57 ID:q2LDxFVa]
- >人生どこで中高の勉強が役に立つかわからんね。
いや、ここで役に立つのはわかる。
- 168 名前:165 mailto:sage [2006/07/02(日) 18:13:42 ID:qyshWDdK]
- ふぁ。
ようやくウィンドウ作ってそん中に図形描けるようになったぜ!(`・ω・´) PolyPolyline で。 四角形とかの単純な図形を。 ・・・(´-`;).。o0(…急がば回れ…千里の道もはじめの一歩…マックノウッチ…マックノウッチ…)
- 169 名前:名前は開発中のものです。 mailto:sage [2006/07/02(日) 18:53:47 ID:h9xmz31D]
- >>168
回ってる途中で急いだ俺はダメだな
- 170 名前:名前は開発中のものです。 mailto:sage [2006/07/02(日) 19:06:02 ID:GP7aSXlD]
- つ[回転椅子]
- 171 名前:名前は開発中のものです。 mailto:sage [2006/07/02(日) 20:02:24 ID:zXthLev1]
- つ [まどかひろし]
- 172 名前:名前は開発中のものです。 mailto:sage [2006/07/20(木) 23:49:01 ID:uxr6R5W7]
- 保守?
- 173 名前:名前は開発中のものです。 [2006/08/16(水) 10:16:36 ID:rq/Dm8hs]
- jbbs.livedoor.jp/game/19583/
x3dero.s10.x-beat.com/sexy/imagebbs/index.shtml ゲームは出来上がってるが外見の改造から入って見るのはどうだ?
- 174 名前:161 [2006/08/22(火) 18:19:49 ID:3gvfnaQX]
- 3Dをやるためについに!C言語からHSPに以降しました・・・なさけねぇ
Easy3Dを使えば簡単に3Dゲームが作れるんだね
- 175 名前:名前は開発中のものです。 mailto:sage [2006/08/22(火) 23:31:33 ID:IkFxpiNA]
- 内心、俺はどこまで落ちていくんだ?うへへへへ
とか喜んでいたりして
- 176 名前:名前は開発中のものです。 mailto:sage [2006/08/23(水) 22:24:38 ID:57PriyyJ]
- 次はツクールかな
- 177 名前:名前は開発中のものです。 [2006/08/23(水) 22:34:04 ID:piSWrXf+]
- >>176
俺はそこまでは落ちないよw 絶対にHSPで3Dのゲーム作るから応援してよ
- 178 名前:名前は開発中のものです。 mailto:sage [2006/08/23(水) 22:40:09 ID:ixV4pUya]
- ガンガレ
- 179 名前:名前は開発中のものです。 mailto:sage [2006/08/24(木) 01:00:20 ID:7bCQmUSK]
- >>177はたぶん途中で飽きてC++に以降する。
- 180 名前:名前は開発中のものです。 mailto:sage [2006/08/24(木) 01:36:16 ID:lpN4Jq6L]
- >>178
ありがちょん >>179 レベルあがってんじゃんw モデリングって大変だね・・・みんな何のソフト使ってるの? ちなみにおれはRiosだけど
- 181 名前:名前は開発中のものです。 mailto:sage [2006/08/24(木) 01:41:51 ID:6CXrqNdd]
- 定番のMetasequoiaとか
最近はBlenderに手を出してる 機能は豊富だが日本語資料が少なくて辛いぜ
- 182 名前:名前は開発中のものです。 mailto:sage [2006/08/24(木) 01:54:08 ID:lpN4Jq6L]
- >>181
メタセコは慣れてないなぁ おれもBlender触った事あるよ・・・資料がなくて諦めたw
|

|