レッスンへ移動
ae↗独立系
デザインスタジオ
← レッスン一覧へ

ピクセル・模様・動き / 実験 05

ひとつのバッジ。
小さな揺れ。

角をつかんで、引いてみる。
少しの制約で、
小さな物が生きてくる。

持ち上げる ↓読了約9分 · 物理の実験

少しの重さ、少しの個性。

引っ張って、つながりを見よう。
黒いストラップから吊るした透明ホルダーのCurious Makerバッジ
小さな物 / 動く骨組み0°
どこでもつかむ · 離すと揺れる · 矢印キーで引く
04 / つかみ、離し、落ち着かせる

どこでもつかんで引き、離します。重力と減衰が戻します。

つかみ位置 + 慣性 + 減衰 → 個性

考え方 / 動きに結果がある物

小さく引く。
全体が、 反応する。

バッジが動き、ストラップが曲がり、クリップがつながり、影が追うと物らしく感じます。離したあとも手の動きを少し覚えています。

表面を磨く前にこの関係をつくります。平面の粒子モデルとCanvasを使う実験です。準備なしで操作でき、編集にはJavaScriptの基礎が役立ちます。

01 / 関係をつくる

点は動く。距離は保つ。

現在と前の位置の差が速度になります。重力で下げ、距離制約でつながる点を決めた間隔へ戻します。上の支点は可動性ゼロで固定します。

固定した支点柔らかな鎖硬い三角形

短いつなぎは曲がり、3辺の固定距離がバッジの形を保ちます。

誤差 = 現在の距離 − 基準の距離
補正 = 誤差 × 方向

可動性に応じて補正を分けます。一組の補正が別の組をずらすため何度も解き直します。各ステップ22回の近似計算で、伸びを小さく保ちます。

試してみよう: 「骨組み」で遅く、速くドラッグします。動く点と保たれる関係を見て、長さで鎖の基準距離を変えましょう。

02 / 柔らかな部分を描く

鎖をリボンにする。

2本の鎖がひとつの取り付け点で合流します。各点を通る滑らかな曲線を黒いリボンにし、中央の光と細かな質感を加えます。描画が物理に従います。

リボンの道 = 鎖の点を通る滑らかな曲線

紙のバッジは3点で拘束します。三角形の辺が固定されるため、長方形を描く向きが得られます。クリップはロープの合流点とホルダーの上端の間に置きます。

試してみよう: 「ストラップ」で骨組みを表示して粒子とリボンを比べます。バッジの違う場所をつかんで向きを観察しましょう。

03 / つかんだ場所を保つ

角を引く感触を変える。

常に中央をポインターへ合わせると飛び跳ねます。最初につかんだ点を局所座標へ変え、3点の重み付きの組み合わせで表します。その点をポインターへ動かし、距離制約を解き直します。

同じつかみ位置、新しい場所と角度。
つかみ位置 = a × 上 + b × 左 + c × 右
a + b + c = 1

重みが手と物の接点を保ち、角を引けば自然に回ります。ポインターキャプチャで範囲外でもつながり、バッジの外ではタッチでページをスクロールできます。

試してみよう: 中央と上の角を引いて比べます。動かしながら離す場合と止めてから離す場合の違いを見ましょう。

04 / 小さな記憶

重力で引き、減衰で落ち着かせる。

2つの位置の差を速度とし、大部分を残して重力を加え、制約を解きます。離すと直前の動きを続け、毎ステップ少しずつ速度を減らして静止します。

次の位置 = 現在位置 + 残した速度 + 重力 × Δt²
保持率 = (1 − 減衰)^(60 × Δt)

描画頻度に関係なく毎秒120の固定ステップで進み、余った時間を次へ持ち越します。長い時間差を制限し、非表示や画面外では更新を止めて計算を安定させます。

時間 →エネルギーを減らし、動きを残す

試してみよう: 減衰を増やして軽く押し、減らして繰り返します。重力ゼロで浮かせ、戻して重さが中心を与える様子を見ましょう。

05 / 物を仕上げる

紙、プラスチック、金属を分ける。

紙に名前を置き、透明ケースには二重の縁、淡い塗り、小さな穴、柔らかな反射を加えます。クリップには金属のグラデーションを使い、黒いストラップと区別します。

物 = 紙 + 透明ケース + クリップ
シーン = 物 + 柔らかな影

輪郭が読めるよう素材を控えめにします。影をずらしてぼかし、背景からの距離を感じさせます。2D描画に粒子モデルが動きと回転を与えます。

試してみよう: 「バッジ」と「カード」で名前2行と文字色を変え、光沢0%と100%を比べます。「シーン」で影を加えます。

06 / 操作を使えるままに

停止も役立つ状態に。

停止中もドラッグで配置し、矢印で引けます。Spaceで軽く押し、Homeでリセット。動きを減らす設定では停止から始まります。

画面保存は現在の段階、名前、素材、姿勢、骨組み表示を1600 × 1200の画像にします。背景を含むシーン全体の静止画です。

試してみよう: 停止して構図を整え、保存します。再開して同じ形が操作へ変わる様子を見ましょう。

実践 / ひとつの物、ふたつの個性

遊び心を。
そして、 静けさを。

長いストラップと低い減衰で角を引き、動かしながら離して大きく揺らします。次に短くし、減衰を増やして小さく引きます。

カードは同じまま、個性のどれだけが動きから来るか考えます。それぞれ保存し、見た目と操作を比べましょう。

バッジに戻る ↑
自分でつくる:動くサンプル +

小さな粒子の計算とCanvas 2Dを使います。同じ姿勢でアクセシブルなボタンも配置し、ポインターとキーボードの操作を見た目に合わせます。

// A fixed step, with previous position carrying velocity.
const retention = (1 - damping) ** (60 * dt);
const velocity = (position - previous) * retention;
previous = position;
position += velocity + gravity * dt * dt;
// Move connected points back to their rest distances.
solveDistanceConstraints();
// Draw ribbons, then the rigid badge at its solved pose.

単独HTMLを開き、内蔵のモデルと描画コードを編集します。スタイル、画像、JavaScriptを含み、サーバーやインストールは不要です。

動くサンプルをダウンロード ↓

個別のソース: 粒子と制約のモデル · 描画と操作.