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

 时间:2024-10-11 18:37:02

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

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

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

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

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

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

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

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

5、脚本具体内容如下:using UnityEngine;public class DrawSector : MonoBehaviour { // Update is called once per frame void Update () { if (Input.GetKeyDown(KeyCode.A)) { ToDrawSector(transform, transform.localPosition, 60, 3); } } private static LineRenderer GetLineRenderer(Transform t) { LineRenderer lr = t.GetComponent<LineRenderer>(); if (lr == null) { lr = t.gameObject.AddComponent<LineRenderer>(); } lr.startWidth = 0.1f; lr.endWidth = 0.1f; return lr; } public static void DrawLine(Transform t, Vector3 start, Vector3 end) { LineRenderer lr = GetLineRenderer(t); lr.positionCount = 2; lr.SetPosition(0, start); lr.SetPosition(1, end); } //绘制空心三角形 public static void ToDrawSector(Transform t, Vector3 center, float angle, float radius) { LineRenderer lr = GetLineRenderer(t); int pointAmount = 100;//点的数目,值越大曲线越平滑 float eachAngle = angle / pointAmount; Vector3 forward = t.forward; lr.positionCount = pointAmount; lr.SetPosition(0, center); lr.SetPosition(pointAmount - 1, center); for (int i = 1; i < pointAmount - 1; i++) { Vector3 pos = 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 实用教程之 三角形形范围的绘制》讲解结束,谢谢

  • Leap Motion的功能使用
  • 如何使用PS的色彩范围为花朵更换颜色?
  • 在线pdf转换器如何把excel转为pdf的操作方法
  • 3dmax中如何使用图解视图
  • 深渊症怎么玩
  • 热门搜索
    欢庆六一手抄报内容 春天的手抄报图片 感恩手抄报简单又漂亮 数学手抄报模板 六年级数学手抄报 争做新时代好队员手抄报 节约粮食手抄报简单又漂亮 我的中国梦手抄报 环保手抄报图片大全 中国梦手抄报内容