前言
项目需要,做一个简单的扇形扫描效果,在网上没搜到相关的,所以记录下,以供初学者参考。
基本思路
以一个plane为低,准备两张贴图,一张做背景,一张做扇形扫描图,定义一个半径值作为圆的限制条件,再定义两个角度值作为扇形区域的限制条件,然后先根据uv坐标与plane中心点的距离判断是否在圆形区域,再根据y值判断是否在正y轴区域,最后根据角度值判断是否在扇形区。
正文
1.先上shader,英文不好,都是随便命名,知道是哪个变量就成,主要解释都放在代码里。
Shader "Unlit/RadarWave"
{
Properties
{
//背景图
_MainTex ("Texture", 2D) = "white" {}
//扇形用图
_RadarTex ("Backgroud Texture",2D) = "white" {}
//扇形半径,用模型坐标系,所以在0-0.5之间
_RadarLengthRate ("Radar Length Rate",Range(0,0.5)) = 0.5
//扇形左边界用的角度值
_MaxAngle ("Max Angle",Range(0,180)) = 180
//扇形角度值
_DeltaAngle ("Delta Angle",Range(0,180)) = 60
//扇形区域内y轴动画速度
_ScanSpeed ("Scan Speed",Range(0.1,