养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Unity 实用教程之 三角形攻击范围的绘制

时间:2024-11-11 18:50:25

Unity实用教程之三角形攻击范围的绘制。本节介绍,在Unity开发中,驻账答峰绘制三角形攻击范围的方法(绘制实体扇形范围攻击线可参考如下经验),具体如下

工具/原料

Unity+LineRenderer

方法/步骤

1、打开Unity,新建一个空工程,具体如下图

Unity 实用教程之 三角形攻击范围的绘制

2、在场景中,添加几个物体,并且合理布局,具体如下图

Unity 实用教程之 三角形攻击范围的绘制

3、在工程中,添加一个脚本,双击脚本或右键OpenC#Project打开脚本,具体如下图

Unity 实用教程之 三角形攻击范围的绘制

4、编辑脚本,其中脚本大概内容如下:首先获得LineRenderer组件,若没嘀芟苒疾有该组件则添加该组件,然后通过计算点的位置,绘制出三角形区域,具体代码和代码内容如下图

Unity 实用教程之 三角形攻击范围的绘制

Unity 实用教程之 三角形攻击范围的绘制

5、脚本具体内容如下:usingUnityEngine;圬桦孰礅publicclassDrawSector:MonoBehaviou鸡堕樱陨r{ //Updateiscalledonceperframe voidUpdate(){if(Input.GetKeyDown(KeyCode.A)){ToDrawSector(transform,transform.localPosition,60,3);} }privatestaticLineRendererGetLineRenderer(Transformt){LineRendererlr=t.GetComponent<LineRenderer>();if(lr==null){lr=t.gameObject.AddComponent<LineRenderer>();}lr.startWidth=0.1f;lr.endWidth=0.1f;returnlr;}publicstaticvoidDrawLine(Transformt,Vector3start,Vector3end){LineRendererlr=GetLineRenderer(t);lr.positionCount=2;lr.SetPosition(0,start);lr.SetPosition(1,end);}//绘制空心三角形publicstaticvoidToDrawSector(Transformt,Vector3center,floatangle,floatradius){LineRendererlr=GetLineRenderer(t);intpointAmount=100;//点的数目,值越大曲线越平滑floateachAngle=angle/pointAmount;Vector3forward=t.forward;lr.positionCount=pointAmount;lr.SetPosition(0,center);lr.SetPosition(pointAmount-1,center);for(inti=1;i<pointAmount-1;i++){Vector3pos=Quaternion.Euler(0f,-angle/2+eachAngle*(i-1),0f)*forward*radius+center;lr.SetPosition(i,pos);}}}

6、脚本编译正确后,回到Unity界面,把脚本挂载到物体Cube上,具体如下图

Unity 实用教程之 三角形攻击范围的绘制

7、运行场景,按下A键,即可看到绘制出的三角形区域,具体如下图

Unity 实用教程之 三角形攻击范围的绘制

8、到此,《Unity实用教程之三角形形范围的绘制》讲解结束,谢谢

© 一点知识