出し惜しみせずに3Dの技術を誰かが答えます Part4
■ このスレッドは過去ログ倉庫に格納されています
0001プチ9627m
02/05/12 11:50ID:S37fCL0Uお約束
1. 出し惜しみしないこと。
2. 3Dそのものの是非については議論の対象外とする。
3. いかなる理由があれ、個人叩きは厳重に禁止。
(守れない輩は、この板のローカルルール百回読みの刑に処す)
では、ご随意に。
■ 過去スレ
出し惜しみせずに3Dの技術を誰かが答えます Part3
http://game.2ch.net/test/read.cgi/gamedev/1016725546/
0420名前は開発中のものです。
02/05/21 20:13ID:???■DirectXのリファレンスぐらい真面目に目を通すように
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_what_is_the_projection_transformation_graphics.htm
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_rasterization_graphics.htm
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_what_are_depth_buffers_graphics.htm
■資料になるページ
http://spin.s2c.ne.jp/stoday03.html
http://www.cc.rim.or.jp/~devilman/3dCoding/3dPers.html
http://www.daionet.gr.jp/~masa/column/98-08-02.html
http://www.daionet.gr.jp/~masa/column/98-06-25.html
■2Dのアプリの場合、Direct3Dの固定機能T&Lパイプラインを無理に使う必要ない。
素直に T&L済み頂点データVertexBufferを使え。
アプリ側で各頂点のスクリーン座標を計算して
フレーム毎にVertexBufferを書き換える。
各頂点のrhw値は天下り式に1/zを入れればいい。
このときのz値は
例えば2D-STGならば、ゲームの仕様に合わせて
弾スプライト用
敵機スプライト用
自機スプライト用
BG用
というように区切って、必要な数だけそれぞれに割り当てればいい。
0421名前は開発中のものです。
02/05/21 20:18ID:???rhwはz値をそのまま入れていい。パース補正要らないから。
0422名前は開発中のものです。
02/05/21 20:19ID:???Y=aXっていう式に対して、なんでaをわざわざ入れるんですか?
Y=Xでいいじゃないですか?
って聞かれてるような気がするんだが。dは単なる係数でしょ。
0423名前は開発中のものです。
02/05/21 20:21ID:???http://xboxmovies.ign.com/xbox/video/ninjagaidenxboxmattafact1.mov
0424名前は開発中のものです。
02/05/21 20:35ID:???どのへんに「やってくれる」と思った?
0425名前は開発中のものです。
02/05/21 20:47ID:???http://xboxmovies.ign.com/xbox/video/shenmue2_052002_1.mov
0426409
02/05/21 21:00ID:???z値については、2Dなので基本的に0を入れてたので大丈夫です。
ただ、Lunaのz値の入れ方がおかしいかなって思っただけですので。
rhwはx/y軸に沿って回転させるため、一応パース補正が必要なんですけど・・・
で、rhwは1/zなのは分かりましたが、これは[0,1)に補正されたzでしょうか?
補正前のz(z = 200〜500)でも、補正後のzでも(z = 0.0〜1.0)出力結果に
差がないので(?)だったんですけど・・・
参考リンク全部読んでみます。
資料ページは一つしか知りませんでした
0427名前は開発中のものです。
02/05/21 21:43ID:???0428名前は開発中のものです。
02/05/21 22:28ID:???0429名前は開発中のものです。
02/05/21 23:19ID:???0430名前は開発中のものです。
02/05/21 23:53ID:???0431名前は開発中のものです。
02/05/22 00:47ID:???0432名前は開発中のものです。
02/05/22 00:51ID:???0433名前は開発中のものです。
02/05/22 01:11ID:???0434名前は開発中のものです。
02/05/22 01:27ID:???0435名前は開発中のものです。
02/05/22 01:44ID:???0436名前は開発中のものです。
02/05/22 02:40ID:???__( ´∀`)にゃん
〜( )
UU ̄UU
0437409
02/05/22 03:39ID:???DirectXのD3DFVF_XYZRHW、同次座標系での(x, y, z, w)
これらの所為で、3D座標を(x, y, z, rhw)と訳の分からないとらえ方をしようとしてました。
(x', y', z', 1) = (x/w, y/w,z/w, w/w)
(sx, xy, 1, rhw) = (x'/z, y'/z, z/z, 1/z) #この時点でz=1なので無意味に?
こういう事ですよね?
まだ違ったら目も当てられませんが・・・(涙
0438409
02/05/22 03:39ID:???0439名前は開発中のものです。
02/05/22 03:50ID:???(´-`).。oO(目も当てられない)
0440名前は開発中のものです。
02/05/22 03:57ID:m6qi3emMそれぞれの相対的な姿勢関係の元に回転させたいのですが。
親子関係を持たせて親の姿勢から子へと姿勢を重ねて行くのではなく
全体で無理無く回転させてやりたいのです。
瞬間的に合体するので,最終姿勢のみ必要で,合体中の補間は必要ありません。
おねがいします。
例)2Dの場合 - 角度は絶対的な回転量(姿勢)です
合体前
objectA>90°
objectB>45°
objectC>0°
条件(相対的な姿勢関係)
A→B 10°
B→C 10°
合体後
objectA>55°
objectB>45°
objectC>35°
0441名前は開発中のものです。
02/05/22 04:17ID:???にゃんでもっと脳を使わないのかにゃ
0442427
02/05/22 05:23ID:???0443名前は開発中のものです。
02/05/22 05:40ID:???RenderStateでパース補正がOFFにしてるならrhwは無視されるはずだにゃ。
ONにしてるなら、rhwにzを入れたらダメにゃ。パース補正無しにするならrhwは1にゃ。
0444名前は開発中のものです。
02/05/22 05:43ID:???0445名前は開発中のものです。
02/05/22 05:47ID:???0446名前は開発中のものです。
02/05/22 07:59ID:jPJXabLQ0447409
02/05/22 08:11ID:???http://www.daionet.gr.jp/~masa/column/2000-07-13.html
ここによると
>視野座標系から透視変換を行った後のw であり、 Direct3D の場合は視野座標系でのzと等しい
と言うはずなのですが、透視変換は単純に言うと要素すべてをzで除算したZ=1平面のことですよね?
3Dの空間座標はw=1の空間なので、頂点の座標は(x, y, z, 1)になり、
そうなると、透視変換を行った後のw値はすでに1/zになっているんじゃないですか?
>(sx, xy, 1, rhw) = (x'/z, y'/z, z/z, 1/z) < >>437に書いたこれです
どうか教えてください。
頭を使えないんじゃなくて、徹夜して精一杯使ってこの結果なんです。
0448名前は開発中のものです。
02/05/22 09:43ID:???一番下をみれ
0449名前は開発中のものです。
02/05/22 11:52ID:???0450名前は開発中のものです。
02/05/22 12:50ID:???マルチパスレンダリング
0451名前は開発中のものです。
02/05/22 17:07ID:???パース補正のレンダーステートはDX8から無くなったよ
0452448
02/05/22 17:50ID:???リンク先にある行列をDで除算した物がよく解説に出てくる下の行列なんですね。
Dで除算する前の値がwで、除算後がrhwと。
1 0 0 0
0 1 0 0
0 0 1 1/D
0 0 0 1
0453名前は開発中のものです。
02/05/22 20:55ID:???0454名前は開発中のものです。
02/05/22 22:02ID:???0455(;´Д`)ハァハァ
02/05/22 22:57ID:???. ,' ,'´::: ,.`--──‐--' <. ̄::ヽヽ
i {::: /::::::::::::::::::::::::::::::::::::\::: !ニコ
ゝ._7:::::::::::::;:::;、:;:::::::::::;.、:::::::::: < ノ
. ,'::::::::::::/l:/‐l!::::!:::/H:i、::ヽ:::`、
i::;:::;:::r',.ェ!=!、|:/レ',.=!ュリヽ:、::、::!
l:l:::l::::l { {:l;;j:} ' {:l;;i:}.j ,'::ト:::|′
!:l:::|:::! ー‐' , ー' !::::!レ
`:i:::l::|、 " 、__, ノ::!::|
ヽ:!::! ヽ、 . イ;;|::|::l
`、! ,.j ` ー 'i´ `'、l
_. -‐' ヽ `i`ヽ、
∠- 、. `、ー ┤ /.>、
/´ `ヽヽ、_ ヽ〜'7 _// ∧
{`ヽ、 `>┴ 、`. ,' /,-' / }
! ヽ-._|∧∧|ニVニ-' ├' i
. ! ヽl( ゚ー゚)l ロ l /l
. `. ヽ-- ' ハ l ∂|
`、 `、 | | ,┴ ' ̄ヽ、
i、 ヽ ! l ! かおり }
l.ヽ `、 l. l. `t'7ー-、_/
|_ `、 、 l ! j ' ,'
└ァ-ヽ V二ニT /
/ / ,.ヽ、 〉 l. 〈. ∧、
0456名前は開発中のものです。
02/05/22 23:29ID:???ドキュメントの記述だけで分からないところがあったら、そっちを読めばいい。
完
0457名前は開発中のものです。
02/05/22 23:31ID:???http://www.microsoft.com/downloads/release.asp?ReleaseID=18804
0458名前は開発中のものです。
02/05/23 01:49ID:???http://macosx2.ncs.gr.jp/~masa/jpn/index.html
http://macosx2.ncs.gr.jp/~masa/jpn/c_maga/anim3d/index.html
0459名前は開発中のものです。
02/05/23 01:55ID:???ベクトル解析の基礎本
ロボット工学の基礎本
などを手に入れると良い。
0460名前は開発中のものです。
02/05/23 12:01ID:???KIT−Mたん・・・(((( ;゚Д゚)))ガクガクブルブル
0461名前は開発中のものです。
02/05/23 21:21ID:???7 ∠ | /| ノヽ V l | ( ´D`) O * / (´D` )
1 / |/ |/ \ | |☆ (U )つ/ ☆/__ ┳⊂ )
| / \ | | | _*/_____ / l⊆⊇`ヽ ≡ [[[[|凵ノ⊃
| 三 。 三 | | | \O\\\\/ (´D`Lノ ≡ ◎U□◎
| l‐――ヽ |/ ∧∧∧∧ ̄ ̄ / m=○=mノ) ≡
| |ノ レ) /< の >/ _/_/(「_ノニコ ≡
ヾ、 ヽ___/ / < 予 の > ( (0)=(__)0) ≡(´⌒(´⌒;;
――――――――――- < 感 ス > ―――――――――――――――
〆⌒ヽヽ < ! ! レ > o○ハヽ○o
( └ ,)) < の > O ( ´D`) O
ゝ__ノノ ∨∨∨∨ \ (つ つ
| | / /川川川ヽ \ /____\ ______
∋oノハヽo∈ / ミ〇川メ 卅川〇ミ\~~(__)_)~~ \_╋_/
(;´D`; )| / ミ (|| ・ , ・ ||) ミ \ 从 ´D`)
(U U ,,)_ / m ゝ" D "ノ \ ∠つ|二||エエ>―
/(_(__)/|/ (~c) ̄ \/ ヽ \ (__)__)
0463名前は開発中のものです。
02/05/25 09:43ID:???0464名前は開発中のものです。
02/05/25 14:29ID:???0465名前は開発中のものです。
02/05/25 15:40ID:???まっとうにやってれば、ペースとしてはこんなもんだよ。
0466名前は開発中のものです。
02/05/25 16:15ID:???---------------------
||||||
| \ 阿部 広キチ街 原産国:紀伊半島
/∴/ ━ ━ | 生年月日 昭和45年3月3日(31歳)
|∴--(−)―(−) | 体重 110kg(自称) 実体重135kg
(6  ̄ つ ̄ ヽ
| | 容疑 経歴詐称 名誉毀損 県迷惑条例違反
| )―――( |
ヽ ― 丿 特徴 ゲーム開発者のふりをする。
\ __/ やってもないゲームの仕様を切ったと豪語する
/ ̄\__/\ 雑誌で気に入らない奴を誹謗中傷する。
/ __〉 ネットで自作自演して保身と他人の悪口
ト1 我儘糞厨房 | |
| | | | よく他人のふりをして自分の自慢話をします。
(_)ー――――‐(_) 秋葉原のギャルゲー売り場(店内)でオナニーしている。
--------------------見付けましたら当スレまで通報願います。
0467名前は開発中のものです。
02/05/27 00:49ID:???0468名前は開発中のものです。
02/05/27 02:38ID:???0469名前は開発中のものです。
02/05/27 04:54ID:???毎回立てるなって言ってるのに立てるアホがいるから困る
どうせ3Dの話なんてこれぽっちもしないんだから、立てるなら名前変えろよ
0470名前は開発中のものです。
02/05/27 11:11ID:???代案出してくれ。
0471名前は開発中のものです。
02/05/27 11:40ID:???出し惜しみしつつ2Dの昔話をフェードアウト組のオヤジが答えます Part5
0472名前は開発中のものです。
02/05/27 11:45ID:???実は、正当後継スレは「DAKINIスレ」という罠
0473名前は開発中のものです。
02/05/27 23:27ID:???0474名前は開発中のものです。
02/05/28 00:15ID:???まぁ需要があるまで沈めておくのも手かと。
0475名前は開発中のものです。
02/05/29 13:13ID:???今更ながらico見たけど、光の表現すごいねー影とか
影は結局どうやってるかわかんないんだよね?
(まぁステンシルでしょってな感じだったような…)
同じ物作れるだろうか…鬱
Doom3の画面も見て鬱になりました
0476名前は開発中のものです。
02/05/29 23:17ID:???どうやって管理してます?
今まで何にも考えてなくてDWORDでやってたんですけど
49日でオーバーフローなりますよね
コンシューマーなんか組んでる人はその辺シビアですよね?
MSのサンプルみたら64bitで管理してるみたいだけど
0477名前は開発中のものです。
02/05/29 23:31ID:???49日も連続安定動作することはないので気にしない。
0478名前は開発中のものです。
02/05/29 23:35ID:???ワラタ
ターゲットがMEオンリーならWORDでも十分そうだな(笑
0479名前は開発中のものです。
02/05/30 01:02ID:???あんたは65秒で十分なのか
0480名前は開発中のものです。
02/05/30 01:16ID:???まさか、50日前のリプレイとかはしないだろう?時間が一意である必要もないと思うけど?
0481名前は開発中のものです。
02/05/30 01:34ID:???MEに対する皮肉だろ
0482名前は開発中のものです。
02/05/30 02:33ID:???480の言う通り、何の問題もないよ。
この辺は8bit機なんかのショボい環境で育った人の方が感覚的に理解してそう。
0483名前は開発中のものです。
02/05/30 07:31ID:mxaa.oIEポリゴン内の任意点の法線を頂点法線から補間したいのですが
計算式教えてください
s,tパラメータ二つとって・・・というのはラスタライザ向けの方法だと思うので
もっと単純な方法をplease。
0484名前は開発中のものです。
02/05/30 07:51ID:???任意点と各頂点との距離を求めて、その比率で法線をブレンドすれば?
0485名前は開発中のものです。
02/05/30 11:34ID:???法線の補間はグーローシェーディングじゃなくて、フォンシェーディングだよ。
グーローシェーディングは頂点だけで明るさを計算して、内部は色を補間。
スペキュラ無しだとあまり差は無いよ。
0486名前は開発中のものです。
02/05/31 01:12ID:???0487名前は開発中のものです。
02/05/31 21:32ID:???N-Patch曲面使えば?
ttp://www2.odn.ne.jp/aaj64220/NewFiles/NPatch.html
0488名前は開発中のものです。
02/06/01 20:02ID:???ウェイトだけだと関節曲がる内側がへこみ過ぎたりしますよね?
データー側の調整で逃げるの?
手首とか、足の付け根とか自由度高いとこ辛いっす。おしえてん
0489名前は開発中のものです。
02/06/02 01:35ID:???スキニングの効果自体はオーサリングツールでアーティストが確認できる物
だから、プログラマ的に改善できることといえば、1頂点が影響を受けること
の出来る行列を必要に応じて増やせるようにしてやるとか、ウェイトマップや
その付け方を改善するツールを提供するくらいしか出来ないんじゃないかな。
> ウェイトだけだと関節曲がる内側がへこみ過ぎたりしますよね?
ちなみにウェイトの付け方どうやってます?自前でウェイト付けるなら、
このあたりが参考になるかも。
http://developer.nvidia.com/view.asp?IO=GL_EXT_vertex_demo
あとは、頂点の置き方とか、ウェイトの置き方とかは、既存のスキニング
アルゴリズムを使う限りはアーティストが工夫する領域かも。
http://www.3dcg.ne.jp/~kaizoku/lowpoly/tips/arm_tips/arm_tips.html
0490名前は開発中のものです。
02/06/02 04:03ID:QB5VRIGgMikoto(MotionEditor)なんかみてると、またちょっと違った変形やってますよね(潰れない)
リアルタイム向けじゃないかもしれないけど、割と自動風なのでいいかも
0491名前は開発中のものです。
02/06/02 04:20ID:???はできないんですかね?Mikotoはどーやって処理してるんだろ。
0492名前は開発中のものです。
02/06/02 04:53ID:???ガンダムとZガンダムの間接の違いを思い出した。
0493名前は開発中のものです。
02/06/02 05:08ID:QB5VRIGgVShaderで実装できる?
0494名前は開発中のものです。
02/06/02 07:33ID:???Intelの論文とか読んでみたら?
http://www.intel.com/labs/media/3dsoftware/doc.htm#skeletal
あと、ゲームだと関節の内側は頂点を共有させないでめり込ませる方法なんか
がよく使われる。
0495名前は開発中のものです。
02/06/02 12:04ID:???でも、どーやってんだ?誰か教えて
(しょうがないのでプリントアウトして読むかの〜
0496名前は開発中のものです。
02/06/02 12:21ID:???普通にツール(3ds MAXとかMayaとか)の吐きだすウェイト値を使っても
そんなにつぶれないと思うけどなぁ?ウェイト値の計算はどういう方法
でやってる?
0497名前は開発中のものです。
02/06/02 13:06ID:???出来るしサンプルとかもNVIDIAがだしているけど、頂点あたりの計算コスト
とか予想外の動きをしたときのパラメーターなどによる修正が通常のスキニング
ほど単純にはいかなさそうなのであまりオススメできない感じ。
0498名前は開発中のものです。
02/06/02 17:26ID:???ウエイトの計算式って普通にブレンドする以外に何かあります?
自分は日曜プログラマなのでDX8.0SDKのスキニングメシュサンプル
をそのまま使っているだけです。でも、MAX側と全然挙動が違うんです
よねぇ。
0499名前は開発中のものです。
02/06/02 18:43ID:???割り付けられたウェイト値を使う分には何もかわらないと思う。
聞いているのはウェイトの値の割り付け方。(もし自分でデータを
用意しているならば)
>>489で紹介した
http://developer.nvidia.com/view.asp?IO=GL_EXT_vertex_demo
のウェイト値割付部分の関数(WeightFunction())を色々弄って試して
みるとウェイト値の割り付け自体はあまりなだらかにしない方が凹みが
目立たない事が判ってくると思う。(それを手動で経験則的にデフォルメ
していくと>>494のいうようになっていくのかも)
もし同じデータでオーサリングツールと実際のプログラム上で曲がり
方に違いが出るのなら、それは十中八九プログラムの誤りだと思う。
0500名前は開発中のものです。
02/06/02 20:02ID:???tiny.xってツールで読め無いしなー
maxで入力プラグインって書くの簡単?(ってソレ以前にmax理解してないからなぁ〜
0501名前は開発中のものです。
02/06/02 20:03ID:???max持ってるのに使ってないのか?
もったいない
0502名前は開発中のものです。
02/06/02 20:11ID:???正直レンダリング機能なぞいらん(あたらしいFlash3D用のMaxがgame製作に使えると泣くよ
0503名前は開発中のものです。
02/06/02 20:20ID:???MAX持ってれば自由にX File出力できるはずだけど…。(とりあえずDXSDK
に出来の悪いプラグインがあるはず)
ウェイト付きのデータ、X File形式でよければ指定のアプロダに上げるから
どういう条件のデータが欲しいか言ってくれ。
0504名前は開発中のものです。
02/06/02 21:37ID:???レス、サンクスです。
どうもDXSDKのプラグインのスキニング出力に問題があるみたいですねぇ。
でもコードを追う限りMAX側から取得した値をそのまま吐き出しているだけ
だし、何が問題あるのかわかんないです。
正直、この辺にはあんまり時間をかけたくないのでサクっとそれっぽく
曲がればいいんですけど。なかなかそうもいかないみたいですね。
0505名前は開発中のものです。
02/06/03 09:46ID:???直角三角形ABCのA、B、Cがどの頂点にに該当するか判定するコードって簡単に書く方法ない?
0506名前は開発中のものです。
02/06/03 09:47ID:???なんかもっと簡単にかけそうな気分
0507名前は開発中のものです。
02/06/03 10:24ID:???0508名前は開発中のものです。
02/06/03 11:39ID:???0509名前は開発中のものです。
02/06/03 13:14ID:???意味が分かってるのは本人だけだから安心して。
0510名前は開発中のものです。
02/06/03 13:53ID:???ぼきの好きな女の子のお人形が3体あります。
それぞれに「みちこ」「さだこ」「なおみ」って名前をつけたいのですが、
どれがどれにふさわしいかを判定するコードを教えてください。
って事だよヽ(゚∀。)ノ イヤ マジデ
0511名前は開発中のものです。
02/06/03 13:53ID:???0512名前は開発中のものです。
02/06/03 14:34ID:???女の子の名前が微妙にダサいのにわらた
0513名前は開発中のものです。
02/06/03 15:13ID:???直角三角形を想像して欲しいんですが(実際は>>507の通り、直角でないケースのあるんですが、とりあえず)
斜めの辺Aと直角に交わる、2辺(長い方をB,短い方をC) とありますよね
ABが共有する頂点a、BCが共有する頂点b、CAが共有する頂点c
で、与えられた3頂点(d,e,f)があったとして、それが,a,b,cのどの頂点に
該当するかを調べたいんです。
例えばde間の距離を求めた時、最長になるなら、deは、辺A(=三角形の最長の辺)を構成する2頂点な訳です
(これだけでは、左右逆のパターンがあるので、defと、abcの関係を特定できませんが)
あぁ、なんだかわからんかも
0514名前は開発中のものです。
02/06/03 15:56ID:???0515名前は開発中のものです。
02/06/03 18:00ID:???0516510
02/06/03 18:59ID:???斜辺、底辺、垂辺を求めたいだけなら514さんの言う通り。
左右(何に対する?)を調べたければ、先に求めた3頂点の
順番を考慮しつつ、三角形がなす面の法線を求めて判別しなされ。
0517名前は開発中のものです。
02/06/03 23:10ID:oQ.GuJUgもう終わっちゃった?情報おながいします
0518◆CKmHzWpc
02/06/03 23:45ID:.C1RTK0Eロボットみたいにパーツに分割されたメッシュをアニメーションさせるゲームを作りました。
でも人体とかにすると関節が気になるので、ボーンを実装したいと思います!
ボーンなんてサッパリやった事が無いので、右も左も分りません。どんな方法があるんでしょうか!
HT&Lを使わないなら、自分で頂点を動かすとかアリなんですかね!
0519名前は開発中のものです。
02/06/04 00:01ID:???0520名前は開発中のものです。
02/06/04 00:24ID:???>>518
サンプルを目が腐るまで読むべし。以上。
■ このスレッドは過去ログ倉庫に格納されています