[Unity]利用Mesh在Unity中绘制扇形图片

在Unity中,为实现随角色移动的扇形图案需求,文章详细介绍了如何改造已有的扇形绘制方案,包括理解原有代码并进行适配,使其能在x,y轴平面上工作,并调整起始角度。虽然遇到半径较大时的图片失真问题,但文章解决了基本功能,为后续优化打下基础。" 108495904,10012025,视觉大数据的分析与处理,"['大数据', '机器学习', '数据处理', 'Python', '人工智能']
摘要由CSDN通过智能技术生成

背景

最近碰到个功能, 要画一个扇形图案, 如下图:
角色背后的攻击范围标识
美术原图:
美术原图

需求是这个图形跟随角色, 在角色背后, 并且每个角色的扇形角度可能不同。
So, NGUI和UGUI很好用的FilledType是用不了了..

解决过程

去网上搜了下Unity绘制扇形
找到这么篇文章http://blog.csdn.net/awnuxcvbn/article/details/44039819
很好, 前人已经造好了轮子, 我拿来用就好
结果:
游戏场景
Scene

网格的扇形是有了, 但是游戏里的显示是什么鬼!所以说人是不能偷懒的, 还是老老实实的看看前人的轮子是怎么造的吧.

我的理解与改造

既然看了, 就为自己的需求做了些改造, 加了起始角度, 并把源代码画在x,z轴平面的扇形改到了x,y轴平面
还是上代码:

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]
public class SectorProgressBar : MonoBehaviour
{


    public float radius = 2;
    public float startAngleDegree = 0;
    public float angleDegree = 100;
    public int segments = 10;
    public int angleDegreePrecision = 1000;
    public int radiusPrecision = 1000;

    private MeshFilter meshFilter;

    private SectorMeshCreator creator = new SectorMeshCreator();

    [ExecuteInEditMode]
    private void Awake()
    {
        meshFilter = GetComponent<MeshFilter>();
    }

    private 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值