以下の内容はhttps://kan-kikuchi.hatenablog.com/entry/Spine_Colorより取得しました。


Spineで作ったキャラクターの色をUnityで変える方法【Unity】【Spine】




この記事でのバージョン
Unity 2019.4.26f1
spine-unity 3.8


はじめに

今回はSpineで作ったキャラクターの色をUnityで変える方法の紹介記事です!


f:id:kan_kikuchi:20210810100752g:plain


なお、SpineをUnityで使えるようにする導入方法については以下の記事を参照の事。



ちなみに記事中では使っている画像やアニメーションは、

上記の記事でも紹介したサンプルを使用しています。


キャラクターの色を変える方法

さっそくですが、キャラクターの色を変えたいときは

SkeletonAnimationからアクセス出来るskeletonのメソッドSetColorを使います。

なお、Inspectorから直接色を変える事は出来ません。

//赤に変更(_skeletonAnimationはSkeletonAnimation)
_skeletonAnimation.skeleton.SetColor(new Color(1f, 0f, 0f));


また各色や不透明度を直接設定する事も可能です。

_skeletonAnimation.skeleton.R = 1.0f; //赤
_skeletonAnimation.skeleton.G = 0f; //緑
_skeletonAnimation.skeleton.B = 0f; //青
_skeletonAnimation.skeleton.A = 1f; //不透明度


試しにパーリンノイズを使ってランダムに変えてみると以下のような感じに。

//パーリンノイズを使ってランダムに色を変更
_skeletonAnimation.skeleton.R = Mathf.PerlinNoise(Time.time, 0);
_skeletonAnimation.skeleton.G = Mathf.PerlinNoise(Time.time, 64);
_skeletonAnimation.skeleton.B = Mathf.PerlinNoise(Time.time, 128);
f:id:kan_kikuchi:20210810100752g:plain


ちなみにuGUIで使うSkeletonGraphicの場合は

Inspectorから直接Colorの変更が出来ますし、コードでの変更も可能です。

f:id:kan_kikuchi:20210810095423j:plain
_skeletonGraphic.color = new Color(1f, 0f, 0f);






以上の内容はhttps://kan-kikuchi.hatenablog.com/entry/Spine_Colorより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14