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

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

■ このスレッドは過去ログ倉庫に格納されています
0001プチ9627m02/05/12 11:50ID:S37fCL0U
3D技術の解らないことや気になることを誰かが答えてくれるスレ。

お約束
1. 出し惜しみしないこと。
2. 3Dそのものの是非については議論の対象外とする。
3. いかなる理由があれ、個人叩きは厳重に禁止。
  (守れない輩は、この板のローカルルール百回読みの刑に処す)

では、ご随意に。

■ 過去スレ
出し惜しみせずに3Dの技術を誰かが答えます Part3
http://game.2ch.net/test/read.cgi/gamedev/1016725546/
0524名前は開発中のものです。02/06/04 00:51ID:???
>>523
レスありがとうございます!
今は、「上腕」「うで」「手」みたいにXファイル自体が分かれてますから、
昔のバーチャファイター1みたいになってしまうんです
口を動かそうとすると、NHK教育の人形みたいに、顎と顔を分けないとダメなんです
これを、パラサイトイヴとかFF9がやったみたいに、人間の関節っぽいというか、
ちょうつがい状に曲がるのじゃなく、ぐにょりと曲がるようにしたいと思ってます
アドバイスください!
もし関節のちょうつがいを目立たなくさせる方法とかがあるのでしたら、
そういうのも教えてください お願いします。
0525名前は開発中のものです。02/06/04 00:54ID:???
それはまさしくスキニング。
しかし、現在はワンスキンアニメに移行しつつあるから、
パーツごとに分けない方が良いと思われ。
0526◆CKmHzWpc02/06/04 01:09ID:6e8bYYOo
>>525
なるほどスキニングですか。今までボーンで検索してました!
スキニングとワンスキンアニメは違うものなんですか??
1から新しいプログラムを作るつもりですから、今からはパーツごとにわかれて
ないモデルを作るようにします。
ひょっとしてスキニングって物凄く大掛かりで、個人でやるには難しい領域なんでしょうか?
パーツごとに分かれたモデルを動かすモーションエディタは自作したんですが、
全然レベルが違う話なんでしょうか!あきらめたほうがいいんでしょうか。それでもなんとか
挑戦したいと思っています!
0527名前は開発中のものです。02/06/04 01:16ID:???
>>526
スキンのサンプルプログラムならDirectXのサンプルよりはこっちを
おすすめしたい。
http://www.darwin3d.com/gdm1998.htm#gdm0598
0528名前は開発中のものです。02/06/04 01:16ID:???
>>526
>ひょっとしてスキニングって物凄く大掛かりで、個人でやるには難しい領域なんでしょうか?
スキニングなんてプログラマから見れば、1頂点に複数マトリクスとウエイトが存在しているに過ぎない。
まともなスキニングツールを作るのは大変だと思うが、再生するだけなら馬鹿でもできると思うぞ。
0529◆CKmHzWpc02/06/04 01:41ID:6e8bYYOo
>>527
早速動かしてみました!スキニングって、モデルとモデルの中間を作るテクなんですか?
キーフレームごとにモデルが必要になったりするんでしょうか・・・?
これはこれで楽そうですが、データ量が心配になってしまいます!

>>528
なるほど・・・たとえば肘なら、上腕用行列と下腕用行列が混ざり合ってるだけで、
適当に中間を計算してやればいいって事でしょうか?
なにぶんビンボーで、MAXとか買えません!そういう重みを設定するツールも自作
するしかないですか。うーん
0530名前は開発中のものです。02/06/04 01:44ID:???
>>529
もうちょっとサンプルコードを読もうな。
あと528が確信的なこと言ってるので要注目。
0531名前は開発中のものです。02/06/04 01:48ID:???
スキニングなんて捨てて、ワンスキンにすればメタセコでも出来ると思われ
0532◆CKmHzWpc02/06/04 01:49ID:6e8bYYOo
>>530
了解しました、ちょっと動かしただけで実はよく読んでないんです!
ファイル二つ選ばせるから、てっきりそうだと思い込みました。
読んでからまた来ますね!
0533◆CKmHzWpc02/06/04 01:50ID:6e8bYYOo
>>531
ワンスキンて何でつか!スキニングより良いんでしょうか。
MAXとか凄いのが無くてもいいなら最高なんですが 簡単にでも教えてください
0534名前は開発中のものです。02/06/04 02:00ID:???
つか、デザイナーがいない&高価なツール持ってない、趣味プロではスキニングは難しい
0535◆CKmHzWpc02/06/04 02:05ID:6e8bYYOo
>>534
ワンスキンっていうのも良いんですね・・・さんざんスキニングについて聞いておいて
いまさらなんですが、ワンスキンもどんなものか教えて欲しいです
同じような結果が得られるなら、出来ることからやりたいと思います
おねがいします!
0536名前は開発中のものです。02/06/04 02:08ID:???
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=utf8&oe=utf8&querytime=IYfXC&q=%E3%83%AF%E3%83%B3%E3%82%B9%E3%82%AD%E3%83%B3
0537名前は開発中のものです。02/06/04 02:19ID:???
>>532
URLクリックだと一番上のモーフのサンプルが目の前になっちゃうのね…。
ワンスキンのサンプルは May 1998: Real-time Skeletal Deformation
って書いてあるやつ。
0538名前は開発中のものです。02/06/04 13:53ID:Hp3lYKGc
真珠婦人面白い。。。
0539名前は開発中のものです。02/06/04 17:28ID:???
ワンスキンって1ウェイトスキンのこと?
それともモデルが1つという意味の方?
0540名前は開発中のものです。02/06/04 17:34ID:???
モデルが1つという意味
0541◆CKmHzWpc02/06/04 21:10ID:z/TXke5k
>>537
勘違いしてました!恥ずかしいです
これ凄いですね、動くソースが貰えるとは最高です!
まだ全部は読んでないんですが、変形のプログラム自体は結構短いんですね
これだと頑張れば作れるかも、という希望が湧いてきました
頂点を直接いじるとなると、頂点バッファはあきらめたほうがいいんでしょうか?
あんまり頂点バッファにこだわる必要もないんでしょうか
素人的にも、頂点を自分で触るのが安心できるんですが、ご意見ください!

ところでこれがボーンっていう解釈でいいんでしょうか。プログラム中にボーン
とか出てきますからそう思ってるんですけど、用語の定義がよくわかりません
教えてください!
0542名前は開発中のものです。02/06/04 21:14ID:???
>>541
いや、だから検索しろって。
ボーンって名前にあこがれてボーンを使ってみたいだけちゃうんかと(以下略
ボーンはモーションの骨格。
0543◆CKmHzWpc02/06/04 21:23ID:z/TXke5k
>>542
難しい3Dのページで英語とかで説明してるのしか無いと思ってたんですが
http://www.watch.impress.co.jp/game/docs/20020212/nvidia2.htm
ちょっと探せば判りやすいのがあるもんですね!スッキリしました
0544名前は開発中のものです。02/06/04 21:52ID:???
ttp://macosx2.ncs.gr.jp/~masa/jpn/c_maga/anim3d/index.html
アンチが多いからためらってたけど、ここが一番わかりやすいっす。
ここみてわからなんだら3Dプログラマはあきらめた方が良いかも。
0545名前は開発中のものです。02/06/04 21:55ID:Ls3vqkME
漏れshade2を3に変えたんだけど、2のデータを3で保存すると変になるけど
直せないのか?
0546名前は開発中のものです。02/06/04 22:13ID:???

  Λ_Λ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 <丶`∀´> < >>543
 (    )  | ?? ?? ?? ?????!
 | | |   \__________
 〈_フ__フ
0547◆CKmHzWpc02/06/04 23:04ID:z/TXke5k
>>544
ここはいいですね!式もちゃんと書いてくれてますし
これはこういうデータを作れるエディタを作るほうが難しそうですね うーん
でもこれならなんとかなりそうです、ありがとうございます

>>546
ここにボーンとは何ぞやスキニングとは何ぞということが書いてあるんです
それすらよく知らなかったもので・・・

さっきのHPのもそうなんですけど、やっぱり頂点バッファはあきらめたほうがいいんでしょうか
0548名前は開発中のものです。02/06/04 23:26ID:???
>>547
なんで頂点バッファをあきらめるの?
頂点シェーダで書けばいいじゃん、ってか、むしろ書くべき。
0549◆CKmHzWpc02/06/04 23:41ID:z/TXke5k
>>548
えー、いきなり頂点シェーダですか・・・!あのアセンブラみたいなやつですよね・・・
とりあえずエディタを作って、まだ時間をかけられそうだったら頂点シェーダでの変形に
挑戦したいと思います。

ところでスレ違い板違いなんですが、就職活動用に作るなら、遊んで面白いものを作るほうが
いいのか、技術的な方に注力した方がいいのかどっちでしょうか
0550名前は開発中のものです。02/06/04 23:47ID:???
>>549
 「自分の力でできるもの」だな。嫌な言い方だけど君の場合質問
のレベルから技術的に売りになるものが作れるとは思えない。

 目のある採用者なら技術オタクな奴よりもしっかりと1本のゲーム
を仕上げる奴の方を評価するよ。とりあえずスキン処理とか欲を出さ
ずに今の技術でできることを模索してはいかがか?
0551名前は開発中のものです。02/06/04 23:56ID:???
>>549
君さ、モデルをいきなり出力させようとするより
まずはジオメトリブレンディングから始めた方がいいよ。
簡単な直方体作ってさ、くにっと曲がるようにさせてみ。
スキニングは、原理は簡単だが
まっさらの状態から理解するまでが敷居が高い。
既にXファイルでアニメーションが出来てるなら
そっからの移行は簡単だ。
頂点シェーダなんか使う必要ねェよ。、固定機能D3DTLで十分。
頂点バッファはそのまま使えるし。>>548は口だけ厨だな。
0552名前は開発中のものです。02/06/05 00:05ID:???
>>550
そうか?クズみたいな連中がゴロゴロ受けに来る中、コイツはまともな方だと思うが・・・
しかし>>549よ、俺は採用担当じゃないけど、例えばスキニングを使った人間がただ踊るだけ
のプログラムより、まがいなりにもちゃんとエンディングまであるゲームを作った方が印象は
いいと思われるぞ。>>550の言うとおり、無茶するよりも最後までキッチリ作る方が大事だ。
まあ、まだまだ時間はあるんだろうけど。
0553名前は開発中のものです。02/06/05 00:08ID:???
やねうらお本はどうよ?
0554名前は開発中のものです。02/06/05 00:11ID:???
ttp://www.and.or.jp/~yagi/

こいつが一番えらい。
0555名前は開発中のものです。02/06/05 00:28ID:???
そうか?
0556◆CKmHzWpc02/06/05 00:29ID:z/TXke5k
>>550
>>552
わかりました。友達でもスキニングやってる奴はあんまり居なかったので、これが
出来たら結構セールスポイントになるかなぁと期待してたんですが甘かったです
でもとりあえずスキニング対応じゃないゲームはもう70%くらい出来てますし、
就職活動抜きで、単にやってみたいっていうのもありますから、これはこれで勉強
したいと思います。

>>551
ジオメトリブレンディングというと、「Microsoft」のロゴがぐにゃぐにゃ曲がるやつ
ですよね。。またソースを読んで勉強してみます。これで基礎がつかめるんでしょうか
ところで移行は簡単なんですか!今やってるXファイルのアニメーションって、パーツが
Xファイル単位で完全に分かれてて、それを自作エディタで親子関連付けして動かす
っていう方法なんです・・・こんなのでも大丈夫ですか。
0557名前は開発中のものです。02/06/05 01:15ID:???
凹凸のある形状と、頂点の接触判定をしたいのですが、どうすればいいんでしょうか?
凸面体ならわかるので、分割し様としましたが、分割した面のふさぎ方がわからないので
頓挫中っす 教えて偉い人
0558名前は開発中のものです。02/06/05 01:22ID:???
三角形1枚1枚と線分の交差判定じゃないの?
0559名前は開発中のものです。02/06/05 01:29ID:???
バンプマッピングとかディスプレイスメントマッピングしたオブジェクトとの判定じゃないの?
0560名前は開発中のものです。02/06/05 01:37ID:???
あ、静止してる物体同士なので、線分じゃないっす
0561名前は開発中のものです。02/06/05 01:54ID:???
>>560
オブジェクトを構成している三角形の線分だボケ
0562名前は開発中のものです。02/06/05 01:54ID:???
三角形毎にX軸平面に投影して判定する。一枚でも三角形内に点があれば HIT
コレをy、z軸平面投影でも行って3面とも HITなら 内部

ってどう?
0563名前は開発中のものです。02/06/05 02:06ID:???
あ、ダメでした失礼しました
0564名前は開発中のものです。02/06/05 02:09ID:???
もしかして、一つの凹角のある多角形のこと?
しかし、そうだとすると分割したときに面をふさぐとか意味不明だが。
0565名前は開発中のものです。02/06/05 02:09ID:???
>>562
その判定だと複雑な形状で失敗しませんかね?

凹凸が複雑で静的な物体であればBSPツリーなんかもいいと思う。
0566名前は開発中のものです。02/06/05 02:29ID:???
>>564
一つといわず、グチャグチャな形。例えば凹みたいのを 左、真中、右と分割した際に
分割で出来た穴を閉じないと、頂点の内外判定(=全ての面の法線の後側に頂点がある)が出来ないでしょう
上の例は簡単にふさげそうだけど、もっと入り組んでるとどうなんだろうかと

3次元のBSPってどうやって分割するんだろう?雑誌の解説は2D面としてですよね
Quakeみたく、面が垂直or平行のように限定されないと更に難しい予感
0567名前は開発中のものです。02/06/05 02:35ID:???
あ、穴をふさがない様態でもとりあえず分割して それぞれに>>562の方法でOK?かな?
0568名前は開発中のものです。02/06/05 02:40ID:???
なんで分割で穴が出来るの?
n角形を複数の3角形に分割するだけじゃない
0569名前は開発中のものです。02/06/05 03:38ID:???
557は3Dの質問してるのに、なんで答えるようとしてる人たちは2Dの話を
しているんだろう?
凸面体(初めて聞いた言葉)とか言ってるから2Dのわけないと思う。
そもそも、ここは3Dのスレだよ。

ある点から任意の方向に線分を伸ばして、交差した面の数が奇数なら
その点は内部に含まれるっていう判定方法があるよ。
凹凸関係ないし、2Dでも3Dでもそのまま使えるから、アルゴリズム的
には美しいと思う。
ただ、伸ばした線分が面の境界にぶつかるとやっかいな事になるけど。
0570名前は開発中のものです。02/06/05 03:41ID:???
>>566
雑誌で紹介されているBSPの使い方をしているのはDOOMくらい。
DOOMは垂直な壁しか存在しないから、実質的に2Dと同じ。
0571名前は開発中のものです。02/06/05 03:48ID:???
>ある点から任意の方向に線分を伸ばして、交差した面の数が奇数なら

(・∀・)ナルホド! 忘れてた
面の境界問題は面倒そうですね。どう逃げるのがいいかなー

なんか凸立体への分割方法書いてある本(実践コンピューターグラフィックス。林檎表紙)
見つけたけど、よくわからん
頂点ひとつを原点に移動させて、辺と軸を一致するよう回転させて…と書ききれないほど続く…
0572名前は開発中のものです。02/06/05 04:03ID:???
凸面体なんて言葉ないみたいですね?凸立体ともども検索したけど、同じくらいしか引っかからない
凸多角形が正解か?

境界問題は辺と、線分のヒットチェックするくらい?
つか、Float(またはDouble)精度であたるなんてそうそうないと思うけど

当たった時はランダムにずらす以外方法ないかな?(あぁそれってなんか運まかせで嫌だ
0573名前は開発中のものです。02/06/05 04:57ID:???
最初から適当な頂点を選んでそこから少しずらした方向に線分をひっぱるか、
適当な面の重心に向かわせるのがいいかと。
それで当たったら運が悪かったってことで。

一応断っておくけど、速度的に優れた方法ではないよ。
どういう使い方をするのか書いてないから、一番説明が簡単な手法を書いたけど。

それと凸多角形じゃなくて、凸多面体ね。
0574名前は開発中のものです。02/06/05 05:19ID:???
交差した面って、矩形じゃなくて無限平面として判定して大丈夫?だよね?
0575名前は開発中のものです。02/06/05 05:24ID:???
そんな奇抜な方法を取らなくてもいいと思うけど。
立方体の衝突判定の場合、6つの無限平面との内積でしょ?
それと同じだよ。面がいくつあろうが凹凸だろうが。
これはわかった上で、速度面で問題があるから別の方法を模索しているのか
そうじゃないのか見当がつかない。
057657502/06/05 07:07ID:???
ゴメンゴメン俺がわかってなかったよ。
凹だと駄目だね。失礼しますた。
凹を凸に分割して、>>575の方法。
これでいいじゃん。少々重くてもさ。
0577名前は開発中のものです。02/06/05 13:18ID:???

         人人人人人人人人
        <  ∧_∧     >  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        < (  ´∀`)    > < >>575 まさかあなたは!?
        < と    つ   >  \____________
        < ( ̄ ̄ ̄ ̄)   >
        < ( ̄ ̄ ̄ ̄)   >
        < ( ̄ ̄ ̄ ̄)   >
        <   ̄ ̄ ̄ ̄   >
         ∨∨∨∨∨∨∨∨
0578名前は開発中のものです。02/06/05 14:33ID:???
>>575 は本読んだだけで理解してないうんこ
0579名前は開発中のものです。02/06/05 14:53ID:???

  ∧_∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 <丶`∀´> < >>556
 (    )  | ?? ?? ?? ?????? ????!
 | | |   \__________
 〈_フ__フ
0580名前は開発中のものです。02/06/05 20:31ID:???
ふぉっふぉっふぉっふぉ。
0581名前は開発中のものです。02/06/05 21:12ID:???
>>580
すれ違い
0582名前は開発中のものです。02/06/07 20:36ID:RKW.XGiM
float変数と 0.0のイコール判定って
f == 0.0 じゃなくて f > -offset && f < offset
みたいに幅を持たせるじゃないですか?

この幅の値ってどの位が適正なんでしょ?
float自体の有効けたが6ケタに、情報落ちを考えたりするの?
適当つーのも気味が悪いので考え方おしえてYO

後、上では offset って読んでるけど、なんか呼び名がいいのかな?
ソース上で変な名前付けておくと恥ずかしいので
0583名前は開発中のものです。02/06/07 20:41ID:???
表現する値によっては精度が1.0fより荒くなったりするから、
基本的に正解はない。
0584名前は開発中のものです。02/06/07 20:57ID:RKW.XGiM
あぁある程度条件限定しないといけないっすね
3Dゲーなら 変数の上限値を整数部分3桁位見ておけばいいのかな?
すると offsetは 小数3桁 0.001位でいいつーこと?
0585名前は開発中のものです。02/06/07 21:21ID:???
それなら、std::fabs(val - comp) < FLT_EPSILONだろ
0586名前は開発中のものです。02/06/08 00:34ID:ySbOIgRo
サードパーソンシューティングのように
カメラをキャラの後ろから眺めているような位置にセットしたいんだけど
位置と向きベクトル(frontとup2つ。回転行列でも可)は、
どうやって求めればいいの?
カメラはキャラより上方に置きたいです。
0587名前は開発中のものです。02/06/08 00:45ID:???
キャラクタ座標系でz方向に後ろ&上にずらして、
座標系をワールド座標系に変換、その後に逆行列を求める
じゃだめなん?
0588名前は開発中のものです。02/06/08 01:30ID:???
ふぉっふぉっふぉっふぉ。
0589名前は開発中のものです。02/06/08 01:50ID:jGL4IQfw
>>587
ありがとうございました。
その方法で出来ましたです。
感謝!!
0590名前は開発中のものです。02/06/08 06:13ID:b/X3paeE
http://www.3dcg.ws
CGProgram.RenderMan掲示板あり
0591名前は開発中のものです。02/06/08 09:48ID:???
   ヽ:::::::::::::::::::::!:::::|  N .ノ  !! 、{ ヽ、 !Nヽ、i ヽ!  |::ノ      |         |
    `┬--、..__ト__|__,.‐'´        `ー-- 、_____ jノ       |         |
     |    |    ,. ==ii'´      `'ri===、、   |        |          |
    |   |  ,〃 rァ           r';ヽ  ヽ_,,.|         |            |
    |   ''=l='"}  |:l}           |.lノ|   ,} =¥      |     !      l
      |,   | `~   り           {.l;;ノ   ´~ |    ,|    |     |      !i
      、   | ////          //// \  _/   |    |       | i
       \ー|////        ////// | ̄      |     |   |  | i
  |     |  ヽ__|        〈l                |        |     |    |  | l
 l|    li|     `                      ,>,____..  /|    !    |  | l
 i|   i|   |   ` 、                     ,.' ゝ,__,ノ |     |   |  | l
 |     |   |  |  ,` .. T7^〜〜〜〜〜〜~ヽ、 / /      |    ハ    |  | !
../ヽ.___人___人___入_ノ / ` '-------------- '′  /       ヽ、__ノ  ヽ__ノ`r-r'′
   {ミ}  {ミ}  {ミ}   ,l      `ー‐‐-------- ― '´            {ミ}   {ミ}  {ミ}
ふぉっふぉっふぉっふぉ。
0592名前は開発中のものです。02/06/08 15:35ID:X/HptvP2
初歩的な質問なんですが、もっとも簡単で低コストな曲線モデルって何ですか?
(ある程度滑らかであれば何でもいいです)
情報源とかあったら教えてください。
0593名前は開発中のものです。02/06/08 15:45ID:???
N-Patchで検索しる。
0594名前は開発中のものです。02/06/08 15:49ID:???
>>592
ここいらへん?
http://www5.tok2.com/home/IF/prog2.html
0595名前は開発中のものです。02/06/08 19:01ID:???
D3DXVec3Hermiteとか使うと楽だけど
0596名前は開発中のものです。02/06/08 20:17ID:vyjhrQG2
モーションキャプチャのような事をしたいと考えています。
ビデオカメラ2台を使用して、人間を正面と側面から撮影してPCに取り込み、3Dのモデルを
手で映像に合わせればいいんじゃないか、と思っているんですが、毎フレームごとにデータを
取るべきなのか、今までのように適当にキーフレームを選んで補完してやればいいのか、どっち
にしようか考えてます。
市販ゲームでモーションキャプチャを使用しているのは多いと思いますが、普通はどうやってるんですか?
0597名前は開発中のものです。02/06/08 20:26ID:???
ムービーを作るなら毎フレーム+手作業で補正
リアルタイムなら、キー+補正。
0598名前は開発中のものです。02/06/08 21:14ID:vyjhrQG2
なるほど。わかりました。
0599名前は開発中のものです。02/06/09 01:25ID:iLoKzy1I
でも使い分ける意味がわかりません
0600名前は開発中のものです。02/06/09 01:31ID:RK80b68c
曲線の件ありがとうございました。
DirectXだとD3DXVec3Hermiteなんてあるんですね。
自分はDirectXを使用していないので、手でゴシゴシ磨いてみます。
0601名前は開発中のものです。02/06/09 01:38ID:???
>>600
あと軽いかどうかは別にして、Gemsにも同じようなサンプルがあったが・・・
0602名前は開発中のものです。02/06/09 02:11ID:???
>>588
ワラタ
0603名前は開発中のものです。02/06/09 06:02ID:???
人間のモーションのBVHデーターがあるんだけど、
胸→肩のデーターしかないのを、自動的に細分化して胸→鎖骨→肩
みたいに,鎖骨のアニメーションデーターを作り出したいんだけど

自動分割のアルゴリズムはお手軽に差し替えたり柔軟性を持たせたい
そーいうのってどういうツールで行うべき?

スクリプト系言語でやったりするの?(知らないけどPython?)
0604名前は開発中のものです。02/06/09 17:37ID:???
をー!DAKINI隔離スレがうまく機能しているではないか!
0605◆CKmHzWpc02/06/09 22:46ID:iLoKzy1I
この間就職活動用プログラムでスキニングしたいと言っていた者です
あれからジオメトリブレンディングを勉強して、どうやればぐにゃっと曲げられるか分ってきました!
調べてもまだ分らない事があるんですが、例えばインデックス付きジオメトリブレンディングを使用
して人体の関節を曲げるために、11個の行列をブレンドしたいとすると、安物の3Dボードならハード
が対応してないので、ソフトで処理することになるんですよね
そういう時に頂点バッファを使用していた場合、DirectXは内部で頂点をLockしたりするんでしょう
か。もしそうなら、それで遅くなったりするんでしょうか、教えてください!
0606名前は開発中のものです。02/06/09 22:53ID:???
つか、ハードのブレンドは2個が標準と言えるのでなので期待出来ない
モデルを分割して、2ボーンに分けるのがいいでしょ。普通の人体ならそれでいけるはず

それ以上はVertexシェーダーで書くといいかもね
それがダメなら、頂点バッファに置かず、システムメモリーに置いておけば
ロックいらずで高速ウマー

システムメモリの中のAGPメモリーに頂点バッファ作った場合って
ロックのコストどうなんだろー?
0607◆CKmHzWpc02/06/09 23:12ID:iLoKzy1I
>>606
モデルを分割するのが一般的なんですか。そういうのって継ぎ目が分ったりしないんですか?
一気にDrawPrimitiveしないとつなぎ目が見えるっていう印象があるんですけど大丈夫ですか

将来的にはスカートの頂点を触ってヒラヒラさせたりしたいので、どうせシステムメモリーに
置くなら、スキニングするモデルも全部システムメモリに置いてもいいかなあなどと考えてい
るんですが、分割してでもビデオメモリに置けるものはなるべくビデオメモリに置いた方がいいですか
0608名前は開発中のものです。02/06/09 23:26ID:lf034WvE
>>566

平面を直線で2分割するのを、空間を平面で2分割するようにするだけでそ?
雑誌にax+by+c = 0の直線の例があったら、ax+by+cz+d=0で考える

減色とかもほんとはRGB/YUVとかの3次元でするけど、説明は2次元の図でするよね(Y/N)
0609名前は開発中のものです。02/06/09 23:30ID:fAUxhGX6
>モデルを分割して、2ボーンに分けるのがいいでしょ。普通の人体ならそれでいけるはず
普通の人体っていうのも意味不明だけど、一つの三角形が3つ以上のボーンを参照して
いたらもうだめだね。
よほど最適化に自信が無いのなら最初から頂点シェーダー使ったほうがいい結果に
なると思う。頂点を書き換えるのなら
http://www.asia.microsoft.com/japan/msdn/directx/techart/DirectX8faq.asp
の「動的にデータを生成する際には」を参照すること。↓のテンプレートも参考になる。
http://developer.nvidia.com/view.asp?IO=dynamic_vb_ib
0610名前は開発中のものです。02/06/10 06:21ID:???
頂点バッファ等のロックってのは、
VGAのDMA転送やクリティカルセクションの為に
あるようなもんだと思うし、
パフォーマンス的には、使わないよりは使った方がいいと思う。

>>609
>一つの三角形が3つ以上のボーンを参照していたらもうだめだね。
1番影響が大きいウエイトを残し、メッシュを分割したのがこれ。
クオリティ的には微妙?(笑
http://sylphys.ddo.jp/imgboard/img-box/img20020610061633.jpg>;>
061161002/06/10 06:22ID:???
間違った。こうです。
http://sylphys.ddo.jp/imgboard/img-box/img20020610061633.jpg
061260302/06/10 10:14ID:???
うぅ2chにしては珍しくレスがつかない…週末はアクセス少ないんかの〜
引き続き教えテン

>>603
0613名前は開発中のものです。02/06/10 12:48ID:???
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |  >>612 ふぉっふぉっふぉっふぉ。
  \  ___________
   V
  ∧_∧
  ( `_ゝ´)つ
  (   つ 
  | | | 
  (_)_)
 ぷよーん
0614名前は開発中のものです。02/06/10 21:06ID:???
>>612
質問が頻発してる時はちょっと待ってから再質問しる
0615名前は開発中のものです。02/06/10 21:48ID:???
>将来的にはスカートの頂点を触ってヒラヒラさせたりしたいので、どうせシステムメモリーに
ボーンでやる気なのか?つらそー。
0616◆CKmHzWpc02/06/11 03:48ID:zXaLQtp.
みなさんありがとうございます
1.モデルを分割するのが嫌→頂点シェーダ−を使うorシステムメモリに置いてソフトでやる
2.モデルを分割してもいい→ハードのジオメトリブレンドを使ってやる・・
というのが考えられる・・・んですよね
色々組み合わせを試して、高速なのを選びたいと思います

>>615
これは、スカートの頂点をCPUで直接操作しようと思っています
ボーンでやらずに、簡単なクロスシュミレーションのような事を目指しています
どうせモデルの一部をシステムメモリに置くなら、もう全部システムメモリにし
てもいいか、と思ったのです
0617名前は開発中のものです。02/06/11 21:33ID:???
ちょっと前に出てた話題で Xファイルの出力に関する物で
Maxのプラグイン落としたんだけど、コンパイルできねぇphyexp.h が足りないって
出るよ〜 キャラスタSDKに含まれる気配があるけどそうなん?
0618名前は開発中のものです。02/06/11 21:44ID:???
>>617
 MAXのインストールフォルダを検索かけてみるのココロ。
0619名前は開発中のものです。02/06/12 01:00ID:???
検索したけど、ないんですよ。ネット検索したら↓がヒットしたので〜

>Cstudio\Docs にある新しい phyexp.rtf および phyexp.h ファイルを参照してください。

ダメか〜諦めろ俺。体験版に入ってたりするかな
0620名前は開発中のものです。02/06/12 09:35ID:???
>>619
CDの中のCS体験版に入ってるよ
0621名前は開発中のものです。02/06/13 03:29ID:???
無かったらどっかにアプロドしてやんからアプロダ指定しな。IP残さないとこ。
この際クラック疑惑は無視してあげるから
0622名前は開発中のものです。02/06/13 03:46ID:???
>>621
ありがとうございます。CDに有りました
maxって体験版=キー無し製品版なの忘れてました
0623名前は開発中のものです。02/06/14 05:52ID:Nscvr0pc
shi3zよ。君の中途半端ぶりは忘れない。
海外へ逃亡してimodeでがんばれよ。
■ このスレッドは過去ログ倉庫に格納されています