yoppa.org


インタラクティブアート論 2018 – 東京工科大学

第4回: openFrameworksアニメーションの基本

今回は、openFrameworksで図形を動かす「アニメーション」について、その基本を学んでいきます。まず始めに、位置と速度をベクトル(glm::vec2)で定義して、ベクトルの演算によって動きを生みだす方法について解説します。次に、そのベクトルを配列(Array)で表現することで、複数の物体を同時に動かしてみます。

物体の上限の数がプログラムを起動する段階で決まっていない場合もあります。そのような際には、配列の要素の数を動的に変更可能な可変長配列(std::vector)を使用すると便利です。可変長配列を使用してアニメーションする物体の上限数を可変にする方法を実際のサンプルを通して紹介していきます。

最後に簡単なインタラクションを実装してみます。マウスで画面上をクリックすると、クリックした場所から次々と物体が生成されアニメーションさせます。

スライド資料

サンプルコード

Example 1. アニメーションの基本

Example 2. 物体の数を増やしてみる – 配列とくりかえし

Example 3. 数の上限がわからない時には? – 可変長配列vectorを使う

Example 4. 一定の数に制限する

Example 5. マウスをドラッグした位置から物体を生成