processingを使ったグリッド用スプライト画像制作
「今日はこういうモノを作っていた。ゲーム中に配置できる方眼紙的なやつ」
妹「これにはどういう使いみちが?」
「マップを作る時に、こう、見てわかるのがあった方がいいかなあ……って思ったんだよ」
妹「でもそれだったらUE4でも線は出てくるのでは」
妹「こういう感じの」
「それも使うんだけど、並行投影の時しか出ないから。後ろに物があると、それを非表示にするかワイヤフレームにしないと駄目って問題も」
「この方式だと、わりといつでもどこでも出せるんだよ。Paper2Dで表示してるだけだから。背景画像作る前の仮背景に便利じゃないかと思う」
Processing基礎最速入門 - catch.jp-wiki
「で、今回processingというソフトを使ったんだけど、これはマウスやペンタブでなく、プログラミングで絵を書くというソフト。キー入力とかも出来るから、頑張ればゲームも作れそうだけど、基本は絵とかアニメーションとか用」
妹「絵を書くプログラム???」
「今回の方眼紙とかは手作業でやると大変だから、何ピクセル間隔で線を引くとか、機械的にやらせてる。例えば、今回の50ピクセル方眼紙の画像を作ったプログラムはこれ。(Windowsで)これを実行すると、デスクトップ上にhouganshi.pngという画像が出来る」
background(200); size(2048,2048); int c = 1024; //50pixel line strokeWeight(1); stroke(220,220,220); for(int i = 0; i <= c/50; i++){ line(0,c+i*50,2048,c+i*50); line(0,c-i*50,2048,c-i*50); line(c+i*50,0,c+i*50,2048); line(c-i*50,0,c-i*50,2048); } //100pixel line strokeWeight(2); stroke(80,80,80); for(int i = 0; i <= c/100; i++){ line(0,c+i*100,2048,c+i*100); line(0,c-i*100,2048,c-i*100); line(c+i*100,0,c+i*100,2048); line(c-i*100,0,c-i*100,2048); } //ScreenSize rectMode(CENTER); noFill(); stroke(255,0,0,200); rect(c,c,640,480); stroke(255,0,255,200); rect(c,c,1280,720); stroke(0,0,255,200); rect(c,c,1920,1080); //Save(Desktop) String path = System.getProperty("user.home") + "/Desktop/houganshi.png"; save(path);
出来上がった画像
「そのあとは普通にUE4のコンテンツブラウザにドラッグ&ドロップでいける」
妹「うん……妹にはわからなさそう。でも方眼紙は要るかもしれない。大きさとかは変えられるんだよね?」
「全体の大きさも、マス目の大きめも変えられる。点線が標準機能に無いのがちょっと困るけど、これも点を1つずつ書いていけば出来るはず」
妹「そういうのも機械的だからいいのか」
「定規機能とかスクリプト機能内臓とかで、これに近いことが出来るお絵かきソフトはいくつかあるから、そっちの方が早そうな場合は無理してProccesingを使わなくてもいい」
妹「ところで色のついた四角みたいなのは何?」
「使いそうな画面サイズに応じた枠も書き込んでみた。1画面分がこれくらいっていう目安になるんじゃないかと。並行投影のカメラじゃないとあんまり意味ないんだけど」