Filter Forge の使い方 その1 画像を加工して書き出す

はじめに


Unity ゲームエフェクト マスターガイド

この本に影響されて勢いでDLしたものの、あまりにもFilter Forgeの日本語情報がないため、自分でFilter Forge関連の情報をゆるゆる書いていこうと思います。

Filter Forgeの公式に行くとセール中!みたいなのがあってすぐに購入したくなりますが、ほぼ常時セールやってるのでいつ購入してもそこまで大差はないと思います。

環境はfilter forge8 のProfessional Edition版を使用しています

Filter Library Backup (アプリ上に大量フィルターをロードしてくれるやつ)も導入している状態です

画像を読み込む

まずは加工に使う画像を読み込みます

file→Open Imageから画像を読み込めます。

f:id:Brave345:20200527140022j:plain

今回はこんな感じの画像を使用します

f:id:Brave345:20200527140035j:plain

加工する

加工するにはFilterを適用させ上げます。

今回は適当に放射状ブラーををかけてみたいと思います。

左上の検索ボックスからblurと入力します。そうするとblurに関連するFilterがいくつも出てきます。そこからRadial Blurを選択することで放射状ブラーを適用できます。

f:id:Brave345:20200527140050j:plain

加工内容を調整する

今の状態だと左側中心に放射状ブラーが適用されてるので画像中心から放射状ブラーが適用されるように調整します。

左下のSetthingsからパラメータを調整できます。

spotX Posを100にすることで中心位置を中心にすることができます

f:id:Brave345:20200527140107j:plain

書き出す

あとはFile→Save Image asかExportを選択すれば書き出せます(違いがわからない…)

f:id:Brave345:20200527140122j:plain

終わりに

Filter Forgeはフィルターの種類が豊富で画像を加工するだけではなく、生成できるテクスチャの種類もかなりあるのでテクスチャ作成にとても重宝しますのでDLしてみてはいかがだろうか

bravememo.hatenablog.com

【Unity】スマホの初期向きを横向きにする

初期向きを横向きにする

Dafault OrientationをLandscapeLeftかLandscapeRightに変更すれば起動時から向きを横向きにできる。

f:id:Brave345:20200520104812p:plain

ネットだとここをAutoRotationにしてるものが多かったがそれだと最初縦画面になってしまいました。

Dafault OrientationをAutoRotationにしてスクリプトのStart内でLandscapeLeftかLandscapeRightに変更すると最初一瞬だけ縦画面になってしまうので注意

回転できるようにする

あとはスクリプトで回転できるように指定してあげればいい

  void Start()
    {
        Screen.orientation = ScreenOrientation.AutoRotation;
        Screen.autorotateToPortrait = false; 
        Screen.autorotateToLandscapeLeft = true; 
        Screen.autorotateToLandscapeRight = true;
        Screen.autorotateToPortraitUpsideDown = false; 
   }  

【Unity】ShadergraphでGradientがプロパティ化できないので対策案を探してみた

はじめに

ここにもある通りShaderGraphのGradientはプロパティ化出来ないため、グラデーションをマテリアルからいじれないので不便です。

WHERE is the exposed Gradient node property in Shadergraph - Unity Forum

なので何か対策方法がないか調べてみました

案1 複数のLerpを使用する

トライトーンというものを使用します

参考

www.klab.com

メリット

・ Colorノードを使用しているためCustom Dataで色情報の受け渡しが出来る。

・ Colorを変更するだけなので調整が楽

デメリット

・複雑なグラデーションが出せない

案2 グラデーションテクスチャを使う

グラデーションテクスチャは以下のエディタ拡張で作成できます。

Genボタン押してからグラデーションテクスチャを作成できるまで若干ラグあるので注意です

github.com

あとは以下のようにノードをつなげればOKです 左下のSample Texture 2Dノード確認用なので消しても大丈夫です

メリット

・ Lerpと比べて複雑なグラデーションを作成しやすい

・ テクスチャを使用しているため同じような色合いを出したいときにテクスチャを使い回しできる

デメリット

・使用するテクスチャが増えるため容量が増える

・テクスチャにHDRなカラーを持たせることで出来ないので、徐々に発光させるみたいなグラデーションが作れない

複数のグラデーションを格納したテクスチャを使用する場合

こちらのやり方が参考になります

案3 ブーリアンまたはシェーダーバリアントを使用する

以下の記事みたいすれば数種類のグラデーションを切り替えることが出来る

bravememo.hatenablog.com

メリット

・ グラデーションノード使用できるので自由にグラデーションが設定できる

デメリット

・プロパティ側でグラデーションの色合いを変更できない

・処理速度またはコンパイル時間が長くなる

おわりに

どちらの方法にもメリット、デメリットがあるのでケースバイケースでやるのがいいと思います。