2018/02/01(木) [n年前の日記]
#1 [gimp] SFだかメカだかそれっぽいテクスチャを生成するGIMPスクリプトを修正
以前、メカの壁面っぽいテクスチャ(Sci-Fi, Hard surface)を生成する GIMP のScript-fu を書いたのだけど。
_mieki256's diary - GIMPでメカっぽいテクスチャ画像を生成するスクリプトを書いた
_mieki256's diary - メカっぽいテクスチャを作るツールを書いた
GIMP 2.8 上ではブラシ選択部分が正常に動いてなかったので、修正して github にアップロードしてみたり。
_mieki256/sci-fi-texture-generator: Sci-Fi bump mapping texture generator with GIMP Script-fu.
以下のようなテクスチャが作れます。
License は CC0 / Public Domain ってことで。
使い方は、以下。
_mieki256's diary - GIMPでメカっぽいテクスチャ画像を生成するスクリプトを書いた
_mieki256's diary - メカっぽいテクスチャを作るツールを書いた
GIMP 2.8 上ではブラシ選択部分が正常に動いてなかったので、修正して github にアップロードしてみたり。
_mieki256/sci-fi-texture-generator: Sci-Fi bump mapping texture generator with GIMP Script-fu.
以下のようなテクスチャが作れます。
License は CC0 / Public Domain ってことで。
使い方は、以下。
- 3つの *.scm を GIMPユーザフォルダ\scripts\ にコピーしてインストール。
- GIMPを起動。
- 新規画像を作成。1024x1024 ぐらいが妥当。
- Scrip-Fu → Utils → Sci-Fi texture。白黒のバンプマッピング用画像が得られる。
- Scrip-Fu → Utils → Sci-Fi texture makeup。エンボスフィルタ等で立体感をつけた画像が得られる。
◎ アルゴリズム。 :
やってる処理は簡単で…。矩形を横方向、または縦方向でいくつか分割して、更に分割してできた各矩形に対しても分割を繰り返して。つまり、プログラム的には再帰を使って処理をして。
指定した深さで分割が終わったら、出来上がった小さい矩形群を、以下のどれかのパターンで描画するだけ。
後は、矩形の四隅にリベット相当を描画したりする程度。
各矩形を描画する際のパターン種類を増やしていけば、もうちょっと複雑な見た目のテクスチャも作れそうな予感。
まあ、それらしいブラシをいくつか作成しておいて、最後にスタンプ感覚で好きなように描き加えていったり、ざっくりと直線や四角をつけ加えて整えれば、もうちょっとそれらしくなるような予感も。
今思いついたけど、レイヤーに1つ小さい矩形でパターンを描いて、そういうレイヤーをたくさん作って、全レイヤーのオフセット値をランダムに変更していけば乱雑な感じのテクスチャが作れたりしないかな。どうかな。
指定した深さで分割が終わったら、出来上がった小さい矩形群を、以下のどれかのパターンで描画するだけ。
後は、矩形の四隅にリベット相当を描画したりする程度。
各矩形を描画する際のパターン種類を増やしていけば、もうちょっと複雑な見た目のテクスチャも作れそうな予感。
まあ、それらしいブラシをいくつか作成しておいて、最後にスタンプ感覚で好きなように描き加えていったり、ざっくりと直線や四角をつけ加えて整えれば、もうちょっとそれらしくなるような予感も。
今思いついたけど、レイヤーに1つ小さい矩形でパターンを描いて、そういうレイヤーをたくさん作って、全レイヤーのオフセット値をランダムに変更していけば乱雑な感じのテクスチャが作れたりしないかな。どうかな。
◎ ブラシ種類について。 :
Script-fu絡みについてメモ。
昔の GIMP は、「Circle (01)」「Circle Fuzzy (05)」等のブラシ種類を選べて、自分が以前書いたスクリプトもそれに従って処理を書いてたのだけど。それらのブラシは、GIMPがブラシサイズを自由に変更できない仕様だった頃のブラシ種類で…。
_廃止された定義ブラシ(Circle系)を GIMP2.8.18 で再現 - 分室の分室
「Circle」が丸いブラシ形状を示していて、「(01)」「(05)」がブラシサイズを示してたわけだけど、サイズが異なるブラシを使いたいときは、一々異なるブラシ種類を用意して対応してた時期があるわけで。
しかし、今の GIMP はブラシサイズを自由に変更できるので、それらのブラシは標準インストール状態で使えなくなっていた模様。当然、Script-fu 内でそれらのブラシ種類を選択しようとしても選択できない。だから、自分が作った前述のスクリプトでは、描画がちょっとおかしくなっていたわけで。
ということで、今回、GIMP 2.8 に標準で入ってる、「2. Hardness 100」「2. Hardness 075」等のブラシを選んでから、サイズも別途指定するように修正してみたり。
ちなみに、昔は Script-fu 内で gimp-brushes-set-brush を使ってブラシを選んでいたけど、「その命令は将来的に削除されるので gimp-context-set-brush を使え」ということになってる模様。
昔の GIMP は、「Circle (01)」「Circle Fuzzy (05)」等のブラシ種類を選べて、自分が以前書いたスクリプトもそれに従って処理を書いてたのだけど。それらのブラシは、GIMPがブラシサイズを自由に変更できない仕様だった頃のブラシ種類で…。
_廃止された定義ブラシ(Circle系)を GIMP2.8.18 で再現 - 分室の分室
「Circle」が丸いブラシ形状を示していて、「(01)」「(05)」がブラシサイズを示してたわけだけど、サイズが異なるブラシを使いたいときは、一々異なるブラシ種類を用意して対応してた時期があるわけで。
しかし、今の GIMP はブラシサイズを自由に変更できるので、それらのブラシは標準インストール状態で使えなくなっていた模様。当然、Script-fu 内でそれらのブラシ種類を選択しようとしても選択できない。だから、自分が作った前述のスクリプトでは、描画がちょっとおかしくなっていたわけで。
; failure (gimp-brushes-set-brush "Circle (13)") (gimp-brushes-set-brush "Circle Fuzzy (11)")
ということで、今回、GIMP 2.8 に標準で入ってる、「2. Hardness 100」「2. Hardness 075」等のブラシを選んでから、サイズも別途指定するように修正してみたり。
; success (gimp-context-set-brush "2. Hardness 100") (gimp-context-set-brush-size 13) (gimp-context-set-brush "2. Hardness 075") (gimp-context-set-brush-size 11)
ちなみに、昔は Script-fu 内で gimp-brushes-set-brush を使ってブラシを選んでいたけど、「その命令は将来的に削除されるので gimp-context-set-brush を使え」ということになってる模様。
◎ 余談。 :
こういうメカっぽいソレを、海外では「hard surface」と呼んでたりするようで。また、SFっぽい何かしらは「Sci-Fi」という単語がつけられてたりするっぽい。
_「hard surface」 や _「sci-fi texture」 でGoogle画像検索すると、ちょっと絶望的な気分に…。やはり人が手を動かしながらカッコよさや気持ちよさを感覚的に追求して作ったそれぞれには全然敵わんなあ、みたいな。
_「hard surface」 や _「sci-fi texture」 でGoogle画像検索すると、ちょっと絶望的な気分に…。やはり人が手を動かしながらカッコよさや気持ちよさを感覚的に追求して作ったそれぞれには全然敵わんなあ、みたいな。
[ ツッコむ ]
以上です。