Unity Shader--简单的扇形扫描效果

这篇博客介绍了如何在Unity中创建一个简单的扇形扫描效果。作者分享了基本思路,即使用plane作为基础,结合两张贴图,通过定义半径和角度限制来实现扇形扫描。文中提供了一个Shader的实现,并附带了c#脚本控制扫描过程的说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

项目需要,做一个简单的扇形扫描效果,在网上没搜到相关的,所以记录下,以供初学者参考。

基本思路

以一个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,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值