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

DirectX総合スレ (Part5)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/09/08(金) 23:56:42ID:0F5D1JWX
言語はC++
他の言語使ってる奴はいますぐ消えろ
0101名前は開発中のものです。2006/09/14(木) 08:24:47ID:IA3nRmrP
階段はオブジェクトにする。
衝突判定しないで動作はキー操作によるシーケンスで。
ってのはどう?
0102名前は開発中のものです。2006/09/14(木) 21:56:26ID:Ff9nq8u9
>>99
だからそれだと、螺旋階段とか立体ダンジョンとか、できないだろ。
0103名前は開発中のものです。2006/09/14(木) 22:22:49ID:4HfKE9vQ
オブジェクト同士の当たり判定ってザツでも良ければ何とでもなるけど
マップの判定ってちょっと悩むよな
俺はもう諦めて平面で作ることにしたけど

まぁ地道に勉強してればいつか解説本を読んでストンと腑に落ちることもあるさ
多分
0104名前は開発中のものです。2006/09/14(木) 22:33:39ID:9eIOr1K4
キャラが直前まで居たY座標も考えてやればレイが交差した床板に上るかぶつかるかくぐるか決められるよ〜
0105名前は開発中のものです。2006/09/14(木) 23:22:52ID:vKnmoDkw
>>102
現在アクティブな(そのキャラにとって)ハイトフィールドを決めて「つなぎ」の部分だけ
処理すんのが一番楽だろうが。
螺旋っていったって局所でみれば普通の足場だろが。

階段なんかオブジェクトにしちまうと「抜け」で無駄に悩むぞ。
この辺、ゲームのたびにぶち当たるけど、足場はハイトフィールドの応用が一番強固でいいと思う。
やっぱなにより抜けないし、マス目細かくすることで応用が効くし。
0106名前は開発中のものです。2006/09/14(木) 23:25:09ID:UH4wYhXW
螺旋階段や立体ダンジョンなら、複数枚の縦に重なる部分が無いようなマップに切り分けておいて
しかるべき場所(高さで判定とか)でそいつらを切り替えればいいんじゃん?
0107名前は開発中のものです。2006/09/14(木) 23:32:08ID:Ff9nq8u9
>>105
螺旋階段の下に潜った場合、上の螺旋階段との壁の判定はどーやるわけ??
0108名前は開発中のものです。2006/09/15(金) 00:19:59ID:GAaooVvp
地面にオブジェクトの影を落としたいんですが、どうやればいいのですか?
影といっても、オブジェクトの下に黒い●が出るだけでいいです
地面が平面ならオブジェクトの真下に●のテクスチャはった面を表示するだけだったんですが
凸凹だとバレバレです
0109名前は開発中のものです。2006/09/15(金) 00:21:39ID:ckWHetJA
高さに関してはハイトフィールドで螺旋階段も問題ないでしょ。
プレイヤーの腰当たりからレイ飛ばして、一番Yの高い位置で判断すればいいし、
隣接ポリゴンのリスト持っておいて自分の周囲ある程度のポリゴンしか判定しなければいいし。

XZへの移動に関してはどっちみち別途コリジョンをもっておかないと柵とか対応できない。
法線方向見て片方からは通れるようにすれば崖とか階段の下とかも問題なす。
0110名前は開発中のものです。2006/09/15(金) 00:26:20ID:jCDKRfUj
>>108
普通に浮かせたり、傾けたり・・・
それ以上やるとゲームに影響がでるぐらい凝らなきゃならんけど?やる?w

しかし、影の処理ってどれもアホかってほど重いな。
やんねーよ。こんなの。ってのでデザイナさんとも一致した。
0111名前は開発中のものです。2006/09/15(金) 00:29:03ID:T4MgT/q6
>>109
>隣接ポリゴンのリスト持っておいて自分の周囲ある程度のポリゴンしか判定しなければいいし。
だからその時点で、ハイトフィールドじゃないじゃん
0112982006/09/15(金) 00:35:02ID:BE5Xhsow
>>102
>>107
ん?螺旋階段(建造物)もフィールド(地形)と同じ扱いなのか?
俺がレスした>>97
「フィールド用ポリゴンと、小障害物オブジェクトがあって」
と区別してたから、螺旋階段は後者(オブジェクト)だとばかり。
0113名前は開発中のものです。2006/09/15(金) 00:38:39ID:ckWHetJA
>>111
ん?そうか?
単に判定するポリゴンを刈る為の処理のつもりなんだが。
いくらなんでも広大なフィールドの全ポリゴンを毎回判定するわけでもあるまい。
0114名前は開発中のものです。2006/09/15(金) 00:40:15ID:BE5Xhsow
>>109
それは「ハイトフィールド」じゃなくて
「ハイトフィールド上にオブジェクト置いてる」状態と桃割れ。
0115名前は開発中のものです。2006/09/15(金) 00:41:36ID:jCDKRfUj
>>114
いや、普通に、ハイトフィールドじゃん。
0116名前は開発中のものです。2006/09/15(金) 00:53:55ID:+fPG+udD
どっちでもいいやろ
0117982006/09/15(金) 00:56:09ID:BE5Xhsow
>>115
ん?ハイトフィールドの定義から確認していいかな?
2D格子の標高データということで宜しいかな?
 
で、どういう螺旋階段をイメージしてるのか知らんけど
例えば円筒状構造物内にぐるぐる階段を設けたものでいいかな?
こういう建造物を無理矢理ハイトフィールドでやんのか?
0118名前は開発中のものです。2006/09/15(金) 00:57:18ID:jCDKRfUj
まあ、定義はどうでもいいけど、ハイトフィールドっぽい仕組みを
駆使して螺旋階段も立体交差も作れるし、これが一番安全だし、
これ以外でやるとそれなりに大変になると言っておく。

ただ、FZEROとかソニックは難しいかもしんないな。
0119名前は開発中のものです。2006/09/15(金) 00:59:55ID:9nX1gLbg
難しいってのはループのことかね
それはまた別の方法を考えるべき屋根
0120名前は開発中のものです。2006/09/15(金) 00:59:55ID:jCDKRfUj
>>117
そうそう。
できるじゃん。
よく考えてよ。
螺旋階段を辿るようにぐるっとつないでいけばいいだけじゃん。
0121名前は開発中のものです。2006/09/15(金) 01:05:44ID:9nX1gLbg
最初スーファミのF-ZEROとメガドラのソニックしか思い浮かばなくて
何の事だかわからなかったのはオジサンだけの秘密だ。
0122982006/09/15(金) 01:24:39ID:BE5Xhsow
>>118
まさか、1[cm]単位みたいな高密度の標高データを
複数レイヤーで持てとか言うんじゃねーだろうなー。
 
格子状に配置された標高データだと表現力に自由度ないから
無理矢理密度を上げて対応してんのか?
 
俺は螺旋階段みたいな変な形状の建造物は衝突判定用モデルを用意してるよ。
この場合なら直立した中空シリンダーの中に階段のOOBBを敷き詰めて終わり。
0123名前は開発中のものです。2006/09/15(金) 01:39:26ID:BE5Xhsow
×1[cm]単位みたいな高密度の標高データを
○1[cm^2]単位みたいな高密度の格子を
0124名前は開発中のものです。2006/09/15(金) 02:07:22ID:tWOUPt7e
>>118
なんでそんな脅してまでハイトフィールドを奨める…何かに取りつかれてるのか
0125名前は開発中のものです。2006/09/15(金) 06:09:31ID:W8QvwaGa
ハイトマップなんてほんとにベタベタな地面にしか使わねーよ普通。
トンネル掘るのもめんどくせぇし、建造物はStaticMeshで当たり前。
UnrealEngineはハイトマップの使い方上手いけどな。
0126名前は開発中のものです。2006/09/15(金) 06:19:06ID:jCDKRfUj
>>122
はぁ?なんでそんなことになるの?
マジで頭悪いの?
0127名前は開発中のものです。2006/09/15(金) 06:27:31ID:jCDKRfUj
>>122
螺旋階段を辿るようにつないでいくって言ってるだろ。
脳みそ腐ってんのか?
つか、お前、人の話聞かないし、馬鹿だから余計なことばっかりやることになるんだぞw
0128名前は開発中のものです。2006/09/15(金) 08:30:34ID:nV4yrdwW
階段なんて衝突判定もなにもせず計算で動かせばいい
法線方向はリミットつければいい
0129名前は開発中のものです。2006/09/15(金) 12:28:13ID:nr8K/tjp
いちいちうるせぇな。
つべこべ言わずにハイトフィールド使えっつってんだろうが。
俺の言うことが聞けねぇってのか?
0130名前は開発中のものです。2006/09/15(金) 14:17:30ID:T4MgT/q6
こんなことだからmixiに負けるんだお
0131名前は開発中のものです。2006/09/15(金) 16:44:30ID:tWOUPt7e
んじゃぐだぐだになってきたところで地形関連ということでひとつ
ほとんどの3Dのゲームは壁に当たってなお直進すると壁にそって微妙に横にすべるような動きをしますよね
あれって業界内で統一されたデザインとしてわざわざあのような動きをするようにしているんでしょうか
それとも典型的な壁との衝突時の処理の副作用としてあのようになっているんでしょうか
DOOMは壁をこすりながら走って加速できるバグがありました
MMORPGとかでは進めなくなった時点で歩行をやめちゃう駄目仕様なものも結構あります
そこらへんみなさんどうしてますか?
0132名前は開発中のものです。2006/09/15(金) 17:10:01ID:fW5L3y+Q
壁に接触するたびに足が止まるとストレスになるから
わざわざそういう風に作ってあるんだろう

当たり判定 壁ずり で検索すると解説してるサイトもある
0133名前は開発中のものです。2006/09/15(金) 17:49:16ID:W8QvwaGa
漏れの場合球コリジョンで判定してヒットした壁の面法線方向に
めり込んだ分(球の半径-中心から壁平面への距離)戻してるから
勝手に壁ずりする。
0134名前は開発中のものです。2006/09/15(金) 20:38:46ID:tWOUPt7e
>>133
ぐぐってでてくる壁ずり講座のが色々とあまり美しくない工夫をしてるのに対して
それだとすごい自然だなぁ
やっぱり見た目のメッシュとは別に当たり判定用のバウンディングボックスを設定するんですか
0135名前は開発中のものです。2006/09/15(金) 20:44:11ID:ghhBc9kZ
球コリジョンって書いてあるような
0136名前は開発中のものです。2006/09/15(金) 21:46:10ID:jCDKRfUj
>>134
俺は検索かけたら真っ先に>>133の方法が出てきたが・・・
0137名前は開発中のものです。2006/09/15(金) 22:45:06ID:T4MgT/q6
コリジョンである。
コリジョンっていう言葉のイメージは、
まるまるとしてて、つっかかりが無いが、ゲドゲドしたもの。
という感じである。
これを表している物は、丁度、キウイフルーツである。
あの、丸々としてるくせに、表面がジョリジョリと気持ち悪いそれである。
また、親父のジョリジョリした髭がそれである。
あの、短い髭によって摩擦が減少してるのに、ジョリジョリされると痛いあれである。
つまり、コリジョンとは、ジョリジョリが痛い親父の髭。という意味なのである。
0138名前は開発中のものです。2006/09/15(金) 22:50:28ID:lVw+0F2q
ちがうよ。コリジョンて犬のことだろ。
0139名前は開発中のものです。2006/09/15(金) 23:01:55ID:fW5L3y+Q
信号が失われたときに再送するべき範囲のことだっけ
0140名前は開発中のものです。2006/09/15(金) 23:05:30ID:zpKEoHaz
>>133
適度にブレーキがかかって具合がいいんだよな( ´∀`)
0141名前は開発中のものです。2006/09/15(金) 23:42:45ID:694NBURy
VIPのバカが釣りにはしゃいで喜んでいます

女子大生拉致監禁事件!?12くらい
http://ex16.2ch.net/test/read.cgi/news4vip/1158323954/

「どう見ても釣りだろ」
というと顔を真っ赤にしてレスしてくるので注意!!!
0142982006/09/16(土) 00:24:55ID:ybUsKN1J
>>126-127
なんで火病ってるの?
 
でさ、お前の使ってるのって本当にハイトフィールドなの?
俺、>>117でハイトフィールドの定義を確認したよな?
これに対して君は>>118で「まあ、定義はどうでもいいけど」とか
はぐらかしてたけど、なんでかな?違うなら違うって言えよな。
0143名前は開発中のものです。2006/09/16(土) 00:29:49ID:ybUsKN1J
ハイトフィールド(ハイトマップ)の基本的定義は
「XZ平面の格子点上でY(高さ)データをサンプリングした2D配列」
 
この定義で螺旋階段を表現しようとすると無理があると>>122-123で言っている。
層状の地形であるから多段でハイトマップ用意することになる。
階段は放射状に配置されている格子点サンプリングでは
うまく再現できない。高密度でサンプリングしてガタガタを減らすしかない。
 
例外的に、極座標系でサンプリングするなら高密度でなくて済むが
螺旋階段だけのためにわざわざ特例的な座標変換かますってどうよ。
0144名前は開発中のものです。2006/09/16(土) 00:30:35ID:ybUsKN1J
×階段は放射状に配置されている
○階段は放射状に配置されているから
0145名前は開発中のものです。2006/09/16(土) 00:33:23ID:ybUsKN1J
ゼルダトキオカ風のアクションゲーム用のレベルデータなら
洋物FPSのそれと相違点は少ないだろ。この手のレベルエディタなら
エンドユーザでも触れるし、レベルデータも見放題。
螺旋階段は厚みのある板を折り重ねて階段を作ってたりする。
0146名前は開発中のものです。2006/09/16(土) 00:40:15ID:+w/URioF
っつーかさ、螺旋階段とか立体交差ができないからって
ハイトフィールド使えねーってのは短絡すぎね?

そういう制限があるけど、実装が簡単だからって薦めて終わりにしねえ?
0147名前は開発中のものです。2006/09/16(土) 00:43:32ID:ybUsKN1J
「ハイトフィールド使えねー」なんて誰も書いてないと思うぞ。
0148名前は開発中のものです。2006/09/16(土) 00:47:30ID:kI4OWMBC
まえ、ベクターで灰とフィールドを使った3Dゲーダウンした。
なるほど、高低差が表現できてるな。ってのは当たり前なんだし、
バカっぽい印象があったな。灰とフィールド。
0149名前は開発中のものです。2006/09/16(土) 00:56:03ID:LjBp93/T
>>143
無理じゃないよ。
自分の常識に勝手にとらわれてるだけじゃん。
定義はそれでいいよ。
「XZ平面の格子点上でY(高さ)データをサンプリングした2D配列」

普通に四角形つないでいくだけで螺旋できるだろ
いや、螺旋なんていうからよけいややこしくなるのか?
じゃ、上からみて円状の道が表現できればそれの連続で螺旋は表現できるよな?OK?

  □□□
 □    □
□      □←Start
□      □←End
 □    □
  □□□

例えば↑こんなんでどうだ?(ずれないかな?w)
ちなみにこの□の1つ1つがハイトフィールド。
(格子の大きさはそれぞれで調節できる。でも、大抵は一定。XZで矩形のヒットを確認した後でYの計算に移る)
イメージわいた?w
まあ、これは俺の方法だけど。(他の方法もあるかもしれんけど)
0150名前は開発中のものです。2006/09/16(土) 01:08:20ID:kI4OWMBC
>>149
それは螺旋階段じゃなくて、リングみ見えるお
0151名前は開発中のものです。2006/09/16(土) 01:11:27ID:LjBp93/T
>>150
上からみた図って言ってるだろ。
標高データはあんだからXZ上でつながりゃOKでしょ。
0152名前は開発中のものです。2006/09/16(土) 01:31:05ID:7TFzm038
何でそんなムキになってるんだ
0153名前は開発中のものです。2006/09/16(土) 01:37:00ID:LjBp93/T
だってすげー馬鹿なんだもん。
俺が専門行ってた頃のまわりもアフォはアフォだったけど、
ここまで頭固いのか馬鹿なのか知らんけど、そういうのいなかったし。
会社入ってからはアフォなのいなかったからね。ストレス溜まるよw
0154名前は開発中のものです。2006/09/16(土) 01:51:12ID:ybUsKN1J
>>149
螺旋階段ごときでこんなに細かくハイトフィールドを分割・配置すんのか。
これ、階段の一段につきディスプレースメントマップ一枚の間違いじゃね?w
0155名前は開発中のものです。2006/09/16(土) 02:00:00ID:LjBp93/T
>>154
細かくってそんな情報どこにもないけど?
別に格子の大きさなんて大雑把に配置してもいいんじゃね?

>これ、階段の一段につきディスプレースメントマップ一枚の間違いじゃね?w
何言ってるのかさっぱりわからない。
0156名前は開発中のものです。2006/09/16(土) 02:08:54ID:ybUsKN1J
>>154
いや、細かくってのは「□」の個数。
一回りするのに14個のハイトフィールドが要るんだろ?
各ハイトフィールドの解像度はどれぐらいなんだ?
それで何段ぐらいの階段を表現してる?
0157名前は開発中のものです。2006/09/16(土) 02:10:06ID:+w/URioF
>>149
> ちなみにこの□の1つ1つがハイトフィールド。
1つ1つがハイト情報ってことだろ?
それの「1つ1つがハイトフィールド」って言ってるんだから
細かく分割するって解釈されても文句言えねーよな。

っつーか、>>149 の言う螺旋階段って、1周しかできてないだろ?
それなら誰だってできること知ってるよ。
ハイトフィールドでは何周もする螺旋階段ができないって話なんだが。
0158名前は開発中のものです。2006/09/16(土) 02:15:14ID:ybUsKN1J
>1周しかできてないだろ?
いや、それは一週分のハイトフィールドの実体さえ用意すれば
あとは繰り返し実体を参照でしかないわけで。
 
例えば「□」はAABBで、ハイトフィールドへの参照を内包みたいな。
0159名前は開発中のものです。2006/09/16(土) 02:15:45ID:+w/URioF
>>147
>>97 >>102 >>107

またスレ違いなので、そろそろ本気で止めとけ。
0160名前は開発中のものです。2006/09/16(土) 02:20:36ID:LjBp93/T
>>156-157
はぁ?マジでアフォなの?
細かさなんてそんなの作る奴が勝手に決めりゃいいじゃん。
ていうか、作る奴が決めるしかないじゃん。
自分の質問がそういうことをいってることがわからないほど頭悪いの?

>っつーか、>>149 の言う螺旋階段って、1周しかできてないだろ?
お前に関しては、死ね。
応用力なさすぎ。ゲームPGなんて辞めちまえよ。
0161名前は開発中のものです。2006/09/16(土) 02:30:25ID:x7V8Yxct
まあハイトフィールド厨は実際にゲーム作った事ないんだろ。
地面をハイトマップで作って建造物をメッシュで表現するのが最も一般的。
バカとハサミは使いようというか、適材適所。
スレの流れ通りの実装をするならメッシュより超絶メモリ喰うし、
モデラーにさくっとメッシュ作ってもらった方が断然良い。

応用力とか言いながら無駄な努力。
ゲームに限らずPG向いてないよ。
0162名前は開発中のものです。2006/09/16(土) 02:30:43ID:ybUsKN1J
>細かさなんてそんなの作る奴が勝手に決めりゃいいじゃん。
 
あぁ、そうだ。主観の相違だよ。
ハイトフィールドの数だけ空間分割してるわけで、一周に14分割なんて
データ作る奴が可哀想だよ。描画用の螺旋階段の静的メッシュ一個作って
それに対応する衝突判定はハイトフィールドだよ。しかも超分割。
 
「螺旋階段ごとき、階段一段につきボックス積み重ねれば終わりだろがよ。」
0163名前は開発中のものです。2006/09/16(土) 02:32:05ID:+w/URioF
>>160
一般的なハイトフィールドで螺旋階段できないって話してる時に
応用とかあり得ねえ。そんなこと言ったらなんでもアリだろw

オメーは書き込みを止めろ。全然伝えられてないしスレ違い。
0164名前は開発中のものです。2006/09/16(土) 02:32:14ID:hvflG0jI
作りたいゲームにあったアルゴリズムを使えばいい。
ハイトフィールドで苦手な螺旋階段をどうしても使いたいなら、
素直にハイトフィールド以外で妥当なアルゴリズムを使えばい。
( ゚Д゚)マンドクセーから俺はだいたいオクトツリー+コリジョン用モデルで済ませちまうけど。

そして>160の必死さに乾杯。
0165名前は開発中のものです。2006/09/16(土) 03:28:26ID:kI4OWMBC
160の言うのは、
ソケット7用ママンで、ソケット370CPUを使うという話だ。
その為には、PCIに拡張ボードのせてできるぞ!って言ってるんだ。
何でもありということなんだ。
0166名前は開発中のものです。2006/09/16(土) 04:17:31ID:fgX/VehA
3Dって倍率変えればどんなサイズでもいけるんだけど
標準的なキャラクタの大きさ(身長)って
(ゼルダとかのアクションタイプの場合)
どのくらいがいいんでしょうか?
0167名前は開発中のものです。2006/09/16(土) 06:33:25ID:x7V8Yxct
>>166
そんなもんどのくらいのスケールで処理したいのかによって変わるだろ。
座標単位÷仮想距離が小さくなるほど桁落ち誤差が酷くなってく。
座標の精度がfloatでマップの広さが数百メートルくらいなら
1.0=10cmくらいでいんじゃね?
あとはモデリングツールで扱いやすいサイズを考えるとかな。
まあどのみちデータ吐き出す時にスケールかけりゃいいだけの話なんで
作りやすいように作って問題が出たら変えりゃいいとおも。
0168名前は開発中のものです。2006/09/16(土) 10:22:52ID:LjBp93/T
>>161
はぁ?どこまで想像力ないの?
今回のレスにしたってちょっと突けば矛盾がボロボロ出てきそうな
糞レス返しやがってアフォにもほどがある。
だいたい、メッシュなんてどんだけ無駄な手間かけてんだ?wアフォw
デザイナが作ったメッシュってことは抜けの処理全部手作業で確認すんだぞw
しかもメッシュなんて判定が遅い。小粒なオブジェクトを散りばめたら速度的に不安が残る。

レスがみえないけど、あんまり馬鹿過ぎて話しにならないID:ybUsKN1Jはすでに
NGワードなのでレス書いても無駄だからw
0169名前は開発中のものです。2006/09/16(土) 10:30:40ID:TjFd2Nn1
>ID:LjBp93/T
もー少し冷静になれないものかなあ。
大人気無さ過ぎるよ。
0170名前は開発中のものです。2006/09/16(土) 10:46:53ID:u5V7+KW3
まぁ、プログラミングのレの文字も知らない単なる馬鹿なんだろ
0171名前は開発中のものです。2006/09/16(土) 10:59:39ID:YbNpH6OY
例えば街中で喧嘩をしてて仲裁されたとき
「俺の方が正しいのに何で止めるんだ!」ってさらにヒートアップしそうなタイプですか?

別にどういう結論を出しても構わないけど、
周囲がドン引きなのでできればこの辺で止めて頂けるとありがたいです
0172名前は開発中のものです。2006/09/16(土) 11:39:58ID:HePrFJJe
LjBp93/Tの人気に嫉妬
0173名前は開発中のものです。2006/09/16(土) 11:55:43ID:C7x/sWme
夏休みってまだ続いてたっけ?
0174名前は開発中のものです。2006/09/16(土) 12:02:24ID:0yBawA0+
大学はまだ休みかも
0175名前は開発中のものです。2006/09/16(土) 12:33:37ID:ZeKYkttp
いくらなんでも中学生より上ってことはねーだろw
0176名前は開発中のものです。2006/09/16(土) 13:40:21ID:W9eJQBmZ
口調はさておき、内容はどっちもどっちって気がするが
0177名前は開発中のものです。2006/09/16(土) 14:04:54ID:7TFzm038
どっちにしても面使ってるからねw
XZ情報からYを取り出すに変わりない
0178名前は開発中のものです。2006/09/16(土) 15:11:15ID:x7V8Yxct
>>168
>ちょっと突けば矛盾がボロボロ出てきそうな
どうぞ突いてみてください。きそうなだけで出てこないでしょ?

>メッシュなんてどんだけ無駄な手間
の具体例が
>抜けの処理全部手作業で確認すんだぞ
とありますが、ハイトフィールドを使ってもデータに不備がないかを
確かめる作業は必要ですよね。
ハイトフィールドは自分で作るから絶対間違ってないというスタンスですか?
しかもゲーム中の見た目と実際のデータに視覚的な関連性がないので
ぱっと見て間違いに気づきにくいでしょうね。

>しかもメッシュなんて判定が遅い
ご自分の技術力がないのを自慢されなくても結構ですよ。

>小粒なオブジェクトを散りばめたら速度的に不安が残る
ハイトフィールドだって細かく分割して解像度上げていけば
速度的な問題はでてきますよね。メッシュだから起きる問題じゃありません。

ちなみにしつこく食い下がってるのはLjBp93/Tを改心させたいわけじゃなくて
何も知らない初心者がLjBp93/Tみたいなロートルに騙されないように
LjBp93/Tがどれだけ無茶苦茶な事を言ってるか指摘しているだけですので。
0179名前は開発中のものです。2006/09/16(土) 15:25:14ID:LjBp93/T
>>178
作って無いのバレバレ。
ハイトフィールドは普通にポリで出せるし、
何より格子状だから範囲さえあっていれば完璧に抜けがない。
それに対して、デザイナにメッシュこさえてもらったものは
そもそも抜けを確実に無くすのはほぼ不可能。実際に抜けないことをプログラムを実行させて確かめるしか無い。
範囲がちょっと広くなるだけで抜けを探すだけで膨大な時間が必要となる。
実現できるにしても数をこなすことを考えるとあまり実作業には向いていない。
1ステージチェックするだけでかなりの時間が必要になる。
ま、そうやって作ってるプロジェクトもあったから、駄目というわけではないんだろうけど。俺は奨めない。

>ハイトフィールドだって細かく分割して解像度上げていけば速度的な問題はでてきますよね。
はぁ?
メッシュを散りばめて判定するのと、複数あるハイトフィールドのどれとヒットしてるか探す処理を比較してそんなこと言ってるの?
アフォ過ぎ。比較にならない。
0180名前は開発中のものです。2006/09/16(土) 15:46:25ID:mhwk2PCU
よーく、冷静に考えるんだ。
問題は既にハイトフィールド云々という次元を遥かに凌駕している。

 こ れ は ど ち ら が 最 後 に 書 き 込 み を す る かっ!!!

という超超高次元な問題に遷移しているのだ。
この場合書き込みの内容は無視して構わない。
あくまでどちらが最後に書き込みをするか。この一点で勝負は決まる!
0181名前は開発中のものです。2006/09/16(土) 15:50:38ID:j5vuvrOR
煽り立てるなっつーの!
0182名前は開発中のものです。2006/09/16(土) 16:08:04ID:NbVPi73v
>>179
まぁなんだ、ツールの段階でポリゴンに隙間がなければ
コリジョンが抜けるなんて事はないんだよ。

抜けるとしたらそれはそれで興味あるアルゴリズムだな・・・
0183名前は開発中のものです。2006/09/16(土) 16:11:17ID:z4sCHZfB
隙間があったらシャドーボリュームすら作れなくなるぞ。
いったいどんな馬鹿なモデルデータを使ってるんだ?
0184名前は開発中のものです。2006/09/16(土) 16:49:39ID:LjBp93/T
>>182-183
データの問題もあるけどチェックの仕方にもよると思うね。
隣接する多角形をちゃんとくっついてるものと保障する構造を作るのが面倒だと思うけどな。
例えば、三角形Aとそのとなりに三角形Bがあるんだけど、
判定してみたら誤差の問題かアルゴリズムに抜けがあるかでその両方の三角形に偶然ヒットしなかったと。
でも、モデル的にはその2つはくっついてて、境界でも必ずそのどちらかにヒットするはずなんだけど
どっかで抜けが発生してしまう。と。
俺がデザイナの作ったメッシュデータで判定をしてたときに面倒だと思ったのはこんなところだね。
しょうがないから隣接情報を三角形ごとにもたせたけど、手間だし、無駄だと思うな。

それに対してハイトフィールドは別に隣接情報を持たなくていいから楽だし、
なによりXZから確実にYが決定できる安心感がいいね。
0185名前は開発中のものです。2006/09/16(土) 17:04:12ID:QxqZsR+w
アルゴリズムに抜けがあるのはPGの技量不足じゃ…
0186名前は開発中のものです。2006/09/16(土) 17:12:38ID:7x6J3Hmc
普通にH-θ比例計算でいいだろうに
0187名前は開発中のものです。2006/09/16(土) 17:33:58ID:NCgixR60
3Dオブジェクトを利用して当たり判定を行うか、
旧来の擬似3Dマップで使われるような判定を別に行うか、
大きくはこの2通りがある。

旧来の擬似3Dマップ方式でも、3D空間を格子状に分解して個々の
立方体領域全てについて地形が存在するか否かをもつ方式もあれば、
2D平面を格子状に分解して、ここの正方形領域に高さ情報を持たせたものを
複数層重ねることによって地形の当たり判定を管理する方式もある。

蒸し返されてる螺旋階段の例において、螺旋階段状でジャンプしたときに
上の階段とぶつかることについて考える。
3Dオブジェクトを利用した判定や3D空間を格子状に分解する方式では、
下の段に接地することと上の段に頭をぶつけることは、まあだいたい等価
に考えられる。特に特別扱いしなくてもいい。
高さ情報をもつ2D格子を複数層重ねる方式では、その層を場所ごと(螺旋階段
一周の端とか)で切り替えるようにしていると、上の階段に接触しない可能性が
出てくる。高さ依存で層を切り替えるとか、そういう配慮が必要だ。

何の方式にしろ、理屈の上ではたいていのことが工夫すれば(あるいはしなくても)可能だ。
ただ、世界の単純化の度合いが進めば進むほど、複雑なことをするためには世界のモデルを
拡張する必要がでてくる。
あとでシステムが拡張に次ぐ拡張に見舞われるようなことにならないためには、自分の作る
ゲームでやることに対して、どの程度の世界(今回の例では地形)の単純さが適切か考えることが
大切だな。


今回の言い合いでは、たぶんお互いが頭に思い描いているゲームの複雑さの基準がかなり異なっている。
それが単なる一時の思い違いによるものならいいんだが、この様子では、どちらの側も、話の中である程度
具体的に想定できるゲームのバリエーションが貧困なんだと思う。もっといろんなゲームをプレイするといいよ。
0188名前は開発中のものです。2006/09/16(土) 17:38:28ID:+w/URioF
>>184
この書き込みを見てやっとLjBp93/Tが思っていたよりはマトモなんだと分かったw
だからこそ、普通の(←これ重要)ハイトフィールドで螺旋階段とかが
そのまま(←これが重要)判定できないっていうのに異論を唱えるのが不思議。

>>187
> 今回の言い合いでは、たぶんお互いが頭に思い描いているゲームの複雑さの基準がかなり異なっている。
みんな「時オカ」を例にして話を進めてますよ。
あれくらいの規模(ポリゴンの単純さ)からすると、ハイトフィールドよりも
メッシュ判定の方が断然楽。確かに確認作業は大変なものになるけど、
それこそ「工夫」すれば楽にできるよ、な。
0189名前は開発中のものです。2006/09/16(土) 17:48:21ID:LjBp93/T
>>188
ゼルダなんてSFCの頃やったきりだしw
0190名前は開発中のものです。2006/09/16(土) 18:19:37ID:E6j+Euzf
二つの三角形が上手く判定できないくて「面倒」ときたか……。
数値計算もロクに知らないのが露呈しただけじゃん。
0191名前は開発中のものです。2006/09/16(土) 18:29:38ID:LjBp93/T
>>190
はぁ?
0192名前は開発中のものです。2006/09/16(土) 18:38:20ID:mhwk2PCU
みなさん御唱和ください。

「楽だし、安心感がいいから、ハイトフィールド最高!!」

さぁみなさんご一緒に!!
0193名前は開発中のものです。2006/09/16(土) 18:41:42ID:LjBp93/T
>>192
無駄に苦労して抜けに苦しむ意味がわからない。
隣接情報は作るのも大変だが、それ以上に確認が大変だぞ。
0194名前は開発中のものです。2006/09/16(土) 18:41:45ID:XwJAVNiB
一見して分からないところでメッシュに隙間があって高さが判別できなくなったらそれまで正常に取れてた高さをそのまま使えばいいんでない?
0195名前は開発中のものです。2006/09/16(土) 18:56:20ID:mhwk2PCU
> ID:LjBp93/T
お前の糞スタッフが糞地形データをよこすのはわかったが、
糞スタッフまみれなのはお前だけらしいから、
全世界のPGが「ハイトフィールド最高」と唱えるまで粘着するなと言ってるわけだが…
0196名前は開発中のものです。2006/09/16(土) 19:04:21ID:NCgixR60
>>194
隙間にオブジェクトがつっこんだ事それ自体とか、そのときに取得する
「それまで正常に取れてた高さ」とかが正確ならいいんだが、単に行き当たり
ばったりな対策なら余計ひどいことになるから思いとどまったほうがいいと思う。

商用ゲームのリリースとかの社会的な影響が大きいものでもない限り、
共同制作なら締め切りの延期を頼むなりして、まじめに原因と正確な
解決法の模索をしたほうがいいと思う。
0197名前は開発中のものです。2006/09/16(土) 19:09:42ID:u5V7+KW3
ハイトフィールドってバンプマップみたいなもん?
0198名前は開発中のものです。2006/09/16(土) 19:10:41ID:XwJAVNiB
>>195
>粘着するなと言ってるわけだが
せっかくもりあげてくれてるのに…なんでそういうこというかな
彼にはDirectΧMVPをあげていい
0199名前は開発中のものです。2006/09/16(土) 19:14:39ID:LjBp93/T
>>194
そもそもどうやって正常か異常か判断するのかと問いたいw

俺のそのときやった解決策は隣接情報を持つことだな。
これ以外の解決策があるかもわからんが・・・。
0200名前は開発中のものです。2006/09/16(土) 19:15:01ID:W9eJQBmZ
技術的な話が一切無いレスが、一番見苦しい
0201名前は開発中のものです。2006/09/16(土) 19:40:30ID:XwJAVNiB
自分が次のフレームで進みたいとこに鉛直にレイをとばして何らかのポリゴンと交差したら正常
メッシュの隙間をちょうど通ってなにもヒットしなかったら異常
>>194はメッシュを事前にチェックする手法じゃなくて実際にゲーム内で歩行するときにやる
次のフレームでキャラを描くY座標を求める漸次処理での話だよ
■ このスレッドは過去ログ倉庫に格納されています