妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

processingを使ったグリッド用スプライト画像制作

f:id:una_unagi:20161120231412p:plain

「今日はこういうモノを作っていた。ゲーム中に配置できる方眼紙的なやつ」

妹「これにはどういう使いみちが?」

「マップを作る時に、こう、見てわかるのがあった方がいいかなあ……って思ったんだよ」

妹「でもそれだったらUE4でも線は出てくるのでは」

f:id:una_unagi:20161120231645p:plain

妹「こういう感じの」

「それも使うんだけど、並行投影の時しか出ないから。後ろに物があると、それを非表示にするかワイヤフレームにしないと駄目って問題も」

f:id:una_unagi:20161120231832p:plain

「この方式だと、わりといつでもどこでも出せるんだよ。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);

出来上がった画像
f:id:una_unagi:20161120232801p:plain

「そのあとは普通にUE4のコンテンツブラウザにドラッグ&ドロップでいける」

妹「うん……妹にはわからなさそう。でも方眼紙は要るかもしれない。大きさとかは変えられるんだよね?」

「全体の大きさも、マス目の大きめも変えられる。点線が標準機能に無いのがちょっと困るけど、これも点を1つずつ書いていけば出来るはず」

妹「そういうのも機械的だからいいのか」

「定規機能とかスクリプト機能内臓とかで、これに近いことが出来るお絵かきソフトはいくつかあるから、そっちの方が早そうな場合は無理してProccesingを使わなくてもいい」

妹「ところで色のついた四角みたいなのは何?」

「使いそうな画面サイズに応じた枠も書き込んでみた。1画面分がこれくらいっていう目安になるんじゃないかと。並行投影のカメラじゃないとあんまり意味ないんだけど」