1read 100read
2012年6月ゲ製作技術632: 3Dエンジンの技術について語ろう (822) TOP カテ一覧 スレ一覧 2ch元 削除依頼
デジタルロケについて語る (928)
 /* 簡単なプログラムをウプしよう */ (205)
ノベルゲー制作ツール 『らのべえ』 (811)
みんなでオリジナルのロボットRPGを作ろう!6 (958)
暇つぶしにMetalMaxでも創るかぁ (323)
モナーRPGを作ろう! Part 8 (270)

3Dエンジンの技術について語ろう


1 :02/06/07 〜 最終レス :11/12/02
語ろう。
3Dエンジンをつくる上での質問も可
3D Engines List
http://cg.cs.tu-berlin.de/~ki/engines.html

2 :
3Dエンジンと3DグラフィックスAPIの明確な線引きは、むずいかな。
特にコンシューマ。
最強の3Dエンジンはどれだ!?
http://game.2ch.net/test/read.cgi/game/1019644359/
からの参考だと
「OpenGLやDirect3D等のAPIにデータを流すプログラムがエンジン」

3 :
次世代(?)3Dエンジンも注目
http://www.watch.impress.co.jp/game/docs/20020529/e3deus.htm

4 :
DOOMIIIエンジン
http://www.watch.impress.co.jp/game/docs/20020529/e3doom3.htm

5 :
                         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      /\ /\           < ×クズ粕 博之×← 死んで人の為になりなさい お前にとって人生初めてのな 環境保護の意味でも ! 博之よ。
      \_/  \  ∧_∧   // \_________
      /◯)//  \(´∀` )//
     /=// (⌒  ○=  )//
    /⌒//   VV /__ ノノ⌒
    (( // )   ⊆/〓〓(  ○ )
     \\_/          \_/
東京都北区 赤羽北2-31-16-1311 西村博之 ←これが社会の害虫 "糞ひろゆき"

6 :
煽りも改行ミスがあるとぶち壊しだな

7 :
ゼロから開発するくらいなら、他社のエンジンを買ってしまった方が安上がりという罠。
ということで、これより個人用・企業用に販売している3Dエンジンを吟味するスレにします。

8 :
俺もそろそろ他人のエンジン大人しく使う時代かなと思った。

9 :
他人のエンジンをうまく使い込むのと、自作で中途半端なエンジンを
作るのはどっちがフェードアウトコースだろうねぇ。漏れは後者だと
思ってるけど。

10 :
他人のエンジン使っても中途半端なゲームを作る奴。

11 :
>>9
他人のエンジンを使い込もうと思うと、
自作で同程度のエンジンを作れるぐらいの知識と技術が必要とされる罠。
既存のエンジンをうまく使い込むのは正しい姿勢だけど、
自作で中途半端なエンジンを作る経験を放棄した奴は即フェードアウト組みにご案内となる。
フェードアウトしたくなかったら、
趣味で自作エンジンを作りつつ、仕事で既存エンジンを使いこなすべし。

12 :
そうだね。
まずは自作を作ってみて、エンジンとはどうゆうものかと理解するのは
プログラマとして必要不可欠な経験だと思う。
以降は自作エンジンを作った経験はあるが、既成エンジンに興味が
ある人達の為の情報交換スレとして利用してください。

13 :
>>12
>>自作エンジンを作った経験はあるが
んなやついねぇヨ。
自分に出来ない事はさっくり白旗揚げて他人に頼るのもフェード
アウトしない秘訣だとは思うけどね。

14 :
>>13
まあ、何か他人より卓越した技術を持っていればフェードアウトすることはないと思うけどね。
3Dエンジンがかけなくても、高度なAIエンジンを書けるとか、
物理シミュレーションエンジンを書けるとか、OSを書けるとかね。
最悪なのは他人の作ったものを使うことしか能がない奴。
こういう奴は30才までにだいたい消えていくね。

15 :
>>14
>>最悪なのは他人の作ったものを使うことしか能がない奴。
 はぁ?よく判んないんだけど他人のライブラリを使うしか脳の無い
人っているのかねー?そこまで酷い奴には会ったことがねーから判らんよ。

16 :
一般的には、
他人の作ったライブラリしか使わない(ように見える)奴=コスト計算がしっかり出来ている奴
だとおもうがどうか。

17 :
>>16
でもなぜか、他人の作ったライブラリしか使わない奴が作るものは、へぼへぼなんだよね。

18 :
それは使わない奴じゃなくて無能だから使えない奴じゃないか。
誰かが書いていたけど、
人のライブラリを使うにはそれと同じ物を書けるくらいの技術力が必要だ、と。
でも実際に自分でそれを書かないのは、保守にかかるコストを考慮した結果。

19 :
>>18
正論なんだけど、>>16みたいなことを言っていると、
車輪の再発明をするのは馬鹿だなどと勘違いする奴が大量発生するんだわ。

20 :
勘違いや嘘っぱちを、この板の中で正論として広めることは
ある意味で心地良いという罠。

21 :
 あーもー、白状しますよ。漏れQuake1のエンジンすらまともに書け
ません。同等の物を作れなきゃ使う権利が無いなんて言われたらもう
明日にでも辞表を出すしかありませんヨ。
 つか、日本にQuakeエンジンをコーディングできる人って何人いるのよ?

22 :
>>21
厨はなんでも極論が好きだねぇ。
何も作らないか、Quake1エンジン並みのものを作るかしか選択肢はないのかい?
中途半端なエンジンでもいいんだよ、とにかく書け、作れ。
そして他のエンジンを見ろ、感動しろ、真似ろ、
そういう積み重ねがない奴は、まともにライブラリは使いこなせないってことだ。

23 :
Quake1のエンジンなら結構いるだろ。
コストを考慮して自作しない奴なんてどの位いるのやら・・・
能力あるやしはなんだかんだで自作すると思うけど。
実際自作した方が効率良い場合が多い。

24 :
補足しておくと、エンジンを書いたことがないなら使いこなせないというわけではない。
根底にあるアーキテクチャを知らずして使いこなすことはできないということだ。
そしてアーキテクチャを学ぶのに、
自分で実際に作ったり真似たりすることが一番の近道だと言うことだ。
本を読んだだけで深く理解できる天才はこの限りではない。

25 :
 デジタルロケってーのあるじゃない?あれで素人さんのゲームを
何本か見たことがあるけど、結構いい線行ってるの多いんすよね。
 中には3Dの知識が全く無い人でも結構なの作れてたりして、変に
使い所がない技術に溺れるよりもなーんも先入観が無いのも大事かも
とか思いました。

26 :
>>24
同意。
何も考えずに最高のパフォーマンスの出るライブラリなんて存在しない。
アーキテクチャを知らない奴は何がボトルネックになるかわからないから、
とんでもない使い方をするよね。
よく出来たライブラリであればあるほど無理な使い方でもなんとかしちゃうから
結果として非常にパフォーマンスの悪いものが作られてしまう。
例えばαチャンネル付きのテクスチャを何も考えずに描画できたとしても、
内部ではリストに繋いでソートして最後に描画しているなんてことを知らないから、
何も考えずにαチャンネル付けて描画しちゃう。
少し知識のある人なら、
αチャンネル付きのオブジェクト描画は最小限にし、できるなら加算で代用する。
スワップが起こらないように、すべてのテクスチャがキャッシュに載る大きさにする。
不透明と半透明オブジェクトは分離し、半透明は最後にリクエストする。
視点の変化が少ないならプリソートして動的ソートは避ける。
とかいろいろ工夫するよね。
その結果としてパフォーマンスにとんでもない差がでてしまう。

27 :
ついでに言うと、
これを見たアーキテクチャを知らない奴は、
「αチャンネルは遅い」としか捉えられないので、
今度は必要以上にαチャンネルを使わないようにしようと努力する。
丁度、仮想関数は遅いと言ってswitchで分岐している奴のように。

28 :
>>26
 どーでもいいけど、そーゆー事を吸収してバカチョンでも扱える
ようになってるのが「エンジン」じゃないのん?オブジェクトの
ソーティングなんか意識するエンジンなんかわざわざ使いたくにゃーよ。

29 :
>>28
ね、みなさん、いかにアーキテクチャを知らない奴が使えないかわかったでしょ。

30 :
26さん、そんな得意げに自分のレベルの低さを自慢しなくても…。ちょっと痛すぎ。

31 :
なんていうかねぇ、、、
26の言ってる事ってさ、んー、97年とか98年の
ほんとに3Dゲームが出始めた頃に始めてやった奴が
苦しんだところだよね。

32 :
コンシューマの人はそのハードで時代が止まっちゃうので仕方がない。

33 :
>>31
つーか初心者も初心者が
MSNのDirectXのFAQのページ見て
ハナクソほじりながらフーンとか言っちゃってる
レベルと思われ。

34 :
同意とか言いながら見当違いのところを語っちゃうのは恥ずかしすぎる

35 :
ライブラリがわからず、サンプルを改造する事しかできない人もいます

36 :
なんか、まだ「知っている」/「知らない」でしか物事を語れない厨が多いね。
Zバッファとαブレンドの問題なんて等に俺は知っている->レベルが低いという
短絡的な思考能力はどうにかした方がいいと思うよ。
俺が言っているのは、
「アーキテクチャを知らないと、重大なボトルネックを生む可能性がある」
ということであって、αブレンドの問題は本質ではなく、たんなるわかりやすい例に過ぎないんだが(藁
知っている例を上げると、レベルが低いと本質を見ず、
知らない例を上げると今度は高度すぎて理解できない。
厨相手に説明するのも大変だ(w

37 :
>>36
ほんとに高度なことも理解している奴なら>>26みたいにくどく語ったりしない。

38 :
>>26
内容には激しく同意しますが、板違いです。
マジレスは控えましょう。ネタで遊びましょう。
遺憾ですが、そういう板です。

39 :
どーでもいいこったが、26の言う事はただの精神論で一般論ではないヨ。
26のレベルの低さは>>29のレスですべてを語っていると思うが。

40 :
>>37
高尚な抽象論に留めておけば有難がるわけですな(藁
例えば>>22さんは高度なことを理解していて、
俺は高度なことを理解できていないということですか?

41 :
26が心配するのも分らんでもないよ。
最近は下支えとなるアーキテクチャを理解せずにプログラミングしても
それなりのアウトプットがあるからね。Java/VBなんかが筆頭かなあ。
ゲームプログラミングも、それで済ませられるなら済ませたほうがいい、
ということになるかもしれんよね。
たしかに、そういうライトユーザーがワンサカでてくれば、
開発者の全体のレベルはガンガン下がるわな。
でもさ、ここは技術について語るスレなんだよ。
使う側の態度や心得を語ったり、グチったりしてもしょうがないだろ。
まあ、ライトユーザーはすぐ馬脚を出すから(既に何脚か出てますが:藁)、
そんなときは彼らのレベルを引き上げるべく、
興味の湧く話題を振ってさしあげるのがよろしいかと思う。

42 :
つーか、そういうのって3Dエンジンの存在意義にまで影響を与えるような。
やっぱ作る側の心理としては、使う側に余計な手間や頭を使わせず
なるだけ抽象化したいって思うもんじゃないのかなぁ。
3Dエンジンって、ただ作る手間を抑える為に存在するものなの?

43 :
3Dエンジンと一言でくくってるけど
A 作れる人がその手間を省くためのもの
B 抽象化しまくって、基礎知識さえあれば組めるようにしたもの
では大きく違うと思う。
新人君がAのタイプのを見ると面食らうのが普通。
Bは新人君でも使えるけど26が危惧するところの状況に陥りやすい。

44 :
「使用上の注意は守った方が事故が起こりにくく、高い効用が期待できる」
「使用上の注意を守らずとも比較的安全なものから、正しく使わないと強い副作用を伴うものまである」
「使用上の注意が明示されていない場合、知識や経験に頼らなくてはならない場合がある」
みたいな話しじゃないのかな。
で、完全に抽象化され下位層を無視出来た方が嬉しいという理想と、とにかく基礎から全て学べやボケという理想、両極論がぶつかり合っている?

45 :
ぶつかり合うというか、適材適所という問題では?
教育用には43でいうところのBのようなものが必要だろうし、
手間を省くにはAが便利だろう。

46 :
>>45
それは逆で、教育用にはまず低レベルから教えることが重要だと思います。
お手軽ライブラリで形だけ作らせるのはゲー専の授業と変わらないと思いますね。
まあ使い捨ての人材なら問題ないのですが。

47 :
>>24
実際になにをやっているかを知らないと使ってはいけないというのは大体同意なん
だけど、
>スワップが起こらないように、すべてのテクスチャがキャッシュに載る大きさにする。
>不透明と半透明オブジェクトは分離し、半透明は最後にリクエストする。
>視点の変化が少ないならプリソートして動的ソートは避ける。
人によって3Dエンジンの定義が違うだろうけど、これってまさに3Dエンジンが実装
すべき機能ではないの?結局の所はリソースを馬鹿みたいに使われればどっち
にしろ遅くなるけど、マテリアル関連の最適化みたいのはアプリが一々考えなくて
もいいんじゃないか俺はと考えているので。
あとはエンジン側に細かなプロファイル機能とドキュメントをつけておけば大体は
ボトルネックを考えられる手がかりにはなるんじゃない?
ところでPCのFPS以外で社外から導入したエンジンってどれくらい使われてるんだろ?
Renderwareとかを3Dエンジンの一種と考えても売れたゲームってGTA3くらいしか世間
のソフトでは思いい浮かばないんだけど…つーか、自社でしっかりしたゲームを作って
無い会社のエンジンってイマイチ信用できないなーって思うの俺だけ?

48 :
このスレレベル高っ。26のいってる事にはマジでほーっておもた
Havockはどうなん?

49 :
このスレがレベル高かったら世間は無能だらけと言うことになります。
26の言っていることは初歩の初歩ですごいとか言うレベルじゃない(26本人はわからないが)
アレでレベルが高いと思える人は3Dゲーム作れるに至るまでにすごい苦労するでしょう。

50 :
>>47
確かにな。
3Dエンジンのインターフェイスなんて
アマプログラマーの俺には知る由もないが
>視点の変化が少ないならプリソートして動的ソートは避ける。
こんなディープな処理まで、ユーザーに許可してる、
ユーザーがするよう期待しているなんてちょっと考えられないな。
何でも出来るってのは聞えはいいが、
それだけ選択しなきゃならない項目が増えるってことだからな。
まあ、ソ−スの公開とこれとはまた別の問題であることを
あらかじめ断っておく。

51 :
>>50
アマプログラマとかって逃げに入ってる割に偉そうなのがなんとも。
3Dエンジンって言葉の定義が曖昧な以上、
どんなインターフェースであろうと間違っちゃいない、と
>>45辺りで指摘されてるのにまだ続けるのかね?

52 :
>>51
元にDirect3DやOpenGLがあって
金を貰ってライセンスするソフトである以上
それなりの水準ってものがあると思うんだが。
半透明ソートすらサポートしてなくていいの?
知らんけど。

53 :
>>51
>アマプログラマとかって逃げに入ってる割に偉そうなのがなんとも。
実際に商用のエンジンを見たことがないから、そう正直に言ってるだけだが。
君って>>41
なんでそう攻撃的なん?

54 :
>>52
別に半透明ソートがライブラリレベルで必要無い、なんて誰も言ってない。
例えばソート方法は精度と速度・メモリ効率とのトレードオフなわけだし、
ソートの単位がマテリアルなのかポリなのかモデルなのかによっても実装が違ってくる。
いくつかの代表的なアルゴリズムは用意しそれをデフォとするが、いざとなれば
ユーザー側でいくらでもカスタマイズできるようにするって方が、
出来ないよりは良いとは「俺は」思う。
もちろん、そんなこと一切考えないでOKな(ただしパフォーマンスが多少なりとも劣る)
3Dエンジン、ってのもそれはそれで価値はある。
つまりは適材適所ってわけだ。
これくらい長く書かないと理解してくれないのか。

55 :
AvP2のαソート見て萎えたが、
あれはサポートしてねーつうことだったのかな。

56 :
>>48が10代の人間であればなぁ・・・

57 :
>>47
俺も今、はじめてのハードで3Dエンジン作ってます。
ユーザーって、主にデザイナーの事ですよね?
シーンの構築ってほぼ自動にするし。

58 :
>>57
#ユーザーって書いたっけ?
絵描きさんもそうだけど、ゲームコード書いてくれるプログラマも使ってくれる
人と想定してるよ。
ソートに関してはなんというか…粒度の問題があるんでオブジェクト単位の
ソートに関してはベースクラスをユーザーが継承してアルゴリズムを変えられる
ようにしてるけど、ポリゴン単位とか、凸単位のストリップとか、より粒度の細かい
ソートは使うかどうかの指定しかしてないなぁ。逆にこの当たりのレベルになると
実装の良し悪しはあってもアプリによってカスタマイズしたくなるような方向性の
違いってあるのかを聞いてみたい。

59 :
>>58
俺の場合、αポリゴンは例外的に扱っているよ。
トライアングルリスト固定で、全部一枚のテクスチャにまとめてUVのみで指定。
ソートはVU0のマイクロコードで並列に廻している。
FFXみたいにカメラがある程度制限されている場合は
プリソートしてエッジアンチかけたりとかもいいかも。

60 :
>>59
まぁPS2では大体そんな感じになるだろうね…。他のソートスキームに関しても
まあ多分想像どおりの方法だよ。ただ、それはレンダラーレベルの話であって、
3Dエンジンを使用する側からはそういったことを意識しないですむような実装
にした方がいい気がする。まぁ、この辺の「カスタマイズの可能性を残しつつ
汎用的で高速に」といった矛盾とどこで折り合いをつけていくか、みたいな部分
が実装者によって考え方がまちまちで、面白いところではあるんだけど。
ちなみにシーンのカリングアルゴリズムについてはゲームに完全に依存するの
でここは抽象クラスと単純な視錐台カリングアルゴリズムを適用したサンプルし
か提供してなくって、あとはゲームにお任せすることにしてますがこの辺はどう
してます?

61 :
頭からざっと読んだ感じ26の自作自演が冴え渡ってるな。

62 :
PCの場合、3DエンジンはDirectX(またはOpenGL)のラッパーライブラリという
ことになるのかな?
まぁでも表示部分だけじゃなくて、当たり判定やモデルアニメーションなんかも
サポートしなきゃ意味ないよね。

63 :
なんつーか、3Dエンジンと3Dレンダラーがゴッチャになってないか?

64 :
>>63
それ以前にライブラリとエンジンの差もわかってないっぽい。
ざっと流して読んだ感じじゃ
・ハードのアーキテクチャも理解してない奴に3Dエンジン使う権利ナシ
・知識が無くても使えるのがエンジンじゃねーの?
の両者の戦いって感じだけどどう考えても後者のほうが正しいんじゃないの?
つまんねーハードの知識習得に費やす時間があるなら賢いAIでも作る事に時間
費やした方がポジティブだべ?

65 :
>ライブラリとエンジンの差
ほほぅ。

66 :
>>65
必死だな。(藁

67 :
つーか、既成エンジン使うのは個人の自由なので、その辺の議論は無意味。
それよりもエンジン情報の交換の場にした方が有益。

68 :
ですな

69 :
質問だけどライブラリじゃなくてエンジンと言った場合に
指し示す機能とは何がありますか?

70 :
可燃液を注入して動力となる機能

71 :
>>69
そのエンジンがあれば市販級のゲームが作れるだけの機能は欲しいね。
ボーンアニメーションファイルをサポートしてなきゃウソだ。

72 :
それだとDirectXもエンジンじゃ

73 :
>>64
すげーナッ!「ライブラリとエンジンの差」!!!
漏れの知らない間にどっかの権威ある団体か何かが決めたの!?!?!!??
しらんかったっっっ!!!浅学な漏れに御教授たのんますYOOOOOOOO!!

74 :
ライブラリーとかエンジンとかレンダラーとか
線引きはどこなんだ?
>64にまず語ってもらいたい。

75 :
箱庭を歩けて、エンジンの使い方サンプルがついてて、
これで売り物つくれそうと素人が思えるくらいのが猿人。
サンプルがくるくる回ったりするのがライブラリ。
作ってみるとなぜか動かないのが論文

76 :
>>75
やっぱ学生か。良かった。

77 :
必死もいいところ。

78 :
つーかそれに金を払う価値があるかどうかだと思うが・・。
タダで手に入るDirect3DやOpenGLに毛が生えただけのような
のはちょっと・・。

79 :
ところでお前らのおすすめの3Dエンジンを教えていただけませんか?

80 :
>>78
それだけじゃなくて、MS以外のテクニカルサポートがつくことも重要なんじゃないか?
低レベルAPI等の糞仕様を気にせずに書ける用になるからな。
えてして、日本じゃそれはテクニカルサポートではなく厨房サポートになりがちだが。

81 :
>>80
糞仕様とか言っている時点で厨房臭い。
DirectX8のAPI仕様は洗練されていると思うのが普通。
まあそんなお前はHSPでもやってろってこった。

82 :
>>81
おまえ馬鹿か?
別にDirectX8が糞と言っているのではなく、
下層にある低レベルAPIが糞だとしてもって事だよ。

83 :
マァ、サーフェイスのDCが取れないのは糞以外の何者でもないけどな。

84 :
>>83
GetDCデトレマス

85 :
>>84
DirectX8の事だが?

86 :
>>85
DirectXでもSurface7が使えますが?

87 :
>>86
IDirect3DSurface8からIDirectDrawSurface7を取得する方法を教えてくれ

88 :
windows で使える設計がきれいでソースの見れるフリーのエンジン教えて

89 :
http://ogre.sourceforge.net/
http://crystal.sourceforge.net/

90 :
http://cg.cs.tu-berlin.de/~ki/engines.html

91 :
3Dエンジンの定義はどうでも良いけどさ、
使われている技術を語れよ。
それなら定義はさほど問題でもないだろ

92 :
>>86
ハァ・・・。

93 :
まあDirectGraphicsでDCはDirectX10ぐらいになったら復活するかもね。
旧GDIとの互換性は知らんけど。

94 :
つぎのWindowsでGUIの描画がDirectXになるらしいよ。バージョンは9.1らしい

95 :
ならないよ

96 :
PS2のマイクロコードいじるのとDirectXのシェーダー
いじるのではどっちが楽しい?

97 :
>>95
すまん。つぎのつぎだっけ

98 :
>>96

99 :
PS3でもVUコード書きまくれて嬉しいでしょ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【最低技術】ファルコム26代目【話題循環】 (219)
新しいRPGを作ろう!! (355)
シェーダープログラマが集うスレ (533)
みんなでRPGゲームつくりませんか? (653)
*V*B*厨*の*夏*休*み* (257)
2ch版いただきストリート作りませんか? (873)
--log9.info------------------
ID確認 (279)
詰 ん だ \(^o^)/ (344)
【まったり】おっさんスレ【のんびり】 (223)
同級生がスレ立てしてた (276)
私に彼氏が出来ない理由を教えてくれるスレ (553)
27歳のBBAがお前らの相談のってやるください (219)
そして嵐は過ぎ去った (448)
ももいろクローバーZ可愛すぎpart2 (345)
眠くないヤツ集まれ! (316)
さーて、そろそろ… (240)
イン東京って床屋行った事ある奴いる? (253)
てst (616)
行き当たりばったり (848)
長い髪がそろそろ本気で長い (372)
イオンにガガ靴売ってたwww (784)
おやつが食べたいな〜 (637)
--log55.com------------------
【馳力】 CHUWI タブレットPart7
【馳力】 CHUWI タブレットPart6
【馳力】 CHUWI タブレットPart5
【馳力】 CHUWI タブレットPart4
中華Windowsタブレット12枚目
気軽にポータブルヘッドホンアンプを楽しもうpt.39
ジョギングに最適なポータブルAV
SONYメモリ型ウォークマン 総合スレ Part48