Skip to content

Commit 453674f

Browse files
committed
bug fix: set frame number in interpolation
1 parent b6831d6 commit 453674f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

reducevmd.cc

+4-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ void optimize_bezier_parameter(VMD_Frame& head_frame, const vector<VMD_Frame>& v
1717
// head_frameとtail_frameを元に、補間でframe_num番目のボーンフレームを作る
1818
VMD_Frame interpolate_frame(const VMD_Frame& head_frame, const VMD_Frame& tail_frame, int frame_num, bool bezier)
1919
{
20-
VMD_Frame f;
20+
VMD_Frame f = head_frame;
21+
f.number = frame_num;
2122
if (bezier) {
2223
// ベジェ曲線補間
2324

@@ -36,7 +37,8 @@ VMD_Frame interpolate_frame(const VMD_Frame& head_frame, const VMD_Frame& tail_f
3637
// head_frameとtail_frameを元に、補間でframe_num番目の表情フレームを作る
3738
VMD_Morph interpolate_morph(const VMD_Morph& head_frame, const VMD_Morph& tail_frame, int frame_num)
3839
{
39-
VMD_Morph m;
40+
VMD_Morph m = head_frame;
41+
m.frame = frame_num;
4042
int total = tail_frame.frame - head_frame.frame;
4143
float ratio = float(frame_num - head_frame.frame) / total;
4244
m.weight = head_frame.weight + (tail_frame.weight - head_frame.weight) * ratio;

0 commit comments

Comments
 (0)