オブジェクトの色を少しずつ透明にしていくスクリプトを作成しましょう。
少しずつ色が変化して、最後は透明になって見えなくなります。
アルファ(Alpha)という透過度の数値を変えることで、この仕組みを作成しています。
関連記事:
他のスクリプトから透明化させる
オブジェクトの色を点滅させる
オブジェクトを0.1秒おきにゆっくり拡大させる
テキストを点滅させる
Textを透明から徐々に出現(フェードイン)
Alpha値を少しずつ減算
Cubeオブジェクトを新規作成します。
マテリアルで赤色を作成し、Rendering Modeを「Fade」に変更。
Cubeに追加します。
ゲームビューではこのように見えています。
ColorChange.csを作成して、Cubeに追加します。
ColorChange.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColorChange : MonoBehaviour { MeshRenderer mesh; void Start () { mesh = GetComponent<MeshRenderer>(); StartCoroutine("Transparent"); } IEnumerator Transparent() { for ( int i = 0 ; i < 255 ; i++ ){ mesh.material.color = mesh.material.color - new Color32(0,0,0,1); yield return new WaitForSeconds(0.01f); } } } |
ゲームプレイしてみましょう。
Cubeに付けているRedのマテリアルから、Alpha値だけを1ずつ減算しています。
0.01秒おきに255回繰り返し、徐々に透明に近づいていきます。
ちょとしたエフェクトとして、ゲームの演出に使えそうです。
関連記事:
他のスクリプトから透明化させる
オブジェクトの色を点滅させる
オブジェクトを0.1秒おきにゆっくり拡大させる
テキストを点滅させる
Textを透明から徐々に出現(フェードイン)