unity制作雷达扫描效果
1、在制作之前,首先在AI中画一个 背景透明的同心圆(背景确实是透明的,不知道为什么上传上来背景就变成黑色了)。
2、再在AI中画一个渐进色的小扇形。
3、如果想要显示在雷达上扫面出现的红点,可以在AI中再画一个填充色为红色圆
4、现在开始在unity中制作。首先在unity中选择GameObject——>UI——>Image,这是第一个image,命名为backround,颜色为黑色,作为雷达扫描的背景色。
5、再在现有的Image上继续添加Image,命名为circle,颜色为绿色,ImageSource选择之前画好的同心圆。
6、然后在名称为circle的Image下继续添加Image,命名为needle。ImageSource选择之前画好的小扇形。
7、继续在名称为circle的Image下 添加Image,这个依据个人爱好添加,本人添加了四个,分别命名为spot1,spot2,spot3,spot4。ImageSource选择之前画好的红色的圆。
8、到此,雷达扫描的雏形就做好了,下面是添加代码,脚本命名为RadarScanning(也可以根据个人喜好命名),将写好的代码添加到Needle上,毕竟是指针在旋转。雷达扫描出的红色圆点根据自己喜好设置。
9、下面是代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RadarScanning : MonoBehaviour {
int speed = 3;
int count = 0;
GameObject P1;
GameObject P2;
GameObject P3;
GameObject P4;
// Use this for initialization
void Start () {
P1 = GameObject.Find("spot1");
P2 = GameObject.Find("spot2");
P3 = GameObject.Find("spot3");
P4 = GameObject.Find("spot4");
P1.SetActive(false);
P2.SetActive(false);
P3.SetActive(false);
P4.SetActive(false);
}
// Update is called once per frame
void Update () {
if (count == 5)
P1.SetActive(true);
if (count == 200)
P2.SetActive(true);
if (count == 500)
P3.SetActive(true);
if (count == 1000)
P4.SetActive(true);
count++;
gameObject.transform.Rotate(Vector3.back*speed);
}
}