山里ぽん太

Crayon Draw

21 April 2019

山里ぽん太はクレヨンでお絵描きをしました。


Chapter 1 絵を描く
というわけで、Houdini で絵を描こうと思いました。
既に昨年から、デザインのときには、ほとんど Houdini を使っています。
Adobe Illustrator は、ほとんど使わなくなりました。
何と言っても、Houdini は数学で描けるメリットが大です。
でも、天神様の掛け軸を片付ける今日になって、手描きの絵を描いてみようと思いました。
画材はもちろん Houdini です。
Houdini を使って、どうやって手描きの絵を描くのでしょうか?。
大丈夫です!。
Houdini は魔術師です!。
不可能はありません!(おおー)。
Chapter 2 クレヨンで描く
Houdini には、マウスやペンタブレットを使って、フリーハンドで描く機能が用意されています。
なので、絵を描くことはすぐにできます。
でも、ここはいっちょう、クレヨンで描いてみましょう。
というわけで、描いてみました。
ぽん太画伯の名画です(笑)。

シェルフツールの「Draw Curve」を使ってマウスで描いたものを、scatter で point の集合にして、point の座標を VEX で散乱させているだけです。
ジオメトリネットワークと VEXpression はこんなことになっています。


Chapter 3 動画にするには
というわけで、Houdini で描くのだから、アニメーションにしてみましょう。
ドローイングのアニメーションです。
どうやったらできるでしょう?。
ぽん太画伯の名画は、point の集合になっていますから、point を順番に表示させてゆけばできます。
問題は、その順番です(笑)。
描いてゆくアニメーションにするためには、描いた順に表示させてゆかなければいけません。
たとえば、左から右に引いた線は、x 座標の小さいほうから大きい方へと順に表示させてゆけばできます!。
左から右みたいな感じだと、x 座標の値で sort すればできます。
でも、ぽん太画伯の名画は、そんな単純ではなく複雑です(笑)。
描いた順番を記憶しておかなければできない感じです。
ということで、諦めます(笑)。
Chapter 4 描いた順番を記憶する
描いた順番を記憶するのにはどうすればよいでしょうか?。
それはアレです!(何)。
簡単です(凄)。
描いた順番を記憶すればよいのです!(をいっ)。
「Draw Curve」して「scatter」すると、描いた順番は飛んでしまいます。
なので、描く順番のとおりに描けばいいんです(謎)。
それはアレです!(何)。
40年前を思い出します(古)。
みんな知ってる(知らん)BASIC Master で、直線を引くプログラムを書きました。
始点と終点の間を少しずつ移動しながら、ドットを埋めてゆく、というアレです。
それを Houdini でやればよいのです。
最初から point を置くだけなので、簡単です。
描いた順番をアトリビュートに書いておけばオッケーです。
VEX でちょちょいのちょい、と書いたものがこれです。
直線を引くだけです。
この VEXpresson は、@ptnum が描いた順番になります。

Chapter 5 レンダリングする
というわけで、レンダリングして動画にしてみました。
ここでは単純なものです。

Chapter 6 メモ
① 今回作ったものは直線を引くだけのコードですが、プログラムで描いていますので、いろんな曲線を描くことができます。

② 直線を引くプログラムですが、直線を引くのではなくて、point を追加してゆくプログラムですので、追加されたポイントを、いろんな方法で移動させて表現することができます。

③ ぽん太画伯の名画くらいのものは簡単に描けますが、それなりのものを描こうと思うと、いろいろ考えないといけないですね。