前回投稿したゲームの中にプレーヤーの色をカスタマイズできる機能をつけました
大変なのかと思っていたら フリーアセットにカラーピッカーがあって簡単に色の設定をすることができたので その手順を忘れないうちにメモ
1.シーンにキャンバスを追加
2.キャンバスを右クリックして画像を追加
3.Imageのソース画像に任意のスプライトをアタッチ
4.ウィンドウ/マイアセットからFlexible Color Pickerを選択してインポートをクリック パッケージをインポートする
5.まだマイアセットに追加していない場合はウィンドウ/アセットストアを開き「color picker」の価格Freeで検索してマイアセットに追加しておく
6.インポートが終わったらFlexibleColorPickerフォルダーの中のプレファブをキャンバスにアタッチする
7.プロジェクトタブ内で右クリックし作成/C#スクリプトを選択 名前をColorChangeにする
8.ColorChangeスクリプトを編集
using UnityEngine; using UnityEngine.UI; public class ColorChange : MonoBehaviour { public FlexibleColorPicker fcp; // Update is called once per frame void Update() { if (fcp.isActiveAndEnabled) { GetComponent<Image>().color = fcp.color; } } }
9.ColorChangeスクリプトをImageにアタッチ FlexibleColorPickerプレファブをスクリプトにアタッチ
これだけでソース画像の色を変更することができます
Imageにマテリアルを設定してMaterial.colorにfcp.colorを設定しても同様になります
FlexibleColorPickerプレファブは不要なものを非表示にしたりバーの向きを変えるなど これ自体をカスタマイズすることもできます
実行するとこんな感じに
この他にもフリーのカラーピッカーがあるので また機会があれば試してみたいと思います