前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >箭头指向效果实现(Unity3D)

箭头指向效果实现(Unity3D)

作者头像
恬静的小魔龙
发布2022-08-07 09:35:08
1.1K0
发布2022-08-07 09:35:08
举报
文章被收录于专栏:Unity3DUnity3D

一、前言

本文主要实现一个箭头指向的作用,现在看一下效果

在这里插入图片描述
在这里插入图片描述

二、需要用到的资源

在这里插入图片描述
在这里插入图片描述

Github下载链接: https://github.com/764424567/Unity-plugin/tree/master/Menu/Unity3D-ArrowImg

资源无法下载参考这篇文章: https://blog.csdn.net/q764424567/article/details/107375040

三、正文

1.新建一个Plane

在这里插入图片描述
在这里插入图片描述

2.创建材质arrow

在这里插入图片描述
在这里插入图片描述

从下载的图片包中随便找一张图片拖进去,然后Shader改为Unlit/Transparent

3.将材质球赋给Plant

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.编写脚本Arrow_Control.cs

代码语言:javascript
复制
using UnityEngine;

public class Arrow_Control : MonoBehaviour
{
    //所有的图片路径
    private string[] m_Url;
    //图片名称
    private string m_Name = "Arrow/JianTou_";
    //切换图片的时间
    private float m_Time = 0;
    //图片计数器
    private int TeInt = 0;
    //切换图片的间隔比例
    private float m_Fps = 25;
    //自身的Renderer组件
    private Renderer m_Image;

    void Start()
    {
        //初始化路径字段
        m_Url = new string[27];
        //获取到自身的Renderer
        m_Image = gameObject.GetComponent<Renderer>();
    }


    void Update()
    {
        m_Time += Time.deltaTime;
        // 0.04秒更换一次图片
        if (m_Time >= 1.0 / m_Fps)
        {
            TeInt++;
            m_Time = 0;
        }
        //计数器读取到最后一张图片之后
        if (TeInt > m_Url.Length - 1)
        {   
            TeInt = 0;
        }
        //数组赋值,图片的名字
        m_Url[TeInt] = m_Name + TeInt.ToString();
        //赋值
        m_Image.material.mainTexture = Resources.Load(m_Url[TeInt]) as Texture2D;
    }
}

5.将脚本赋值给Plant

在这里插入图片描述
在这里插入图片描述

6.然后在工程中,新建文件夹,名字为Resources,在Resources新建子文件夹Arrow 将上面的图片资源全部放到这个文件夹中。

完成了

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、需要用到的资源
  • 三、正文
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档