見出し画像

Blender シェーダーノードでカウンター

当noteは、拙著『Blender 4 制作テクニック大全』

に書ききれなかったネタを書き連ねていきます。


使用バージョン4.3.2

もたもたしていたらジオメトリノードで同様のことが出来るようになってしまったので本には載せませんでした。ただ、複雑な形状に貼り付けるような目的であればまだこちらに優位性があります。

まずはテキストオブジェクトを使用してこのようなものを作ります。

上級者ならばこの時点で全てを把握しそう

文字は等間隔である必要があるため、プロポーショナルフォントではなく等幅フォントを使用してください。縦横とも10文字配置しています。

それをレンダリングした画像を読み込んだ[画像テクスチャ]のベクトルを、まず積和算で0.1倍し、入力した値を[切り捨て]た数値を0.1倍でXに加算します。

要するにベクトル操作を数値表示に対応させてしまうという発想です。
ただしこれだけでは一桁にしか対応できません。

そこで前々回触れた反復処理を利用します。これは本のP272で扱ったインデックス表示の桁処理と同じ発想です。

これがループに使用する単位グループノードの中身です。
Xが画像を、Yが入力する数値を、Zが桁数を扱います。左下あたりで桁数の計算を、右上あたりは一文字分の範囲でマスクをかけ1ループ前とスクリーン合成を行っています。リンクが見づらいですが入口のYがそのまま出口のYに繋がっています。

そのグループノードを重ねた数だけ桁数が増えるカウンターの完成です。

Yの値に数値を入力します。最後は[XYZ分離]でXのみ取り出します。


おまけ。

せっかくアルファベットも書き入れたのだからそれを使う方法を。
入力数値に0.1掛けて[切り捨て]た数でY移動する仕掛けも加えるだけです。
ランダムに切り替わるたくさんの文字が飛び交う演出みたいなのには使えそう?

いいなと思ったら応援しよう!