p5jsで線の図形をグローっぽくぼんやり光らせつつ、カッコ良く回転させてみよう!
投稿日:2020-01-05
ナカジ(@cp_nakajun)です。
p5jsでなにかやってみたくて
光るCPを回したらわりとキレイでした。 #p5js #processing pic.twitter.com/NP0EQLWc4C
— ナカジ (@cp_nakajun) December 15, 2019
当ブログのロゴ表示と「CP」をグローっぽく光らせて回してみました。
やってることは単純ですが、リファレンスにさせて頂いたコードと共に「比較」してもらうことで何かの参考になれば…
と思い書き残しておこうと思います。
p5jsでやってみよう
今回、以下の記事を参考にさせて頂いてます。
もともと「1」の回すをやってみたかったのがスタートです。
でなにかモチーフがないか考えた結果、ロゴを元に「C」と「P」にしました。
概要としては
- CPを「1」のように回転させる
- グローエフェクトのようにぼんやり光らせる
ということをやってます。
回転とグローエフェクト
以下のコードが回転とグローエフェクト部分になります。
function drawLogoRotate() { blendMode(BLEND); background(0, 0, 0, 100); noFill(); blendMode(SCREEN); for (var i = 1; i < 8; ++i) { strokeWeight(i * 2); stroke(45, 164 - (i * 14), 168, 100 - (i * 5)); for (var x = 0; x <= 1000; x = x + 500) { rotate(frameCount * 0.005); drawLogo(); // ロゴ描画関数読み込み } } }
- blendMode(BLEND)で背景とのブレンド
- blendMode(SCREEN)で描画線をスクリーン合成に
- for (var i = 1; i < 8; ++i)とstrokeWeight(i * 2)で太さを変えながら描画
- for (var x = 0; x <= 1000; x = x + 500) でX座標をずらして描画
というようなイメージです。
コードの全容を貼り付けようかと思っていたのですが、無駄に長いだけな気がしたので割愛します。