トップページ > 過去ログ > 記事閲覧
モデル情報のコピーについて
名前:ななし 日時: 2011/08/07 19:21

pmdモデルを利用しています。 モデルハンドルAの情報をモデルハンドルBへコピーしたいと考えているのですが (以下ソース抜粋) // 座標 MV1SetPosition(modelB, MV1GetPosition(modelA); // 回転 MV1SetRotationXYZ(modelB, MV1GetRotationXYZ(modelA)); // スケール MV1SetScale(modelB, MV1GetScale(modelA)); // フレーム int FrameNum = MV1GetFrameNum(modelA); for( int j=0; j<FrameNum; j++) { MATRIX mat = MV1GetFrameLocalMatrix(modelA, j); MV1SetFrameUserLocalMatrix( modelB, j, mat); } (以上) こうやって少しずつ写していく以外に方法は無いのでしょうか?

Page: 1 |

Re: モデル情報のコピーについて ( No.1 )
名前:yasi 日時:2011/08/14 02:25

遅レスで既に解決されてるかもしれませんが一応・・・。 どのレベルの情報をコピーしたいかにもよるかもしれません。 例えばアニメーション(モーション)だけでしたら一定の条件を満たしたモデル同士であれば、 MV1AttachAnimでモデルBにモデルAのアニメーションをアタッチする事で、 MV1SetAttachAnimTimeで同じ時間を設定してあげれば同時に同じアニメをする事が可能です。 (詳しくはリファレンスのMV1AttachAnimをご覧ください) しかし、モデルAに対し座標やフレーム等をプログラム上で直接何らかの設定や制御を行っている場合は、 モデルBに対しても同じ設定をする、もしくはプログラム設計上直接は無理なのであれば、 ななしさんが書かれたコードのように1つずつコピーするしか方法は無いのではないかと思います。 単純にプログラムを簡略化したいというお話であれば、 コピーする、もしくは共有するデータを1つに纏めた構造体やデータクラスを作成すると良いかもしれません。

Page: 1 |