■ このスレッドは過去ログ倉庫に格納されています
3Dゲームの作り方を教えてください
- 155 :名前は開発中のものです。:2006/07/09(日) 08:58:29 ID:DFFnjZRB.net
- それらだけで作る場合は数学の知識はマジで要ります。
- 156 :名前は開発中のものです。:2006/07/09(日) 12:34:50 ID:35NL5wjV.net
- >>154
趣味でやってるけど、俺もそんなもんだな。
それと衝突判定は肝だと思う。
アクションなら物理も要るかな。
難しい事やりたいなら剛体力学とか。
- 157 :154:2006/07/09(日) 13:42:53 ID:aSjtkPwz.net
- >>155
>>156
返答ありがとうございました
理系科目が必要という訳ですね。
物理と数V位は勉強しておきます。
- 158 :名前は開発中のものです。:2006/10/05(木) 14:12:23 ID:c8i5NGa8.net
- _■_ ________________
|∵∴∵|:::ー-ーーー-ー─ーー--ーーーー-ーー-ー,||
|∵∴∵|:::: 磯野家の系図 i ||
|∵∴∵|:::: ; ||
|∵∴∵|:::: 波平─-──┬─-──フネ :; ||
|∵∴∵|:::: │ | ||
|===|:::: マスオ───サザエ ! ||===-3
|∵∴∵|:::: │ ; ||
|∵∴∵|:::: 「 ̄ ̄ | ||
|∵∴∵|:::: │ i ||
|∵∴∵|:::: タラチャン | ||
|∵∴∵|:::ーーー ーー- -ーー-ーー-ーー-ーー─ ||
 ̄■ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【磯野家の真実】
- 159 :名前は開発中のものです。:2006/10/05(木) 18:45:32 ID:+CoiLQiV.net
- >>157
数学って言ったけど、今の過程知らないけどIIIじゃなくてCのほうだね
- 160 :名前は開発中のものです。:2006/10/07(土) 14:01:00 ID:xxTfoj+2.net
- ポリゴンの数ってひとつのメッシュでどのくらいがいいんでしょ。
市価5万円くらいのパソで楽々表示できる限界ってどのくらいなんですか?
そこから逆算とかできそうな木がするんですけれど。
よかったら教えてください。
- 161 :名前は開発中のものです。:2006/10/07(土) 14:18:39 ID:xxTfoj+2.net
- あげるね
- 162 :名前は開発中のものです。:2006/10/07(土) 14:25:39 ID:gp22Eqnh.net
- いらない
- 163 :名前は開発中のものです。:2006/10/08(日) 05:05:42 ID:/48ABdwP.net
- >>160
ヒント: オンボード
- 164 :名前は開発中のものです。:2006/10/08(日) 09:02:12 ID:6YFsCMGc.net
- >>163
ググッたらフィルレートってのを調べればいいみたいってわかった。
多謝
- 165 :名前は開発中のものです。:2006/10/09(月) 14:58:18 ID:CJRQV46B.net
- 誰かの作ったライブラリを使えば、それほどしんどくないぞ。
- 166 :名前は開発中のものです。:2006/10/14(土) 00:53:38 ID:teFP+KBk.net
- 使いこなすにも知識が要るので
- 167 :名前は開発中のものです。:2006/10/17(火) 12:49:38 ID:vb+tiAlC.net
- 質問させてもらいます。
Delphi7でなんとかポリゴンの表示までできるレベルなんですが・・・。
まだ先の問題なんですけど一般的なゲームで、岩や木とかの配置位置のデータとかはどうやって管理するんでしょうか?(いわゆるマップデータです)
そういう規格があるんでしょうか?それとも、ゲームエンジンによって管理方法がちがうんでしょうか?
- 168 :名前は開発中のものです。:2006/10/17(火) 12:59:58 ID:v0yfnzhi.net
- 自分のシステムに合うように最適なものを考える。
- 169 :名前は開発中のものです。:2006/10/17(火) 13:15:35 ID:vb+tiAlC.net
- >>168
どうも。本とか参考にしつつ考えて見ます。
- 170 :名前は開発中のものです。:2006/10/17(火) 16:33:30 ID:Ci2KLVBp.net
- 3Dって、ベクトルとか光源とか物理法則とか、すべて理解してなきゃならないんでしょ?
想像するだけでウンザリするなぁ・・・・
- 171 :名前は開発中のものです。:2006/10/17(火) 17:02:50 ID:mIzA/9uy.net
- 最低限、ベクトルと行列が判っていれば充分だし、
それも結局は足し算とかけ算の組み合わせに過ぎない。
- 172 :名前は開発中のものです。:2006/10/17(火) 18:00:05 ID:QoX6I4Ep.net
- 市販の3Dゲームではモデルを描画するのにDrawPrimitiveで一枚一枚ポリゴンを描いているのですか?
- 173 :172:2006/10/17(火) 18:05:58 ID:QoX6I4Ep.net
- ゲームデータを見ても、どこにもXファイルが見つからなかったので気になっています。
- 174 :名前は開発中のものです。:2006/10/18(水) 01:30:38 ID:z8ZOVJe1.net
- >>172
そのポリゴンのデータを収めてあるファイルはあるんじゃないでしょうか?
- 175 :名前は開発中のものです。:2006/10/19(木) 00:03:17 ID:dUDnvUvq.net
- >>173
見つからなかっただけで、あります。
そもそも市販品でXファイルを使ってるところがあるのか?
つーか常識的に考えてパックするだろ。
- 176 :172:2006/10/19(木) 11:00:32 ID:d5uyJHfl.net
- それじゃ、読込時に解凍して個々のモデルデータを読みにいってるんですね。
- 177 :名前は開発中のものです。:2006/10/21(土) 01:33:13 ID:P0Uyn/+N.net
- 違います
- 178 :名前は開発中のものです。:2006/12/26(火) 15:57:22 ID:qKC012XO.net
- ProjectXというプロジェクトにXファイルを入れたらとりあえずモデルが動きました。
- 179 :名前は開発中のものです。:2007/01/24(水) 14:18:37 ID:QRj3KbD3.net
- 大抵3Dやろうとしてやめる奴は、
覚えること、やらなきゃならない事が多すぎてやめることが多い。
※2Dで出来ることを全てやってから3Dに移行しろ。
- 180 :名前は開発中のものです。:2008/09/28(日) 01:48:11 ID:6htmx/FR.net
- おれもDirect3D使ってゲームでも作るか
- 181 :名前は開発中のものです。:2008/11/16(日) 01:05:43 ID:l0p0c6ZA.net
- ゲームだとでこぼこの地形とかあるいたりするけど、
あれってどういう3Dモデルなの?キャラとかならひとつのxファイルなのはわかるんだが、でかい地形はどう分けてるのか
- 182 :名前は開発中のものです。:2008/11/24(月) 21:45:21 ID:lOW/AKVT.net
- フラクタル
- 183 :名前は開発中のものです。:2009/01/22(木) 17:25:51 ID:QgG8tPxk.net
- >>181
こんな感じでしょ
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0377zip.html
- 184 :名前は開発中のものです。:2011/02/06(日) 09:27:52 ID:F4sCR8JY.net
- 虫干し age
- 185 :魔女オイラ:2011/05/06(金) 01:19:40.23 ID:1XA9WE8j.net
- !ninja
- 186 : 忍法帖【Lv=1,xxxP】 :2011/05/06(金) 01:27:19.97 ID:1XA9WE8j.net
- !ninja
- 187 :魔女オイラ:2011/05/06(金) 01:34:35.43 ID:1XA9WE8j.net
- >>185
>>186
上記の書き込みは間違えて書き込んでしまったものです。
ご迷惑おかけしました。
おわびに3Dゲームに関する情報を書き込んで行きます。
簡単に3Dゲームを作れてしまうHSPのプラグインにEasy3Dというのがあります。
以下は私がEasy3Dで作成したゲームの動画です。
ジャンプアクションゲーム
http://www.nicovideo.jp/watch/sm11559211
興味がおありでしたら以下のEasy3D開発者のおちゃっこ先生のサイトにアクセスしてください。
http://www5d.biglobe.ne.jp/~ochikko/
- 188 :名前は開発中のものです。:2011/05/07(土) 00:42:27.77 ID:2df+Dkgf.net
- OpenGLでフレームレートの設定の仕方とメインのシステム(?)をどこに書けばいいのか教えてください。
- 189 :名前は開発中のものです。:2011/05/08(日) 14:02:51.07 ID:7eaHmRuR.net
- 魔女オイラ晒し上げ
おちゃっこ先生迷惑してんじゃねーのwwww
- 190 :名前は開発中のものです。:2011/05/08(日) 14:05:04.59 ID:7eaHmRuR.net
- 魔女オイラ晒し上げwwww
- 191 : 忍法帖【Lv=3,xxxP】 :2011/05/10(火) 01:36:35.79 ID:qekyIlFy.net
- >187
動画を変更してアップロードしました。
http://www.nicovideo.jp/watch/sm14031363
- 192 :名前は開発中のものです。:2011/05/11(水) 23:25:12.00 ID:fQCndov8.net
- 初歩的な質問で申し訳ないです。
3Dのゲームでキャラモデルの表示がおかしくなるバグ
に関して質問があります。
下記動画の1:06や2:44あたりなどがそうなんですが。
http://www.youtube.com/watch?v=ny2Y6rrw0kE
・こういったバグ現象を主に何て言うのでしょうか?
・基本的に何が原因で起こるんでしょうか?
- 193 :名前は開発中のものです。:2011/05/18(水) 00:27:30.64 ID:JPIlVRw/.net
- ジンバルロック系?
- 194 :名前は開発中のものです。:2012/10/22(月) 19:40:41.75 ID:eV1WpBwB.net
- おわた
- 195 :名前は開発中のものです。:2013/01/31(木) 22:49:24.38 ID:k0j/GaYd.net
- あ
- 196 :名前は開発中のものです。:2013/04/14(日) 21:33:44.75 ID:ixjs3x2/.net
- ひでえwww
- 197 :名前は開発中のものです。:2014/07/22(火) 15:25:50.36 ID:awpbU11o.net
- 3Dの起伏のあるポリゴンデータの上を歩かせたいのですが、
キャラの下にあるポリゴンはどうやって特定させるのでしょうか?
- 198 :名前は開発中のものです。:2014/12/12(金) 18:36:06.03 ID:KBB88Ruk.net
- >>197
遅いレスだがぶっちゃけ高校数学のベクトル演算が分かっていることが全て。
- 199 :名前は開発中のものです。:2014/12/15(月) 17:36:08.70 ID:G9FW1L/c.net
- >>198
で、具体的にはどうなのでしょうか?
- 200 :名前は開発中のものです。:2014/12/17(水) 22:36:20.27 ID:ETLrOyMm.net
- ……じゃあ教えてあげるよ。
まず地面のポリゴン1つについて考える。3点ABCのうちAを基準にすると、
「ABベクトルに平行で長さが1のベクトルb」
「ACベクトルに平行で長さが1のベクトルc」
「これら2つのどちらとも垂直で長さが1の法線ベクトルn」が導ける。
ただしnの向きは2つ考えられるから、自分が上向きだと思う方にすること。
で、次にキャラのヒット基準になる座標(例えば足元の座標)Pに対して、「APベクトル」が決まる。
ここで「APとbの内積が、0~ABの長さの範囲」
同様に「APとcの内積が、0~ACの長さの範囲」
なおかつ「APとnの内積が、十分0の近傍にある(これはゲーム内容で調整)」
という条件を満たせば、そのキャラの足元はそのポリゴンの上にあると言える。
ちょっと眠いので細かいところ間違ってたら申し訳ない。
- 201 :名前は開発中のものです。:2014/12/17(水) 22:46:33.28 ID:ETLrOyMm.net
- ただね、これくらいの式を立てることが“息をするくらい簡単に”できる人でないと3Dは厳しいと思うよ。
「正解を人に聞いて丸写しすれば問題は解決すると思っている」ウィキペディア脳は、通用しない。
念のため、同人やインディーズでも3Dやってる人なら、四元数とかもっと高度な技術を勉強をしてる。
- 202 :名前は開発中のものです。:2014/12/18(木) 17:09:12.87 ID:BS4A5i3K.net
- >>200
その理論も興味深いけど、
オレが知りたいのは、たくさんある地形ポリゴンから、
どうやって、自分の足元付近のポリゴンを割り出すかということ。
まさか全地形データの全ポリゴンを毎回全調査しないよね?
- 203 :名前は開発中のものです。:2014/12/18(木) 21:58:22.54 ID:or1Ep//r.net
- 興味深いも何も、上記やその応用以外の判定方法を知ってるなら教えて欲しい
(単なる直方体の組み合わせでごまかすとかいうのはなしで)。
たしかに「細かい判定を毎回やったら重いから、大ざっぱな判定で絞っておく」のは
常套手段だけど、自分の足元付近のポリゴンをある程度絞り込めても
最後には正確な判定方法を知ってなきゃどうにもならない。
そのために必須の数式を「興味深い理論」と言っている時点で、未修得だって分かるんよ。
話をはぐらかすよりもまず高校数学のベクトル演算を学び直す方が先。
- 204 :名前は開発中のものです。:2014/12/19(金) 02:12:17.20 ID:wfzPpEYF.net
- はぐらかすもなにも最初の質問読めないのか
- 205 :名前は開発中のものです。:2014/12/19(金) 21:23:29.76 ID:DBeCdHTS.net
- 質問:漫画の背景の本格的な描き方を教えてください。
回答:透視図法を覚えることが全て。
質問:で? 具体的には?
回答:……しょうがない。消失点を1〜3個決めて〜(以下、詳細な説明)。
質問:興味深い手法だが、自分の求めているものとは違うんだけど。
回答:ってことはこれ知らないんでしょ。知らないと絶対描けないんだけど。
質問:・最初の質問読めないのか。
- 206 :名前は開発中のものです。:2014/12/23(火) 16:19:01.40 ID:o0Pe8QSm.net
- 後になって上のやり取りを目にした人のために書き残しておくよ。
3Dゲームのプログラミング=線形代数のプログラミングというのは曲げようのない事実。
どうしても淡白な書き方になるからムッとするのは分かるが
こればかりはどうしようもないんだわ。
- 207 :名前は開発中のものです。:2014/12/25(木) 12:46:50.17 ID:TKwWH5oK.net
- >>202
> まさか全地形データの全ポリゴンを毎回全調査しないよね?
そのとおり、無条件ならば全部を調査しますよ
ゲームがごまかしの技術ですから、見えない部分は嘘でも良いし、完全にエミュレートする必要が無い。
単純に都合の良いマップを構成する、都合の良いポリゴンを構成する、条件の付け方ですよ。
- 208 :名前は開発中のものです。:2014/12/25(木) 13:18:41.61 ID:TKwWH5oK.net
- 屋外の地形を作るには、HeightMap を通常は使う。
室内ならば、BSPmapを使う。
HeightMapが碁盤の目のように区切られた平面に高さを加えたもので、
ゴム板のように高さ方向に変形ができると思えばよい。
位置情報は、容易に計算で求められる。
- 209 :名前は開発中のものです。:2014/12/25(木) 15:00:33.15 ID:Nyexk/4i.net
- 坂や起伏のある平面は、それこそ1ピクセルごとに高さが変わっていくのに、
そんなのをマップにどうやって写すの?
- 210 :名前は開発中のものです。:2014/12/25(木) 20:43:20.21 ID:qSsfxaQn.net
- 質問は「足元のポリゴンの判定法」なのに、足元のポリゴンとは無関係の
高さマップを利用するやり方を答えるのはアリなのか(笑)。
まあゲームとして成立すればいいんだろうけど、あの方法だと2階建て構造とか
球の表面構造には全く対応できないよ。念のため。
>容易に計算で求められる。
この計算を線形代数というわけで。
- 211 :名前は開発中のものです。:2014/12/25(木) 20:44:05.91 ID:qSsfxaQn.net
- >>209
高さマップをあらかじめ作成するにも、それを利用してゲーム中に現在の
地形の高さを計算するにも、最低限、線形補間(線形代数の基礎)が必要になるよ。
- 212 :名前は開発中のものです。:2014/12/25(木) 21:31:42.56 ID:Nyexk/4i.net
- >>210
高さマップなら足元ポリゴン要らないし、代替え案として成り立っているからいいに決まってる。
>>211
なるほど、全部保存しているわけじゃなくて、補間で出すんですね。
ありがとうございます。
- 213 :名前は開発中のものです。:2014/12/25(木) 21:58:50.79 ID:Nyexk/4i.net
- と思ったけど、たとえば、らせん階段を登らせるような場合は、
HeighMapじゃ表現できないのでは・・・。
- 214 :名前は開発中のものです。:2014/12/25(木) 22:15:25.99 ID:oCwkEiKl.net
- 基本が屋外マップ用だからね。
例えば、橋などの立体交差をさせるには、HeightMapを二つ使う。
扉を通過する時にマップを切り替えるようにする。
- 215 :名前は開発中のものです。:2014/12/26(金) 06:52:35.57 ID:wf6rfbrV.net
- なるほど。Rpg的なマップならこれでほぼカバー出来そうですね。
- 216 :名前は開発中のものです。:2014/12/26(金) 11:38:31.40 ID:wf6rfbrV.net
- HeightMapって碁盤の目のようなマップならいいけど、
とがってたり、円形とかだとどうやってマップつくるの?
- 217 :名前は開発中のものです。:2014/12/26(金) 14:31:13.74 ID:11oed3el.net
- ポリゴンで良いだろう。
"メタセコイア"で作った、Xファイルで部屋を作る。
"DXライブラリ"で作ればよい。
当たり判定は、モデルと直線の当たり判定を使う。
Xファイルならば、自由形状になる。あとはプログラム次第。
- 218 :あ:2014/12/26(金) 15:07:14.10 ID:/TLYM1H6.net
- /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://ヽ:::::::::::::::|
l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::// ヽ::::::::::::::l
l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/:::「'ヽ:::::::::::// ヽ:::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ノl:::ノ l:::::::/ ヽ::::::::|
ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::/ ゙゙ ノ:::/ ,,;;;;;;,, ,,,,ヽ:::::l
):::::::::::::::::::::::::::::::::::::::::::::::/ ノ/ __,'''i: ('''__):::l
)::::::::::::::::::::::::::::::::::::::::::::::::::/  ̄ ̄ン:. :「 ̄`ヾ
1:::::::::::::::::::::::「 `┤l:::::::::::::::::l  ̄ , ヽ ̄ l
`l:::::::::::::::::::::ヽ :l li:::::::::::::/ ヽ /´ `l |
ヽ::::::::::::::::::::::\_」 lヽ::::/ .l !:-●,__ ノ /
ノ:::::::::::::::::::::::::::ノ | l `゙゙ i ,,;;;;;;;;;;;;;;;;;;;;, /ヽ
,/ ヽ::::::::::::::::::::::( l l::::::::.. /.:''/´ ̄_ソ / `ヽ
ヽ:::::::::::::::ヽ | l:::::::::::... /::// ̄ ̄_ソ / \ ヴッ!!
ヽ:::::::\| l::::::::::::::::... / :::.ゝ` ̄ ̄/ / ヽ
ヽ:::l l:::::::::::::::::::..  ̄ ̄;;'' / ヽ
l l;;;;;;:::::::::::::::.....;;;;............;;;;;;''ノ l
l l '''''''''''''''''''''''''''''''''''''' ̄l | |
http://www.youtube.com/watch?v=z2qK2lhk9O0
- 219 :名前は開発中のものです。:2014/12/27(土) 14:54:17.11 ID:X3RBRQ+u.net
- >ポリゴンでいいだろう
とりあえず >>197 からの流れを読んでみてよ。
- 220 :名前は開発中のものです。:2014/12/27(土) 15:05:05.54 ID:X3RBRQ+u.net
- 高さマップとかの技術って、単に2Dゲームのマス目方式の延長だから、
それをそのまま3Dに応用しても「Z階の左からX、上からY」みたいな地形しか表現出来ない。
それじゃ3Dにする意味ないじゃんって思ってしまう。
それに結局、そのマップ自体を事前に用意するのにどうしてもちゃんとした3Dの知識が必要になる。
- 221 :名前は開発中のものです。:2014/12/27(土) 15:18:05.39 ID:X3RBRQ+u.net
- もしかして >>213,216 = >>197 なんだろうか。
>>200 で正攻法を教えたら教えたで悪態をつき、
別の人( >>220 )が「(ごまかしの手段だけど)こういうのがあるよ」と教えたら教えたで
それだと「○○が表現できない」と不満を言ってるとしたら、もうどうしようもない。
- 222 :名前は開発中のものです。:2014/12/27(土) 15:26:42.30 ID:v84mLfoU.net
- 実際のゲームが中身がそうなっている。
見えるポリゴンが複雑に作ってあるが、
当たり判定用のポリゴンが単純で明快に階層化されている。
それが単純で、平面の部屋に分かれており
、ドアで繋がれていて階層化される。
"Quake BSP map" で検索すれば解説がある。
- 223 :名前は開発中のものです。:2014/12/27(土) 15:46:24.94 ID:zXxrlLXJ.net
- 高校数学でベクトルをきちっと学んでいた人はこういう場面でもあまり躓かず、
「ベクトル?そんなの何の役に立つんだよwww」と言ってた人は右往左往するわけだな
- 224 :名前は開発中のものです。:2014/12/27(土) 18:32:12.44 ID:y4MpRBf9.net
- 俺は昔からプログラムを趣味でやってたから「何の役に立つんだよ」なんては思わなかったが
普通に数学で躓いていた。
- 225 :名前は開発中のものです。:2014/12/28(日) 01:36:15.10 ID:6/Gy2xn9.net
- 別にゲーム作るだけが人生じゃなし、「面倒だから諦めた」
「やってみたが出来なかった」で構わない。それも経験だと思う。
むしろ「それなりの努力が必要」という事実から目を逸らして
いつまでも他人を巻き込む方が問題だし、何の為にもならない。
>>222
ちゃんと話の流れを読めば、「何を勉強すればいいかだけ教えれば
あとは自主的に勉強する」かどうか、すぐに分かるでしょ。
- 226 :名前は開発中のものです。:2014/12/28(日) 08:16:59.20 ID:atH7vbr7.net
- >>222
bspが空間の再帰分割アルゴリズムなのはわかったけど、それをどう使ってるのかよくわかりません。
FPSのような室内専用?
当たり判定モデルが別途あるのは知ってるけど。
- 227 :名前は開発中のものです。:2014/12/28(日) 10:18:16.66 ID:31x1GkHd.net
- >>226
http://www.yaldex.com/game-programming/0131020099_ch13lev1sec3.html
Algorithms in Game Programming
- 228 :名前は開発中のものです。:2014/12/28(日) 11:38:11.93 ID:31x1GkHd.net
- まぁね、答えがひとつでなくて、色々な方法がある。
初心者ならば、単純な方法で行えばよい。
Xファイルか高さマップになるだろう、
そして、DXライブラリを使えば良い。
初心者 : C言語、DXライブラリ、Xファイル。 書籍も出てるし
- 229 :名前は開発中のものです。:2014/12/28(日) 18:11:27.51 ID:8FdYADaT.net
- >>227
結局、こうやってツリーにしておけば、キャラの位置のポリゴンが早く探せるってこと?
- 230 :名前は開発中のものです。:2014/12/28(日) 18:30:55.48 ID:tvPRjwol.net
- BSPが、見えるものと、当たり判定の両方を省略して少なくする。
数百の多くの部屋があり、ドアで繋いでいて、
当たり判定は、自分のいる部屋だけを処理すればよい。
見えるものは、自分の部屋からドアを通して見える部屋だけを描画すればよい。
全部の部屋を処理しなくて良いから、処理量が格段に少ない。
BSPが複雑ではあるが、効率よく働く。
現代のCPUやメモリがあれば、BSPを使わなくても実現可能です、昔よりもPCの性能が向上したから。
- 231 :名前は開発中のものです。:2014/12/28(日) 19:44:28.81 ID:8FdYADaT.net
- >>230
見えるものってのがよくわからないけど、
見える見えないはカメラからのベクトルで決めるのでは?
- 232 :名前は開発中のものです。:2014/12/28(日) 19:57:46.59 ID:tvPRjwol.net
- あなたが部屋にいて、ドアがある。
ドアの向こう側の隣の部屋は見える。
部屋に壁がある、壁の向こう側の部屋は見えない。
この情報は、事前に知ることが出来る、
今あなたがいる部屋から見える部屋は決まっている。
だから、あなたの部屋に見える部屋番号のリストを記録しておく。
それで、PCが描画するのは、
あなたの部屋とドアで隣接する見える部屋番号リストの部屋だけを描画する。
-
別のカメラ最適化の方法として、
カメラ視野角の外側は、見えないから描画しない。
見える物体の裏側は、陰になり見えないから描画しない。
-
全部を描画するのでは無く、最適化された必要最低限の描画を行う。
- 233 :名前は開発中のものです。:2014/12/28(日) 20:04:25.73 ID:8FdYADaT.net
- >>232
ああ、部屋情報は別途ファイル参照ですか。
BSPツリーで、ドアから見える向こうの部分もわかっちゃうのかと勘違いしまして。
まあでも、結局BSPで空間を分割していくアルゴリズムがなんともまだよくわかりませんがw
こんないかにもややこしいことも理解できないとダメなんですね・・・。
- 234 :名前は開発中のものです。:2014/12/28(日) 20:19:06.62 ID:tvPRjwol.net
- 部屋の形状が単純な立方体ならば、その場で計算も出来る。
部屋番号をツリー状に組織することで、検索などのデータ処理を速く行える。
これが、巨大な大きいマップになれば有効なだけで、
小さくひとつの部屋だけなら有用性が少ない。
- 235 :名前は開発中のものです。:2014/12/29(月) 08:35:16.60 ID:h4rdpxTJ.net
- ああ、部屋がたくさんあるマップの表示部屋の管理をBSPツリーでやってるってことですか。納得しました!
- 236 :名前は開発中のものです。:2014/12/30(火) 03:26:05.42 ID:NdLAMzIP.net
- 君は、2分木を知ってる?
千個のデータ中から、あるデータを探すのに、
線形探索なら最悪千回かかる
2分木なら、2^10=1,024 だから、10回で探せる
なぜなら1回の探索で、半分のデータを切れるから
今、1〜1,000中から、300を探したい場合、
最初に500と比べて、300は500未満だから、
500以上を一気に切れる
次は、250と比べて、300は250以上だから、
250未満を一気に切れる
- 237 :名前は開発中のものです。:2014/12/31(水) 15:36:06.93 ID:0ZF0cVIR.net
- BSP木は均等な2分木じゃない
- 238 :名前は開発中のものです。:2015/01/02(金) 21:20:43.44 ID:HcM8qbnJ.net
- そもそも3Dでのヒットの取り方が分からない相手に
応用技術を解説しても仕方ないんじゃないのかな。
- 239 :名前は開発中のものです。:2015/01/07(水) 15:51:30.56 ID:VCwCwPth.net
- BSPって、空間を再帰的に分割したデータを用意して、
ゲーム上でも自分がどの空間にいるか再帰的に検索するってことでしょ。
つまるところは「ある平面のどちら側にいるかをどうやって判定するの?」って質問に
なってしまうわな。やっぱりベクトル代数分かってないと先に進まないんだけど。
- 240 :名前は開発中のものです。:2015/01/07(水) 21:54:57.87 ID:lEBpx2ib.net
- BPS
- 241 :名前は開発中のものです。:2015/01/08(木) 18:17:22.77 ID:3JV63qZl.net
- https://books.google.co.jp/books?id=V6qRPtsiZNoC&pg=PA3&dq=DirectX+%E9%80%86%E5%BC%95%E3%81%8D&hl=ja&sa=X&ei=nTuuVP6mJYuW8QXKpoGoAw&ved=0CBwQ6AEwAA#v=onepage&q=DirectX%20%E9%80%86%E5%BC%95%E3%81%8D&f=false
DirectX逆引き大全500の極意: Visual C++2002/2003/2005対応 著者: 鎌田茂雄
434ページからの レイによる衝突判定からを読んで、
ポリゴンモデルの上の歩き方について書いてある。
DirectX9必携 鎌田 茂雄 (著) : 同じ物です。
- 242 :名前は開発中のものです。:2015/01/09(金) 11:48:22.37 ID:qmU+glKK.net
- 衝突判定自体はわかってる
問題は、地面の多数のポリゴンからどうやって足元周辺ポリゴンを割り出すのか
総当たりは遅くなる
- 243 :名前は開発中のものです。:2015/01/09(金) 12:36:19.08 ID:cpDVhBN/.net
- 通常は、総当りで出来る。
当たり判定に使う、必要最低限のポリゴンなら少ない。
処理が重いのならば、それはポリゴンが多すぎる。
シームレスの巨大マップにしたければ、
部屋に分けてポリゴンをグループ分けする。
自分の所属する部屋の中だけのポリゴングループに対して処理する。
色々な最適化がある、方法はマップの条件によって異なる。
- 244 :名前は開発中のものです。:2015/01/10(土) 07:38:44.87 ID:nNPbjeZG.net
- データ構造が判らないとなんとも言えない
むしろ判定に都合の良いデータ構造にする。
MAPを格子状に区切ってその格子の順番にポリゴンを格納する。
@ポリゴンの範囲はは格子よりも小さくしておく(最大のポリゴンを元に格子のサイズを決め手も良い)
Aポリゴン座標の最小値で格納する格子を決定する。例えば(Ax,Ay)、(Bx,By)、(Cx,Cy)なら(Ax,Cy)になりうる。
B格子ごとに連続してポリゴンを格納してき、インデックスを保存しておく
これで判定対象のいる格子と、-x側の格子、-y側の格子、-x-y側の格子の4つを範囲にあるポリゴンを
インデックスを元に参照する。検証は任せたw
自分が実際にやったのは基本1km単位で
各頂点のxy値は1kmの範囲内でランダムになっているメッシュ上の地形データで、
隣接する格子を含めた9つの格子の計18ポリゴンでチェック。
そしてHITした頻度の高いポリゴンから判定するようにインデックスを入れ替える。
建物は各所にグリッド状に配置するので、その全体を判定してHITすれば判定すべき建物と判定。
って感じだったかな。うろ覚えだけどw
- 245 :名前は開発中のものです。:2015/01/10(土) 08:31:26.61 ID:Ryzdgy9l.net
- >>244
ポリゴンを格子で区切るということは、格子と格子の接合面にあたるポリゴンは
格子の枠に沿った形状でつなげてあるということ?
でかい3Dマップも、格子状に分割できるようにポリゴンをつないでいるということ?
格子をまたぐポリゴンはないということ?
- 246 :名前は開発中のものです。:2015/01/10(土) 13:16:00.91 ID:earh9GX8M
- それは、高さマップと同じだなぁ
- 247 :名前は開発中のものです。:2015/01/11(日) 06:37:53.00 ID:SeJYfhrW.net
- 「ポリゴンを格子で区切る」なんて書いたっけ?
> 格子と格子の接合面にあたるポリゴンは
> 格子の枠に沿った形状でつなげてあるということ?
格子の頂点とポリゴンの頂点が一致するデータ構造でいいなら、そうするのが良いと思う。
> でかい3Dマップも、格子状に分割できるようにポリゴンをつないでいるということ?
いくつもの格子を跨ぐポリゴンがあると、
ある格子に掛かるポリゴンがどれだけあるか判定が大変になる。
> 格子をまたぐポリゴンはないということ?
跨ぐ前提で話をしている。
ポリゴンは最大で格子と同じサイズまでにすれば
1つのポリゴンは1つの格子と隣接するプラス側の格子に掛かる可能性がある。
これを逆に考えると
1つの格子にはその格子と隣接するマイナス側の格子に登録されたポリゴンが掛かる可能性がある。
- 248 :名前は開発中のものです。:2015/01/12(月) 01:18:11.06 ID:HlhvcqEy.net
- >>244
インデックスを格納した格子の構造体がたくさん?
その地形をロードするたびインデックスの並べかえはリセット?
- 249 :名前は開発中のものです。:2015/01/12(月) 15:47:53.77 ID:aAhaXk+Z.net
- >>242
>衝突判定自体はわかってる
一応聞くけど、兄さん >>197 や >>202 と同一人物じゃないのかね。
親切に回答している方も、そろそろ「?」ばっかり連発してる質問者が
あなたに“全部答えさせようとしている”と気が付いた方がいいんじゃないかな。
- 250 :名前は開発中のものです。:2015/01/15(木) 21:42:30.77 ID:XCAGVc2R.net
- それどころかどうせ3Dゲームが完成しない事も想定済み。
- 251 :名前は開発中のものです。:2015/01/16(金) 03:24:54.08 ID:QCVnSEdw.net
- ピンポイントで質問が浮かぶような人→たいてい自分で解決出来る。
初心者→何から手を付けていいか分からないから漠然とした質問しか出来ない。
答える方も基礎を学べとしか言いようがない。
気位だけ高い→基礎を学べと言われて逆切れする。
サイコパス→全部答えさせようとする。
…うまく噛み合わないね。
- 252 :名前は開発中のものです。:2015/01/16(金) 14:55:25.37 ID:1Snv1/Ug.net
- 簡単な3Dのゲームを作るなら、DarkBasicが良いと思う。
3Dライブラリを使って、簡単に3Dを扱えるようになっている。
初心者向けで、入門として良い。
サンプルコード( .dbaがソースコードになる。テキストファイル。)
http://www1.axfc.net/uploader/so/3393214
ある程度の雰囲気や概要がわかってきたなら、
高度な3D数学や物理を学ぶのが良い。
いきなり、難しい事から始めると、確実に挫折する。
- 253 :名前は開発中のものです。:2015/01/16(金) 22:30:09.87 ID:BdLRVVjH.net
- そして、オリジナル3Dライブラリ自作している自分に気がつく。
- 254 :名前は開発中のものです。:2015/01/16(金) 23:13:16.38 ID:603gq/0h.net
- モデラーとかアニメーションも
- 255 :名前は開発中のものです。:2015/01/18(日) 01:31:18.84 ID:OEVWJWuh.net
- いきなり難しいことから始めたら挫折するというけど、
難しいことを後回しにしたら挫折も後回しになるだけ。
- 256 :名前は開発中のものです。:2015/01/18(日) 02:06:54.61 ID:3/9SdjT+.net
- 例えば、小学校1年生から6年生へいきなり飛び越えても無理、
算数のたし算を知らなくて掛け算や連立方程式を計算できるわけが無い。
3Dの場合は かなりね、専門用語の壁が厚いのです。
- 257 :名前は開発中のものです。:2015/01/18(日) 04:52:53.86 ID:LhlxXUHN.net
- 行列やらベクトルの演算やら数学嫌いには拷問だよな
- 258 :名前は開発中のものです。:2015/01/18(日) 06:00:56.92 ID:Q3Wdh6kS.net
- 代数幾何の教科書読み直して理解できるくらいじゃないなら、
3D処理は出来合いのものを使ったほうが良い。つか必ず使わなきゃダメ。
- 259 :名前は開発中のものです。:2015/01/18(日) 06:42:47.62 ID:n+Z+LZlo.net
- 教科書はよく選んだ方がいいよね。プログラミングのための線形代数、お勧め。
巻頭のグラフ見るだけでも大分イイ!
- 260 :名前は開発中のものです。:2015/01/19(月) 00:28:48.30 ID:h8qE+fk3.net
- 昔のアニメ専門学校の広告でよくあったなあ。
「一から教えるからあなたにも大丈夫!」みたいなノリ。
高い入学費払って半分は中途退学。たまに成功する人もいるんだけど、
じつはそういうのは最初から才能を持ってる。
小1から中3まで算数や数学を順を追ってきちんと学んでも、高校数学で行き詰る人間が約半分。
順を追って学べば全て分かるなら、全ての人間がフェルマーの大定理が解けなきゃおかしい。
本当に勉強したければ、自分が行き詰ったところ、もしくは学ぶ機会のなかったところからやればいい。
それこそ小1の足し算からやって「俺にもできるかも!?」なんて気分だけ味わうのは時間と金のムダ。
- 261 :名前は開発中のものです。:2015/01/19(月) 00:33:40.10 ID:h8qE+fk3.net
- よく「足し算だけ、掛け算だけを解かせるとちゃんとできるのに、
足し算の応用問題を掛け算して解こうとする子供がいる」って話を聞くだろ。
人に勉強を教えると分かるけど、行列やベクトルの演算が分からない人、
まして数学が拷問に思えたり、教科書読んで分からなかったりする人は、
「計算が出来ない」んじゃなくて、「数式の意味や使い方が分からない」んだ。
意味や使い方そのものが分からないのに、ライブラリで何をどうごまかせるんだ。
- 262 :名前は開発中のものです。:2015/01/19(月) 00:43:52.49 ID:rXZoEcs9.net
- 3Dモデルを回転させるのに、回転行列を使う。
それを、ライブラリならば、「回転しなさい」というコマンドを使う。
これだけのこと。 四則演算で出来る。 あまり難しく考えてはいけない。
- 263 :名前は開発中のものです。:2015/01/19(月) 04:07:34.69 ID:S9THw46U.net
- 数学が判っていれば、本来なら行列を使うところを
一部の計算だけで同じ結果になるケースを見極めて
計算コストを省けるんだけどな。
でもそんな工夫している間にCPUが早くなっているw
- 264 :名前は開発中のものです。:2015/01/19(月) 15:20:56.05 ID:ZvVYE33q.net
- >これだけのこと。 四則演算で出来る。 あまり難しく考えてはいけない。
株に手を出せない人に投資信託を勧めるのと同じ。
本当は複雑で難しいことを、素人でも分かる程度に簡略化して、分かった気にさせる。
「分かった気にさせて、手を出させる」のが狙い。
- 265 :名前は開発中のものです。:2015/01/19(月) 15:36:39.73 ID:ZvVYE33q.net
- もう一度言うけど、3Dプログラミングは高卒かそれ以上の線形代数そのもの。
もちろん、昔それに挫折した人や機会がなかった人でも、やる気さえあれば腰を据えてやればいい。
それでできなくても得るものはあるだろう。
でもそこで腰が引けて迂回しようとしても他に道はない。他に道がありますよと言うのは甘言。
同じところをぐるぐる回らされていたと思い知らされるだけ。
- 266 :名前は開発中のものです。:2015/01/20(火) 22:41:28.21 ID:XwYpBp6C.net
- GPUって3Dに特化しすぎじゃね?
vector3 とか matrix4 とか何で決め打ちなん!
もっと任意長のベクトルを流し込んで並列処理するような
汎用性のある枠組みにしたほうが分かりやすいのに。
それで3D特化はシェーダプログラムのほうでやればいい。
そうすればこまごました仕様が一掃されてシェーダが書きやすくなるのに。
シェーダでいろいろなアルゴリズムを試そうと思ったけど
ハードウェアの区別と制限がごちゃごちゃに思えて手を出せぬ
- 267 :名前は開発中のものです。:2015/01/20(火) 22:56:20.52 ID:XwYpBp6C.net
- 2008年の時点でこの記事があるな
http://www.atmarkit.co.jp/news/200803/06/cuda.html
現在ではどうなってるんだろう?
GPUで ray tracing の画像をリアルタイムで描けたりするんだろうか?
- 268 :名前は開発中のものです。:2015/01/20(火) 23:13:07.51 ID:XwYpBp6C.net
- DirectX11 にコンピュートシェーダーというのがあるのか!
これで汎用アルゴリズムが直に書けるのかな?!
テンション上がるわー
Unity3D でも使えるんね
でも DirectCompute はまだシェーダ言語の一部という感じだが
C++ AMP というのを使うと C 言語っぽく汎用的に組めるのかな?
- 269 :名前は開発中のものです。:2015/01/21(水) 02:16:00.24 ID:oMkFY+XG.net
- Unity3D でも使えるんね
- 270 :名前は開発中のものです。:2015/01/21(水) 02:16:36.14 ID:oMkFY+XG.net
- ↑
何なんだよ、その不自然な改行。
おまえらステマ業者って根本的に相手をバカにしてるだろ?
- 271 :267:2015/01/21(水) 10:22:34.70 ID:yekSsXFj.net
- ごめん。普段から言動が不自然と言われるけど
うにちのステマ業者じゃないよ
ちなみに C++ AMP は unity じゃ使えないのでは?
C++ だし。
- 272 :名前は開発中のものです。:2016/03/23(水) 00:01:43.29 ID:SpSehPDt.net
- 教えてあげないよん
- 273 :名前は開発中のものです。:2017/02/03(金) 02:22:20.30 ID:1Nz75uXE.net
- age
- 274 :名前は開発中のものです。:2017/02/13(月) 04:25:06.90 ID:KNIkvquG.net
- けちんぼしないで
- 275 :名前は開発中のものです。:2017/12/31(日) 22:10:44.11 ID:/rN76OKL.net
- 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
JBWBKFVSM6
総レス数 275
75 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200