Path: chuka.playstation.co.uk!news1.scei.co.jp!usenet From: krd Newsgroups: playstation.ny.program.beginner Subject: Re: target lock =?iso-2022-jp?B?b24bJEIkSyREJCQkRhsoSg==?= Date: Tue, 19 Aug 1997 01:37:22 +0900 Organization: PlayStation Net Yarouze Lines: 27 Message-ID: <33F87A42.4189@niftyserve.or.jp> References: <01bcaa70$012cbee0$4c80d2ca@Libretto20.ppp.bekkoame.or.jp> NNTP-Posting-Host: 203.139.230.16 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01 [ja] (Win95; I) こんにちは、krdです。 > GsGetLs(obj_ptr->coord2,&tmpls); > とかで計算した行列のtmpls.t[0],tmpls.t[1]を参照すればいい > のかなと思ったら、ぜんぜんスクリーン座標になっていません 私は、丁度3Dオブジェクトに2D爆発パターンをかぶせようとして、 同じ様なことをしようとしています。 tmplsは、ローカルスクリーンの透視変換マトリクスですから、 画面上の座標に変換するには、もう1ステップ必要です。 考え方は黄色本 p.59の式5を見て頂くとして、具体的には x = (tmpls.t[0]*h)/tmpls.t[2]; y = (tmpls.t[1]*h)/tmpls.t[2]; (hは、GsSetProjectionで設定される視点からスクリーンまでの距離) というのではどうでしょうか。 今一つ自信がないので、もっと上手い方法をご存知の方がいましたら、 サポートをお願いします。 -- krd (Yousuke Kuroda) CQD00245@niftyserve.or.jp