次に、Balloon が膨張するスピードを遅くして、アニメーションをさらに洗練されたものにします。
エクスプレッションを編集して Balloon をもっとゆっくりしたスピードでスケールするには
if (time < 2)
{
Balloon.translateY = 0;
Balloon.scaleY = time * 0.6;
}
else
Balloon.translateY = time - 2;
スケール Y(scaleY)アトリビュートは time の 60% の割合で増加するので、再生時、Balloon はゆっくりと膨らんでいきます(0.6 という値は 60% を表します)。上昇し始めるまでに、Balloon は普通の風船の大きさまで膨らんでいます。
time に掛ける値として 0.6 が適切かどうかは、いろいろな値で実験してみる必要があります。
たとえば、0.2、0.5、0.75、そして最後に 0.6 といったさまざまなパーセンテージを掛けてみてください。0.6 を使用すると、2 秒で本物の風船のようなシェイプが作成されます。
開始時間に移動したときに原点に表示されるしぼんだ Balloon を除去することにより、Balloon の外観をさらに洗練したものにすることができます。また、3 つの軸それぞれについて、異なるレートで Balloon をスケールすることもできます。
エクスプレッションを編集して Balloon の初期スケールを変更するには
if (time < 2)
{
Balloon.translateY = 0;
Balloon.scaleY = time * 0.6;
Balloon.scaleX = time * 0.5;
Balloon.scaleZ = time * 0.5;
}
else
Balloon.translateY = time - 2;
フレーム 0 では、Balloon のスケール アトリビュートは 0 なので、Balloon はビューから消えます。
フレーム 0 では time が 0 なので、スケール X(scale X)、スケール Y(scale Y)、スケール Z(scale Z)の各アトリビュートは 0 になります。どんな値でも 0 を掛ければ結果は 0 です。
time が増加するにつれて、Balloon のスケール アトリビュートも増加します。
エクスプレッションにより、スケール X とスケール Z は time の値の 50% に設定されるので、time の値の 60% に設定されたスケール Y よりこれらの方向にはゆっくりとスケールされます。Balloon は幅やデプスよりも、高さがより早く大きくなっていきます。これは、実際の風船と同じです。