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;pu芟鲠阻缒blic 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); }}