Unity 实用教程之 扇形辅助线的简单实现
1、打开Unity,新建一个工程,具体如下图
2、在场景中,新建物体,布局设置,具体如下图
3、在工程中,新建一个脚本 DebugRay,双击脚本或者右键 Open C# Project 打开脚本,具体如下图
4、脚本的具体代码和代码解释如下图
5、脚本具体内容如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DebugRay : MonoBehaviour {
public float viewRadius = 8.0f; // 代表视野最远的距离
public float viewAngleStep = 30; // 射线数量,越大就越密集,效果更好但硬件耗费越大。
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//调用
DrawFieldOfView();
}
void DrawFieldOfView()
{
// 获得最左边那条射线的向量,相对正前方,角度是-45
Vector3 forward_left = Quaternion.Euler(0, -45, 0) * transform.forward * viewRadius;
// 依次处理每一条射线
for (int i = 0; i <= viewAngleStep; i++)
{
// 每条射线都在forward_left的基础上偏转一点,最后一个正好偏转90度到视线最右侧
Vector3 v = Quaternion.Euler(0, (90.0f / viewAngleStep) * i, 0) * forward_left;
// Player位置加v,就是射线终点pos
Vector3 pos = transform.position + v;
// 从玩家位置到pos画线段,只会在编辑器里看到
Debug.DrawLine(transform.position, pos, Color.red);
}
}
}
6、脚本编译正确,回到Unity界面,把脚本挂载到物体上,具体如下图
7、运行场景,即可在场景中,观察到辅助线,具体如下图
8、到此,《Unity 实用教程之 扇形辅助线的简单实现》讲解结束,谢谢