使用unity绘制扇形,圆形和矩形区域

这篇具有很好参考价值的文章主要介绍了使用unity绘制扇形,圆形和矩形区域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用unity绘制扇形.圆形和矩形区域:

效果如图:

扇形

unity 画圆,unity

 矩形

unity 画圆,unity

 圆形

unity 画圆,unity

 下面是代码:

1.首先我们需要给对应的组件添加一个LineRenderer组件并获得他

void Start()
    {
        lineRenderer = gameObject.AddComponent<LineRenderer>();
        lineRenderer.endWidth = 0.1f;
        lineRenderer.startWidth = 0.1f;
    }

2.编写方法:

1.扇形

public int jiaodu; //角度
public int banjing;    //半径
//绘制扇形
public void fun1() {
        int a = 1;
            lineRenderer.positionCount = jiaodu + 2;
            lineRenderer.SetPosition(0, transform.position);
            lineRenderer.SetPosition(jiaodu + 1, transform.position);
            for (int i = -jiaodu  / 2; i < jiaodu / 2; i++)
            {
                lineRenderer.SetPosition(a, Quaternion.Euler(0, i, 0) * transform.forward * banjing + transform.position);
                a++;
            }
    }

其中 positionCount 之所以需要+2 是因为除了我们需要的角度外 还需要额外绘制2条回归线所以直接通过代码的方式设置第一条和最后一条的位置为自身.循环则为绘制角度.

2.圆形

public int banjing;    //半径
//绘制圆形
public void fun2() {
        int a = 0;
            lineRenderer.positionCount = 360;
            for (int i = -360/ 2; i < 360/ 2; i++)
            {
                lineRenderer.SetPosition(a, Quaternion.Euler(0, i, 0) * transform.forward * banjing+ transform.position);
                a++;
            }
    }

圆形可以看作一个360度的扇形去进行绘制 不过不需要回归线所以去除额外多加的2条

public int kuan;    //宽
public int chang;    //长
//绘制矩形
public void fun3() {
        lineRenderer.positionCount = 5;

            lineRenderer.SetPosition(0, transform.localPosition - transform.right * (chang/ 2));

            lineRenderer.SetPosition(1, transform.localPosition - transform.right * (chang/ 2) + transform.forward * kuan);

            lineRenderer.SetPosition(2, transform.localPosition + transform.right * (chang/ 2) + transform.forward * kuan);

            lineRenderer.SetPosition(3, transform.localPosition + transform.right * (chang/ 2));

            lineRenderer.SetPosition(4, transform.localPosition - transform.right * (chang/ 2));
    }

矩形因为点的数量是固定的所以直接写5 然后根据自身的位置和角度去修改朝向.长和宽则直接固定

注:1.如果需要区域跟着人物走需要再update中持续调用.

2.如果需要再update中进行绘制 不推荐持续设置positionCount 可以先再调用之前进行对应的长度修改文章来源地址https://www.toymoban.com/news/detail-605528.html

到了这里,关于使用unity绘制扇形,圆形和矩形区域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity3D Shader 引导遮罩,支持圆形、矩形、圆角矩形框

    unity3D新手引导遮罩,支持圆形,矩形框,圆角矩形框。图形位置和大小可以根据控件的位置和大小调节,通用所有分辨率设备。黄色区域遮挡,只有白色区域可以点穿。 原文链接:https://www.kadastudio.cn/archives/89 ​ 将MyGuideMask挂载到脚本上,然后通过GuideMask创建材质并赋值,根据

    2024年02月11日
    浏览(41)
  • Android Canvas图层saveLayer剪切clipPath原图addCircle绘制对应圆形区域,Kotlin(2)

    在 Android Canvas图层saveLayer剪切clipRect原图对应Rect区域,Kotlin(1)-CSDN博客 的基础上,把矩形切图,换成圆形。             在文章1: https://zhangphil.blog.csdn.net/article/details/135297013 基础上,把剪切的区域从矩形Rect变为圆形的Path,当手指在上面的ImageView移动时候,下面同等大

    2024年02月02日
    浏览(30)
  • 【Unity实战篇 】| 游戏中实现镂空遮罩效果【矩形、圆形镂空遮罩】

    前言 本文来写一下怎样在Unity中完成一个 镂空遮罩 的效果。 镂空遮罩 比较常用的有两种ÿ

    2024年02月15日
    浏览(74)
  • Unity OnDrawGizmos的简单应用 绘制圆形

    编辑器和配置表各有各的好。 卡牌游戏即使再复杂,哪怕是梦幻西游,大话西游那种,甚至wow那种,用配表都完全没问题。但是崩坏3,或者鬼泣,格斗游戏,可视化编辑器是唯一的选择。 开发初期刚开始配技能的时候,编辑器体验完胜配置表。但到了后期当想要大量调整技

    2024年02月09日
    浏览(24)
  • python中用turtle画一个圆形,python绘图turtle画圆

    大家好,本文将围绕用pythonturtle画简单的图案展开说明,python中用turtle画一个圆形是一个很多人都想弄明白的事情,想搞清楚python绘图turtle画圆需要先了解以下几个事情。 1 说明: ===== 1.1 是问答中的我的一个回答。 1.1 因为问答中没有代码块的,所以我改为这里写文章,然后

    2024年02月04日
    浏览(29)
  • Unity常用方法--Physics2D.OverlapCircleAll(获取一个圆形区域内所有碰撞器的列表)

    使用方式请直接看参考文献 使用案例 可以通过该方法判断在攻击范围内是否存在敌人,并在存在时,调用敌人组件的内部函数 代码 参考文献   https://docs.unity3d.com/cn/current/ScriptReference/Physics2D.OverlapCircleAll.html

    2024年04月10日
    浏览(26)
  • 使用OpenCV对旋转矩形区域的内容进行裁剪

    再做OCR的时候,我想单独把矩形的区域裁剪出来,因此对这个问题进行了一些探索,最后得到的具体步骤如下: 使用cv2.minAreaRect()函数获取旋转矩形的中心点、宽度、高度和旋转角度信息。 使用cv2.getRotationMatrix2D()函数获取旋转矩阵。 使用cv2.warpAffine()函数根据旋转矩阵进行旋

    2024年02月15日
    浏览(34)
  • OpenCv (C++) 使用矩形 Rect 覆盖图像中某个区域

    推荐参考博客:OpenCV实现将任意形状ROI区域置黑(多边形区域置黑) 比较常用的是使用 Rect 矩形实现该功能,代码如下: 效果如下: 推荐参考博客:OpenCV 中 cv::Rect 矩形类用法 cv::Rect 用于创建矩形,API 参数如下: 源码如下:

    2024年02月16日
    浏览(28)
  • 微信小程序使用canvas绘制网络图片,使用canvas将图片变成圆形

    以上的写法 会造成某些图标无法绘制上去, 解决方法是在网络图片中不断嵌套,先绘制大图片,再绘制小图片的顺序 网上说使用先下载到本地,再使用img.src加载,我尝试过还是不行 长用在海报,需要将用户的头像画到canvas图片上,如: 其原理就是在图片上面放一个圆

    2024年02月13日
    浏览(47)
  • 使用openCV python绘制实心旋转的矩形

    ​ 看方法直接看最下边 看方法直接看最下边 看方法直接看最下边 一、通过中心点、宽高、角度得到四个顶点的公式网上都有,最后输出四个顶点的x和y坐标。 二、绘制实心矩形 关于怎么绘制实心矩形,因为openCV本身的cv2.rectangle只能绘制角度为0的矩形,没办法用,所以一开

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包