【第11回】〜All In 1 Sprite Shader〜スプライトやイメージにエフェクトをつける
All In 1 Sprite Shaderとは
Seaside studiosよりリリースされている、
スプライトやImage(uGUI)に様々なエフェクトをつけられるアセット
実装方法も簡単で、2Dキャラクターに変化や躍動感をつけることができます。
どんな人にオススメ?
- 2Dゲームで見た目を変えたい!
- 敵をもっとまがまがしくしたい!
- ダメージ時の演出をしたい!
- 光ってる感出したい!
使ってみた
自分は敵とするキャラクターのスプライトに怪しい感じを出したかったりして購入してました。
実装自体はとても簡単なので、ちょっと慣れればいろんな演出に使えそうです。
デモシーンがあるのでちょっとみてみます。
デモシーンが見やすいのも助かります笑
カラーエフェクトでもこんなにあります。
他には・・・
デモシーンその2ではオートでいろんなエフェクトを組み合わせた例を見せてくれました。
これはマジで色々できそうです。
んでは自分のスプライトで出来るかやってみます。
またこのれんげさんにご登場願います。
これにどう実装するかというと・・・
実装したいスプライトなどのインスペクターで
Add Component → All In 1 Sprite Shader → AddAllin1shader
これでAddAllin1Shaderというスクリプトがアタッチされます。
するとシェーダーが変わっているので左下の三角を押してメニューを出すと、
なんかチェックつけたら良さそうな欄がでてきました!笑
これかなというのをつけてみます。
再生しながら試してみました。
Outlineにチェックをつけると縁取りのようにカラーが追加されてレインボーのテクスチャがついていました。
distortionを追加すると燃えるようなチラつきが生まれました。
いきなりれんげさんがスター状態になりました笑
他には・・・
UV Effectsの中で色々個別に押してみました。
波うったりシェイクされたりというのが簡単に実装できます!
カラーエフェクトと組み合わせるとどんな感じかやってみます。
・・・参考にならんくてすいません笑
あとはこのエフェクトのオンをスクリプトでできるのかというと、
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShaderControl : MonoBehaviour
{
SpriteRenderer spriteRenderer;
void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
spriteRenderer.material.EnableKeyword("OUTBASE_ON");
}
}
このスクリプトをスプライトにアタッチして再生してみると、
再生前はオフの状態ですが、
シーンの立ち上がり時にOutlineがオンになりました!
スクリプト内のキー、OUTBASE_ONってどこから来た?となると思うのですが、
アセット内のDocumentation内か、
赤い丸のEditを押すと、AllIn1SpriteShader.shaderが開かれるのでその中に一通りKeyが書いてあります。
名前が違ったりしたので困惑しました。
ちなみにオフにするときは、
DisableKeywordとしてあげればオフにできます。
なにかボタンクリックの処理や、演出の中にいれてあげるとゲーム上でタイミング合わせて活用できそうですね。
まとめ
いかがでしたでしょうか?
気になった方は是非アセットストアでチェックしてみてください!
こちら↓
2Dアクションとかバトルの時、
ダメージを受けた時とか攻撃した時、闇の力を得た時とかの表現につかえそうです!笑
今回はこんな感じで!
それでは💤