2014/07/07(月) [n年前の日記]
#1 [cg_tools][dxruby] メカっぽいテクスチャを作るツールを書いた
全ての処理を GIMP の Script-fu で書けないかと試行錯誤していたのだけど、TinyScheme、よく分からんです。作業効率が悪過ぎる。面倒臭くなってきたので、Ruby で書いたスクリプトをそのままアップロードして、一段落しようかなと。
ということで、こういうテクスチャを作るツールを、Windows7 x64上の、Ruby + DXRuby + rcairo で書きました。
_mechatexgen.rb をDLして、ruby mechatexgen.rb で実行できます。
以下に、ocra で exe化した版も置いときます。こちらの版は、Ruby等をインストールしていない環境でも動くはずです。
_mechatexgen_20140707.zip (5MB)
解凍すると mechatexgen.exe が入ってますので、実行していただければと。
さて、このままでは何に使えるのかよく分からないテクスチャですけど。GIMP で少し手を加えると、以下のような見た目になってくれます。
上記のような見た目にする Script-fu も置いときます。
_mecha-tex-make-up.scm
メニューの位置は以下を参考にしてください。
Script-fu を GIMP に追加する方法は、ググってみたら _GIMPにスクリプト(Script-Fu)を追加する方法 が参考になりそうです。GIMP 2.8 の場合は、一般的には C:\Users\ユーザー名\.gimp-2.8\scripts\ 以下に .scm をコピーすればいいんじゃないかと。たぶん。
ということで、こういうテクスチャを作るツールを、Windows7 x64上の、Ruby + DXRuby + rcairo で書きました。
_mechatexgen.rb をDLして、ruby mechatexgen.rb で実行できます。
以下に、ocra で exe化した版も置いときます。こちらの版は、Ruby等をインストールしていない環境でも動くはずです。
_mechatexgen_20140707.zip (5MB)
解凍すると mechatexgen.exe が入ってますので、実行していただければと。
- Rキー、マウス左クリック : テクスチャ再作成。
- Sキー : 画像保存。Sキーを押すたび、out_0.png、out_1.png、と次々に保存されます。
- J,Kキー : テクスチャサイズ変更。
- Mキー : メッセージ表示 ON/OFF。
- ESCキー : 終了。
> mechatexgen.exe --help Usage: mechatexgen [options] -r, --rand VALUE random seed --width VALUE image width [512] --height VALUE image height [512] -o, --output VALUE save filename [out.png] -h, --help Show this message
さて、このままでは何に使えるのかよく分からないテクスチャですけど。GIMP で少し手を加えると、以下のような見た目になってくれます。
上記のような見た目にする Script-fu も置いときます。
_mecha-tex-make-up.scm
- mecha-tex-make-up.scm をDLして、GIMP用の所定のフォルダにコピー。
- GIMP を再起動。(フィルタ → Script-fu → スクリプトを再読み込み、でもOK)
- 前述のツールで作ったテクスチャ画像 (out_0.png 等)を、GIMPで開く。
- メニューの Script-fu → Utils → Mecha tex make up を選ぶ。
メニューの位置は以下を参考にしてください。
Script-fu を GIMP に追加する方法は、ググってみたら _GIMPにスクリプト(Script-Fu)を追加する方法 が参考になりそうです。GIMP 2.8 の場合は、一般的には C:\Users\ユーザー名\.gimp-2.8\scripts\ 以下に .scm をコピーすればいいんじゃないかと。たぶん。
◎ GIMP上でやってること。 :
GIMPでやってるのは、以下のような並びでレイヤーを重ねてるだけです。
- ソリッドノイズフィルタ → 着色。レイヤーは焼き込みモード。不透明度25%。
- ソリッドノイズフィルタ → 着色。レイヤーはスクリーンモード。不透明度25%。
- ソリッドノイズフィルタ → 着色 → HSVノイズ。レイヤーは焼き込みモード。不透明度25%。
- 元画像に輪郭抽出。レイヤーは乗算モード。
- 元画像にガウスぼかし。レイヤーはソフトライトモード。不透明度50%。
- 元画像にガウスぼかし。レイヤーは除算モード。不透明度50%。
- 元画像にエンボスフィルタ。レイヤーは乗算モード。
- 元画像。
◎ 2017/03/19追記。 :
DropboxのPublicフォルダが死んだのでファイルを置き直し。
[ ツッコむ ]
#2 [ruby] Ruby 1.9.x と Ruby 2.x と ocra
Ruby 2.x で ocra を使って Rubyスクリプトを exe化したら、25MBぐらいになってしまってビックリ。デカすぎる…。
ところが、Ruby 1.9.x で ocra を使ったら、5MB に。
どうしてこんなに差がつくのだろう…。
ところが、Ruby 1.9.x で ocra を使ったら、5MB に。
どうしてこんなに差がつくのだろう…。
[ ツッコむ ]
#3 [prog] Windows上で動くSchemeをインストール
GIMP の Script-fu は TinyScheme なる言語?らしいのだけど。GIMP 上の Script-fuコンソールが実に使いづらくて、ちょっとした動作確認もしづらいわけで。
てなわけで、 _Racket (旧名: PLT Scheme) という、Scheme 系の環境を Windows上にインストール。以前も 5.x をインストールしてたのだけど、今現在は 6.x らしいので、せっかくだからこの際更新。
少し触ってみたけれど。乱数(srand, rand)が無い…。while が無い…。ループを再帰で書かないといかんのか…。ツライ…。
Scheme だの Lisp だの、そのあたりは数学者とか天才のためのプログラミング言語だなと再認識。自分のような凡人には厳しいです。
いっそのこと、GIMP の Python-fu (GIMP Python)で書いちゃおうかな。だけど、Python-fu は使える環境を整えるまでが面倒臭い印象があって。いや、GIMP 2.8 以降は、Windows環境でもすんなり使えるのかもしれないけど。
まあ、とりあえず、もうちょっと Scheme でジタバタしてみます。
てなわけで、 _Racket (旧名: PLT Scheme) という、Scheme 系の環境を Windows上にインストール。以前も 5.x をインストールしてたのだけど、今現在は 6.x らしいので、せっかくだからこの際更新。
少し触ってみたけれど。乱数(srand, rand)が無い…。while が無い…。ループを再帰で書かないといかんのか…。ツライ…。
Scheme だの Lisp だの、そのあたりは数学者とか天才のためのプログラミング言語だなと再認識。自分のような凡人には厳しいです。
いっそのこと、GIMP の Python-fu (GIMP Python)で書いちゃおうかな。だけど、Python-fu は使える環境を整えるまでが面倒臭い印象があって。いや、GIMP 2.8 以降は、Windows環境でもすんなり使えるのかもしれないけど。
まあ、とりあえず、もうちょっと Scheme でジタバタしてみます。
[ ツッコむ ]
以上、1 日分です。