2008年9月17日水曜日

blender - ついにコードに手を出す

既存のコードをいじるのは、最低限のこと以外、出来る限り避けていたのですが、

ObjectモードでCtrl-Aしたときに、ShapeKey付きのオブジェクトには、Can't apply to a mesh with vertex keys, doing nothing.とか出てきて、Apply Scale/Rotation to ObDataできないのです!

しかもこれが原因で、ShapeKey付きのオブジェクトをコピって反転させたものを、コンバートしようとすると、うまく行かないのです。法線が。いや、がんばれば何とかなるんでしょうが、俺は昨日からShapeKey絡みの厄介なバグ2つ潰したので、もうゴールしてもいいよね・・・・


~~ログ~~
svn追っかけてないので大まかに…。


//BL_srcの中のeditobject.cの3926行目付近

float *fp;
KeyBlock *block;

//if(me->key) {
// error("Can't apply to a mesh with vertex keys, doing nothing.");
// return;
//}

// 3988行目くらいに追加
if(me->key) {
for (block = (KeyBlock*)me->key->block.first; block; block = block->next) {
fp = (float*)block->data;
for(a = 0; a < block->totelem; a++, fp+= 3) {
Mat3MulVecfl(mat, fp);
}
}
}

以上。無事成功。アンドゥするとどうなるかは知らない。ビルドしたものは右のBDxViewerからどうぞ。
需要なさそうだけど・・。

0 件のコメント: