Houdini回。
フレームとフレームの間の値が欲しい時があります。
上の絵でいうと、1.57613…の小数点以下の部分、0.57613…ですね。
この値があると、今、フレームとフレームの間のどのあたりかを知ることができます。
この例だと、0.57613…なので、フレーム間のちょうど半分よりすこし次のフレーム寄りだということが分かります。
フレーム間を補間するときに便利だったりします。
この値をVOPで求めます。
ネットワークはfloor(VOP)を使ってこう。
floor(VOP)は入力されたFloat値に対して、小数点以下を切り捨てて整数値を返してくれます。
エクセルとかにもfloor関数ありますね。あれと一緒です。
表で例示してみると、こんな感じ。
A | floor(A) | |
7.9634 | → | 7 |
105.1257 | → | 105 |
-5.9123 | → | -5 |
floor(VOP)で得られた整数値を、現在のフレームから引くと、欲しかった小数点以下を得ることができます、と。こんな具合に。
A | A – floor(A) | |
7.9634 | → | 0.9634 |
105.1257 | → | 0.1257 |
-5.9123 | → | 0.9123 |
私は、ずっとこうやってフレームの小数点以下の値を求めてたんですが、最近、Fraction(VOP)というのがあることを知りました。
上記の小数点以下を求めることができるノードです。
ネットワークは繋ぐだけでOK。
便利ネ。
VEXで書くとこうネ。
#floor f@subframe_A = @Frame - floor(@Frame); #fraction f@subframe_B = frac(@Frame);
以上!
コメント