Path: chuka.playstation.co.uk!news1.scei.co.jp!usenet From: Tomonori Morita Newsgroups: playstation.ny.program.questions Subject: [Q]The use of MIMe. Date: Tue, 05 May 1998 20:51:53 +0900 Organization: Unlimited Co. Ltd. Lines: 40 Message-ID: <354EFD59.7EA0@unlimited.co.jp> Reply-To: morita@unlimited.co.jp NNTP-Posting-Host: 203.183.165.215 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01 (Win95; I) 森田ともうします。 多重内挿入法(以下 MIMe)を初めて聞きました。MIMeについて質問させてくだ さい。 MIMeの関数は、gteMIMefunc( SVECTOR *otp, SVECTOR *dfp, long n, long p ) となっています。ようは、頂点差分データ(dfp)に p を掛けたものを入出力頂 点データ(otp)に足すということなのですか? もし上の質問があっているなら、さらに奥まった質問をさせてください。間違っ ていれば下記の質問は、却下致します。本当の機能を教えていただければと思い ます。 dinoのプログラムや松本実さんのkdfのサンプルを見て思ったのですが、頂点計 算をするたびに元のデータにコピーをしている(と思う)のですが、一番最初だ け別のメモリにコピーして、後は差分データを足していくというのは、駄目なの でしょうか。 たとえば、AとBのモデリングデータがあります。もちろん二つの頂点およびポリ ゴン数は同じです。このとき、AからBへフレーム数Fで変化させたいとします。 1)BからAの頂点を引いた値をFで割りこれを頂点差分データ(D)とします。 あらかじめ用意し置く。 2)実際の実行時にはA、Bと異なる新たなメモリCをとります。 3)最初にC=Aとします。もちろんいつもCを表示します。 4)C+=Dをフレーム数(F)だけ繰り返します。(gteMIMefuncを利用する。こ のときp=1.0) 5)C=Bをします。 これでAからBへのモーフィングが完了となります。でもこの場合、サンプルより かBやCの分だけメモリを食います。誤差を気にしないとすると、BはAにDをF回足 したものだとしてしまえば5)を省け、Bも要りません。場合によっては、Bのよ うなものも要るとは思います。(歩くなどのサイクルモーションの場合など) とんちんかんなことを言っていたら、済みません。正しいものをお教え下さい。 どなたか宜しくお願いいたします。 #dinoを見たときはビビリ、感動しました。 -- T. Morita Unlimited Co., Ltd. Tel/Fax:+81-3-3865-3006