广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Unity 实用教程之 扇形辅助线的简单实现

    来源:网络收集  点击:  时间:2024-02-18
    【导读】:
    Unity 实用教程之 扇形辅助线的简单实现。本节介绍,在Unity开发中,扇形辅助线辅助开发的实现,具体如下工具/原料moreUnity方法/步骤1/8分步阅读

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

    2/8

    在场景中,新建物体,布局设置,具体如下图

    3/8

    在工程中,新建一个脚本 DebugRay,双击脚本或者右键 Open C# Project 打开脚本,具体如下图

    4/8

    脚本的具体代码和代码解释如下图

    5/8

    脚本具体内容如下:

    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/8

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

    7/8

    运行场景,即可在场景中,观察到辅助线,具体如下图

    8/8

    到此,《Unity 实用教程之 扇形辅助线的简单实现》讲解结束,谢谢

    注意事项

    您的支持,是我们不断坚持知识分享的动力,若帮到您,还请帮忙投票有得;若有疑问,请留言

    UNITY扇形辅助线辅助线实现扇形辅助线
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_68077.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 05:57:07  耗时:0.029
    0.0292s