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

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

■ このスレッドは過去ログ倉庫に格納されています
0001101/11/15 21:43ID:EsRJgfGr
3Dで解らない事や気になる技術の具体的内容を
誰かが答えます。
じゃんじゃんネタ振ってくれ。

俺も業界で飯食ってるが知ってる事は出し惜しみせずに
答えるよ。みんなでレベルアップしようぜ。

とりあえずBBXとBio120%の過去ログは見とけ。
0646名前は開発中のものです。02/01/13 15:14ID:Q3Gn4VVo
>>645
インテリセンス効かなくていやん。
class Vector : public Point{};
きぼん。
0647名前は開発中のものです。02/01/13 15:16ID:???
>(1)Vector3D, Line3D, Plane3D, ...
>(2)Point3D, Line3D, Plane3D, ...
>(3)Vector3D, Point3D, Line3D, Plane3D, ...

(1)
0648名前は開発中のものです。02/01/13 20:58ID:???
登録無料
http://sawayaka.mariansela.com
http://sawayaka.mariansela.com
http://sawayaka.mariansela.com
0649名前は開発中のものです。02/01/14 00:18ID:???
>>645,646
継承の向きとして、
class Point: public Vector{};
の方がいいんじゃないか。
気分によっては、Vector→Normal もやるかも。
Vector→UVってのもやることあるけど、これは要素が一つ余るのがちょっと気持ち悪い…。
0650名前は開発中のものです。02/01/14 00:49ID:???
というかPointだのVectorを継承うんぬんは頭が弱すぎだと思う。
単純に4つの変数をパックした構造体を用意すればよいのでは?
0651名前は開発中のものです。02/01/14 04:41ID:???
>>649
C++での話だけど。
独自のoperator関数を大量に書く事になるクラスに
なんかいやーんな事にはならないか?

以前それでpointもvectorも独立したクラスに直したよ。
0652名前は開発中のものです。02/01/14 08:13ID:???
>以前それでpointもvectorも独立したクラスに直したよ
もろもろの演算時に、キャストだとか面倒になることありません?
0653 02/01/14 09:04ID:wYdz4NZ6
やはり、分けるのが馬鹿では?
0654名前は開発中のものです。02/01/14 09:10ID:???
>>653
せっかくだからもっと詳しく。400字詰め原稿用紙2枚ほどで。
0655名前は開発中のものです。02/01/14 10:06ID:8kuSMs6g
なぜvectorとpointに分けたくなるのか400字詰め原稿用紙2枚ほどで説明して欲しい。
0656名前は開発中のものです。02/01/14 11:39ID:Pz6PZfZ5
typedef Vector Pointじゃダメなの?
継承するのは概念としておかしいような気がする。
0657名前は開発中のものです。02/01/14 12:22ID:nNiC4vna
Vector に4*4行列をかけるときは、4行目の成分を無視して
計算できるから、最適化がかけ易い。
とくに、Vector と正規直交行列(座標系)の逆行列を掛けるときと、
Point と座標系を掛けるときとでは、計算量がぜんぜん違うから、
それらを違う関数で定義したいわけなんじゃないかな。
0658名前は開発中のものです。02/01/14 12:33ID:QEUijwlJ
>>657
?? 厨房な俺には理解できんが、概念上違っても実用上
同じものじゃないの?
0659名前は開発中のものです。02/01/14 12:41ID:???
座表系間でvectorとpointを変換をする場合、
期待される答えが違うでしょ。
0660名前は開発中のものです。02/01/14 12:45ID:???
>>656,>>658

がいねん【概念】
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%B3%B5%C7%B0&sw=2
066165702/01/14 12:50ID:nNiC4vna
たとえば、ローカル上のある点Pをワールドにするときは、
ローカル座標系がワールドのどの位置にいるかの情報が必要。
だけど、ローカル上のあるベクトル(方向のみ、速度とか)をワールドにするときは
ベクトルに位置情報はないから、ローカル座標系の位置情報は無視できる。

って、言葉でいっても分かりづらいな…
ちなみに、あるローカル座標系を表す4*4行列Aがあったとして、
Vector * (Aの逆行列)と、Point * (Aの逆行列)では、計算量はPointの方が
行列演算1回分多いから実用上ちがうぞ。
0662名前は開発中のものです。02/01/14 13:05ID:QEUijwlJ
なるほど、コンパイラに自動でやらせようってことね。
どーも旧石器時代の俺は明示的に指定しないと落ち着かないので
結果として実用上同じなのです。欝。
066365702/01/14 13:11ID:???
>なるほど、コンパイラに自動でやらせようってことね。
なんだよ、そこが問題だったのか。ちょい鬱
066465602/01/14 13:18ID:???
やりたいことは分かったけど、継承するのはやっぱ違う気がする。

class Point{
 Vector pos;
 // いろんな演算
 operator Vector() { return pos; }
};

ではダメ? いちいち演算子を書き直すのがうざいとか?
0665名前は開発中のものです。02/01/14 14:58ID:???
テクスチャ付き三角形ポリゴンのクリップについて、
解説してあるサイトがあれば教えてください。
0666 02/01/14 15:10ID:wYdz4NZ6
あぁ俺もポリゴンクリップ&分割ってよくわかんないんだよなぁ
DXでは(自前演算でもなきゃ)必要ない話でしょ
0667名前は開発中のものです。02/01/14 15:11ID:???
>>664
違う気がしても便利なんだから継承でいいと思うけど。この辺は。
066866502/01/14 15:21ID:???
>>666
使っているAPIがGlideなもので(藁
0669全然わかってない厨房02/01/14 15:36ID:wYdz4NZ6
5面でクリップすると最大+5頂点増えるわけだよね
DXの場合どうバッファを持つのか悩んだりした(最悪数倍にポリゴン数が膨らむわけで)
STRIPとか組んであるとどうなるんだ?

後、実験した事ないんだけど、クリップ時のUVってパース考慮されてんの?
スクリーン平面に変換後クリップだとZ情報なくなってるからダメだよね?
0670名前は開発中のものです。02/01/14 19:36ID:???
俺はvectorとpointというよりも、ベクトルと同次ベクトルで分けたいな。

分けるならvecmathみたいに、何の意味も持たないただのスカラーの集まりの
基底クラスから派生させるのがいいんじゃない?
0671名前は開発中のものです。02/01/14 20:03ID:???
このスレの名前良いね。
大した技術もないのに出し惜しみする奴多いよなぁ。
特に梅汚とかあの周辺の奴ら。
0672 02/01/14 20:24ID:wYdz4NZ6
イヤミはタップリ書くくせに、答え書かない奴とかな

同じ手間なら答えの方かけよ
0673名前は開発中のものです。02/01/14 20:27ID:???
答え書けるわけないじゃん。
分からないんだから(プ
0674名前は開発中のものです。02/01/14 20:31ID:???
マァマァ
0675名前は開発中のものです。02/01/14 20:32ID:???
ハァハァ
0676余談スマ02/01/14 20:41ID:???
>>671
むしろたいした技術がないから出し惜しみすると思われ。
私見だが、真面目に技術の研鑚に勉めてる連中ってのは、
オープンにした過去の技術を下の連中がありがたくいただいている間に
さらに上に登ってくような印象がある。
ある意味エサっていうか囮っていうか。
しもべが多ければ多いほど自分は上位を維持できる構図。

とか余計なことを考えてる俺はたぶん最初から終わってるわけだが。
0677名前は開発中のものです。02/01/14 20:47ID:???
polygonのclipは大した技術じゃないんだから(?)、教えてほしいデス。
0678名前は開発中のものです。02/01/14 20:53ID:???
>677
たいした技術じゃないけど、面倒な技術。
場合わけでもすれ。
0679名前は開発中のものです。02/01/14 21:15ID:???
海外の凄い人達にくらべると日本人はみみちぃ。
自慢ばかりで参考になるページも少ない。
そろそろ潰したら?ってとこも多い。
0680名前は開発中のものです。 02/01/14 21:31ID:???
 自慢は多いね。それはそれでいいんだけど、もっと
人を感動させるぐらいのことを自慢してくれ。
0681名前は開発中のものです。02/01/14 21:34ID:K3FrQj1h
>>679
文句ばっかいってないで自分が提供すれ。
0682名前は開発中のものです。02/01/14 21:40ID:???
>海外の凄い人達にくらべると日本人はみみちぃ。
>自慢ばかりで参考になるページも少ない。
そう?まぁ、俺は自慢欲満たす割合が少なからずあってHP開いてるけど
やっぱ、せっかく作ったものは不特定多数の人に見てもらいたいという
人情は誰にでもあるとお盲が。
0683名前は開発中のものです。02/01/14 22:05ID:???
>>679
そもそもホームページ自体自己満足みたいなもんだろ。
俺の場合は就職活動用に、ご丁寧に情報を載せてるけど、
就職したら、潰すか、自己満足ページに切り替えるよ。
0684名前は開発中のものです。02/01/14 22:10ID:???
自慢と批判が多いね、2chと変わらん。
ま、人間の本質ってことだ。
0685名前は開発中のものです。02/01/14 22:20ID:???
傲慢と嫉妬
0686名前は開発中のものです。02/01/14 22:23ID:???
>>682
不特定多数に見てもらいたい気持ちも分かるが
ソースも出さずにEXEだけ出してる単なる
自慢ページは見る方としてはむかつくだけ。
0687名前は開発中のものです。02/01/14 22:29ID:???
>>686
それは単なる妬みでは?
そのEXEをネタにBBSにでも書き込んむか、メールで問い合わせてみれば?
まあ、まともに議論できるだけの知識があればの話だけどネ。

どうせコピペしかできんのでしょうが。
0688名前は開発中のものです。02/01/14 22:38ID:???
スレの流れがまずい方向逝ってるんで修正。
クリッピングは?出し惜しみせずに答えて下さい。
0689名前は開発中のものです。02/01/14 22:45ID:???
>>688
Dycoon氏のページにニアクリップの記事があったはず。
俺はそれを参考に作った。
ローカル->ビュー行列にクリップ行列かますと、
視錐体内のオブジェクトはX-1〜+1,Y-1〜+1,Z0〜1の範囲になるので、
範囲外の頂点をクリップすればよし。
0690名前は開発中のものです。02/01/14 22:57ID:???
>5面でクリップすると最大+5頂点増えるわけだよね
>DXの場合どうバッファを持つのか悩んだりした(最悪数倍にポリゴン数が膨らむわけで)
クリップ平面をまたぐポリゴンは、別エリアに分割ストアして後でまとめて描画
そのまえにバウンディングスフィアで大まかに判定して、
1.完全に視錐体外、2.視錐体境界をまたぐ、3.完全に視錐体内の3つに分類。
1は除外、2はクリップルーチンを通す、3はそのまま描画すればなおよし。

>STRIPとか組んであるとどうなるんだ?
クリップ対象の面だけSTRIPからLISTに変換して別エリアに分割ストア

>後、実験した事ないんだけど、クリップ時のUVってパース考慮されてんの?
>スクリーン平面に変換後クリップだとZ情報なくなってるからダメだよね?
パースペクティブコレクトテクスチャマッピングの場合、
変換してもrhwが残ってるから問題なし。

俺って親切?
0691名前は開発中のものです。02/01/14 23:26ID:???
(・∀・)カコイイ
0692名前は開発中のものです。02/01/15 02:50ID:???
Dycoon氏はかなり昔から、ニアクリップの必要性に注目していた
数少ない人。というか、テカテカ映り込ませるより、こっちの方が
重要だったり。ゲーム制作現場では。
0693名前は開発中のものです。02/01/15 03:39ID:???
PSの時にクリップ関連の公式(?)資料は山ほどあったけど,
全部前の会社に置いてきちゃったよ。
セミナーの本だと思うが,黄色い奴とか・・・
当時は「3D?ハァ?」だったから見てなかった。
今見れば有効活用できそうなのに。鬱出汁脳
0694名前は開発中のものです。02/01/15 03:48ID:eNWH3kit
平行投影でやっているのですが、視点をグルグルーっと回るように回転させたいのです。
視点が右手座標で(0,250,0)にあった場合、
ぐるぐるーっとx−z的に回転させるには、視点の座標をどういうふうに計算すればよいですか?つまりタクティクスオウガのようにです。
0695名前は開発中のものです。02/01/15 03:49ID:???
PS1の頃、sonyは発展途上2D会社に対して暖かかったよねぇ。
それが今じゃ・・・
0696名前は開発中のものです。02/01/15 03:57ID:???
>692
おまえが知らないだけでニアクリップなんか大昔からソースあるよ。
Dycoonのページ見たけど参考文献見ながら出来の悪い再生産って感じした。
ただのコピペ野郎だな、残念ながら。
0697名前は開発中のものです。02/01/15 04:00ID:???
映りこみとかユーザーにとってはどうでもいいことを技術者って追求するよね。
0698名前は開発中のものです。02/01/15 04:05ID:???
>>696

一行目は事実ですな。
残りは、一言多いjan
0699名前は開発中のものです。02/01/15 04:10ID:???
>映りこみとかユーザーにとってはどうでもいいことを
>技術者って追求するよね。
リアルなティーポットをレンダリングするのに人生を捧げている
のは、ある意味、純粋な競技と化していて、それはそれでおもしろい。
傍観者としてならば
0700名前は開発中のものです。02/01/15 04:17ID:???
>ただのコピペ野郎だな、残念ながら。
いやいや、それをコピペしようとした注目点が評価されるのでは?
それいったら、マスコミや新聞屋なんてみんなコピペ野郎。

実際、クリップ関連に注目している人は少ないと思うぞ。必須テクの割りには。
環境マップよりもスキルを要求されるのに、見た目は地味だからという
理由であまり話題にならない重要な分野だ。>>クリップ、シザリング
0701名前は開発中のものです。02/01/15 04:20ID:???
>696
二行目も事実ですな。
元ネタらしき本持ってるよ。

>699
時計に人生捧げてる奴とか?
でも彼はたかが時計で何であんなに偉そうなんだろう・・・。
0702名前は開発中のものです。02/01/15 04:44ID:???


知るか

 
0703名前は開発中のものです。02/01/15 04:44ID:???
好きです、プログラマー。
0704名前は開発中のものです。02/01/15 04:46ID:???

  ∧ ∧     ┌──────
  ( ´ー`)   < 出番ネーヨ
   \ <     └───/|──
    \.\______//
      \       /
       ∪∪ ̄∪∪
070569402/01/15 05:00ID:???
もしかして、タクティクスって、物体を回転させてませんか?
カメラを回したら、どうも変でした。
0706名前は開発中のものです。02/01/15 05:06ID:???
>705
行列演算を勉強して出直してこい。
話はそれからだ。
070769402/01/15 05:12ID:???
行列えんざんならわかりますよ。回転行列とかありますよね。かっこにさいんコサインはいってるやつ。
0708名前は開発中のものです。02/01/15 05:18ID:???
http://nis-lab.is.s.u-tokyo.ac.jp/~nis/CG/cgtxt/index2.htm
0709名前は開発中のものです。02/01/15 05:25ID:???
視点の回転を覚える前に、質問の仕方を勉強する必要がありそうだな。
タクティクスオウガを知らないので何をしたいのかサッパリ分からない。
注視点を中心に回転したいってことかなー。ちと違うか?
071069402/01/15 05:26ID:???
>708
ありがとうございます。とてもわかりやすくて、さすが東大ですね。
0711名前は開発中のものです。02/01/15 06:12ID:???
>>701
マターリしよ。
0712名前は開発中のものです。02/01/15 07:23ID:???
2chでこの程度なら十分マターリだろう・・・
0713名前は開発中のものです。02/01/15 07:40ID:???
このスレの弊害は大きくなってるよ。
中途半端に情報出してここで出し惜しみって言われるなら
全く情報出さない方がマシだ。
0714名前は開発中のものです。02/01/15 07:42ID:???
>>713
実はおれもそう思ってしまった。
技術ドキュメント出しにくいなあ・・・。
0715名前は開発中のものです。02/01/15 07:43ID:???
なんつーか表面だけ見て文句いわれるんなら、
全く出さない方がいい(技術持ってることすらにおわさない)のではと。

これはオープンにいこうという最近の方向から行くといやなんだが。
0716名前は開発中のものです。02/01/15 07:45ID:???
少し間違っただけで人生まで否定されるからな。
3D系のHP作ろうかと思ってたが怖いのでやめた。
0717名前は開発中のものです。02/01/15 07:50ID:???
掲示板にコテハンで書き込んでるだけで
粘着3Dサイトウォッチャー君にいつか2chでバッシングされる可能性がある。
バッシングを避けるならどこの掲示板でも名無しで書き込むのがいい。
0718名前は開発中のものです。02/01/15 08:03ID:???
ここで出し惜しみって言われてるのは、出し惜しみじゃなくて本人が説明を
理解できなかっただけのが多いと思う。
積分の説明するのに四則演算から説明する人はいないのに、四則演算も知ら
ずに積分の質問して文句言ってる感じ。
071968902/01/15 08:29ID:kZrVs2Sq
なんかまともに書きこんだ俺がばかみてーじゃねーか。

>おまえが知らないだけでニアクリップなんか大昔からソースあるよ。
それがどーした。
大昔からニアクリップについて書いた日本語ページはDyncoon氏のところぐらいだ。
出来が悪いと思うなら、お前自身がより詳細な情報を提供しろ。

>>718
出し惜しみとか言ってる奴は
自分が話しについていけないことへの妬みだろ。
奴らにとってはコピペできるソースがなければ、出し惜しみなんだよ。

ということで、クダラナイ奴の煽りなど気にせず、
2ch以外で情報交換しましょう。
0720名前は開発中のものです。02/01/15 09:36ID:???
>>719
クリップの何が知りたくて怒ってるのかしらないけど、
クリッピングのことだったら"Computer Graphics : PRINCIPLES AND PRACTICE"
( ISBN 0-201-84840-6 )とかに載ってるよ。
(その本は最近では日本語版も売ってるらしい。そっちは読んでないけど。)
教えろ教えろいうのはいいけど、ちょっとは自分で調べる努力もしようぜ。
0721名前は開発中のものです。02/01/15 10:25ID:???
負け惜しみせずに3Dの技術を誰かが答えます
0722名前は開発中のものです。02/01/15 11:01ID:???
出し惜しみも何も、far,near,上下左右のクリッピングなら相似で片付く算数問題だろ
画面角とポリゴンの交点は内積使うけど
まず紙と鉛筆用意して手と頭を使え。参考資料なんて漁る方が恥ずかしいぞ
0723名前は開発中のものです。02/01/15 11:07ID:gTB9Px2G
>>720
俺が知りたいわけじゃない。>>689を見ろ。
俺が名前だしたことが叩きの原因になったんでむかついているだけ。
0724 02/01/15 11:52ID:O5G0YlsL
>>720 サンキュー
日本語版はこれだね
http://www.amazon.co.jp/exec/obidos/ASIN/4274064050/qid=1011063089/sr=1-1/ref=sr_1_0_1/249-3485832-7856307
0725名前は開発中のものです。02/01/15 12:54ID:???
このスレの皆さんはずいぶんとエラそうですなぁ〜
やっぱ人気あるから調子にのってるんでしょうか?
マジレスきぼんっな
0726名前は開発中のものです。02/01/15 12:58ID:???
つーか、GEMSといい、この本といいなんでこんなに高いんだ?
どっち12000円だし、談合か?(ぉ
英語のできない開発者いじめですか?(泣)
0727名前は開発中のものです。02/01/15 13:00ID:???
>>725 ゲーム業界のプログラマはだいたいこんな感じです。
正確破綻者多いし。(特にWeb弁慶は多いな)
0728 02/01/15 13:10ID:O5G0YlsL
XBOXのダブルスティールが物理計算やってそうな感じ?
あぁもうついていけない。あれ開発してるの誰だ〜
(結構有名なんでしょ〜あそこまで出来るなら)

OpenGLなMasaさんもゲーム作ってるみたいだけど、これ?
0729名前は開発中のものです。02/01/15 14:09ID:???
>>726
需要が少ないから。
0730名前は開発中のものです。 02/01/15 14:13ID:???
>>726
でも最近円安のせいで原著も翻訳も値段がさほど変わらなくなってきたよね。
0731名前は開発中のものです。02/01/15 14:36ID:???
>>729
凄腕がみんなWebに露出してるわけじゃない
>>730
問題は日本語訳が無い場合だな
0732名前は開発中のものです。02/01/15 18:16ID:???
凄腕もWebはマメに見てる罠(藁
073366502/01/15 18:39ID:???
しばらく見に来ないうちに、スレが伸びてる。

スクリーンに投影した状態でclipするのではなく、
視錐台の各面に対してclipを行えば良いということですか?
0734業界の革命児02/01/15 19:47ID:eNWH3kit
俺ははっきりいって何でも知ってる。わからなかったら俺に聞け。
0735名前は開発中のものです。02/01/15 19:53ID:qNdqLW8C
>>734
水滴の屈折計算の公式を教えてください。
0736業界の革命児02/01/15 20:41ID:eNWH3kit
調べればわかる。
0737名前は開発中のものです。02/01/15 21:01ID:???
スネルの法則
0738名前は開発中のものです。02/01/15 21:19ID:qNdqLW8C
>>736
自分が知りたいのは、スネルの法則をどのように
テクスチャのUV座標として適応するのかです。
レンダリングしたシーンをテクスチャに使うとして、
屈折後の視線ベクトルがスクリーン範囲外になったときのUVの扱いとか。
0739名前は開発中のものです。02/01/15 21:26ID:???
GEMSに載ってなかったっけ?
またはコレとか。
http://www.microsoft.com/japan/developer/directx/japan/dx8/refract.asp
0740名前は開発中のものです。02/01/15 21:42ID:qNdqLW8C
>>739
水槽の屈折しかGEMSには載ってません。
また、そのサンプルもキューブ環境マップを使用したものですし。

自分が知りたいのは、PS2のタイトルがやっているような、
それまでにレンダリングしたバックバッファをテクスチャに使って
水滴を描画する手法なんです。
0741名前は開発中のものです。02/01/15 23:34ID:ey8AFiwX
>>740
バックバッファをテクスチャに使って、ふつ〜にスフィア環境マップしてみ。
後は、適当に調整だな。
すぺきゅら入れないと水滴じゃなくてガラスみたいになるかな。
0742名前は開発中のものです。02/01/15 23:37ID:???
>それまでにレンダリングしたバックバッファをテクスチャに使って
>水滴を描画する手法なんです。
そこまで知ってるんだったら、あとは試行錯誤の連続なんじゃないかなぁ。
0743名前は開発中のものです。02/01/15 23:45ID:???
>時計に人生捧げてる奴とか?
>でも彼はたかが時計で何であんなに偉そうなんだろう・・・。
偉そう?俺にはそうは見えないですな。
Wバッファに関するとんだ勘違い説明を後から気が付いても、
敢えて消さずに残すところだとか、勇気あるし、謙虚な人だと思うぞ。
0744名前は開発中のものです。02/01/16 00:52ID:y01qost+
>>742
試行錯誤はしているのですが、どうもMGS2のように綺麗にでないもので。
視点とカメラとの距離による移りこみの変化とか
ちゃんとしたモデル理論に基づいて作ればなんとかなるのかと思ったのです。
いまのところ、視線ベクトルを水滴の法線ベクトルで反射させたベクトルに、
係数を適当にかけてやっています。

もともとレンダリング済みのバッファをテクスチャに使うこと自体
フェイクっぽいので(無限遠に投影された背景と考えればいいのかな)微妙です。
074574102/01/16 01:01ID:uIJlyPE5
MGS2って、倒立虚像を表示してるんでない?
その辺はやってみたんですか?
物理屋的に言えば、水の光速が空気中より遅いので、光を波と考えた場合の波面が屈折します。作図してみてください。
焦点距離が水滴を通して見たときと、まっすぐ背景を見たときで違うので、完全なシミュレーションは困難と思いますが。(被写界深度)
■ このスレッドは過去ログ倉庫に格納されています