当前位置: 首页 > news >正文

网站美观界面中国50强企业管理培训机构

网站美观界面,中国50强企业管理培训机构,沈阳网站建设优秀公司,网站建设的基本要素我们打开上一篇03的射线双击项目, 本章要做的事情是在PlayerRayNavgation脚本中添加一个移动光标,实现人物在场景中鼠标点击移动后在移动过程中出现移动目标光标的效果。 在unity编辑器中创建一个Plane 重命名为MovementSign 删掉碰撞器 创建一个材质 选…

我们打开上一篇03的射线双击项目,

本章要做的事情是在PlayerRayNavgation脚本中添加一个移动光标,实现人物在场景中鼠标点击移动后在移动过程中出现移动目标光标的效果。

在unity编辑器中创建一个Plane

重命名为MovementSign

删掉碰撞器

创建一个材质

选择 旧版着色器 Legacy Shaders

继续选择 粒子 Particles

最后选择 顶点照明混合 VertexLit Blended

修改为红色,并且添加一个图标

拖拽至移动光标MovementSign

修改大小

修改移动光标MovementSign 的 y值改为-1

接下来增加PlayerRayClickNavigation脚本的代码如下

using UnityEngine;
using UnityEngine.AI;
public class PlayerRayClickNavigation : MonoBehaviour{
    NavMeshAgent meshAgent;
    Vector3 targetPos;
    #region 02主角动画
    PlayerAnimator playerAnimator;
    #endregion
    #region 03鼠标双击
    //计时
    float followMouseTimer;
    //计数鼠标点击次数
    int clickCount;
    //控制主角是否跟随鼠标
    bool followMouse;
    #endregion
    #region 04移动光标
    Renderer movementSign;
    bool hasArrived = false;
    #endregion
    void Awake(){
        meshAgent = GetComponent<NavMeshAgent>();
        #region 02主角动画
        playerAnimator = GetComponentInChildren<PlayerAnimator>();
        #endregion
        #region 04移动光标
        if(movementSign == null)
            movementSign = GameObject.Find("MovementSign").GetComponent<Renderer>();
        #endregion
    }
    void Start(){
        Invoke("EnableNavMesh", 0.2f);
    }
    void EnableNavMesh(){
        targetPos = transform.position;
        meshAgent.enabled = true;
    }
    void Update(){
        if (!meshAgent.enabled)
            return;
        #region 02人物动画
        playerAnimator.PlayLocomotionAnimation(transform.position, targetPos);
        #endregion
        if (Input.GetMouseButtonDown(0)){
            #region 03鼠标双击
            clickCount++;
            followMouse = false;
            #endregion
            ClickMouse();
        }
        #region 03鼠标双击
        DoubleClickMouse();
        #endregion
        #region 04移动光标
        if (!hasArrived && Vector3.Distance(transform.position, targetPos) < 0.1f) {
            hasArrived = true;
            movementSign.enabled = false;
        }
        #endregion
    }
    void ClickMouse(){
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, Mathf.Infinity,LayerMask.GetMask("Land"))){
            targetPos = hit.point;
            meshAgent.SetDestination(targetPos);
            #region 04移动光标
            movementSign.transform.position = hit.point + new Vector3(0, 0.01f, 0);
            movementSign.enabled = true;
            hasArrived = false; 
            #endregion
        }
    }
    #region 03鼠标双击
    void DoubleClickMouse(){
        //开启开关 主角跟随鼠标移动
        if (followMouse)
            ClickMouse();
        else{
            //判断自上次鼠标点击以来是否经过了足够长的时间来区分单击与双击事件
            if (Time.time - followMouseTimer >= 0.5f){
                //已超出规定时间 重新计时
                followMouseTimer = Time.time;
                //重置点击计数器为零
                clickCount = 0;
            }
            else{
                //在时间间隔内
                if (clickCount > 1)
                    //双击
                    followMouse = true;
            }
        }
    }
    #endregion
}
运行即可实现移动目标中的光标效果

到达位置后光标会消失

本篇只实现了移动中的目标光标效果,接下来还需做以下内容:

1.让主角打开背包或者其他UI时点击UI功能时不会使人物进行移动(禁止射线穿透行为)

2.新输入系统的人物转向功能

3.摄像机跟随主角移动

4.人物释放技能

5.怪物的生成

6.怪物UI信息(笼)

7.3D模型投射UI(UGUI)界面

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0

http://www.yidumall.com/news/82468.html

相关文章:

  • 专做酒的小程序网站seo网络推广是干嘛的
  • 优秀网站展示360推广平台登录入口
  • jsp购物网站开发环境网络营销的六个特点
  • wordpress 本地 慢seo广告平台
  • 招聘网站哪个好用企业seo服务
  • 3dmax自学难吗衡阳seo优化报价
  • 企业门户网站费用同城推广平台有哪些
  • html手机网站模板企业网络的组网方案
  • dede 网站改宽屏代码中国百强企业榜单
  • 比稿网站抖音seo推广
  • 网站三要素怎么做全球搜索引擎排名2022
  • 广州网站开发哪家好网络营销所学课程
  • 网站上线发布流程网络销售都是诈骗公司吗
  • 安徽政府网站建设南宁网站建设公司排行
  • wordpress 图片预加载插件武汉谷歌seo
  • 河南官网网站建设报价广州推广系统
  • seo做网站真的赚钱东莞网络优化哪家公司好
  • 乐清站在那儿什么平台免费推广效果最好
  • wordpress 做的网站福州网seo
  • 怎么建设手机电影网站关键词营销优化
  • 做照片用的视频模板下载网站好成都seo优化外包公司
  • 合同管理软件绍兴seo网站推广
  • 如何做论坛网站 知乎衡阳seo外包
  • 建筑设计专业的网站关键词优化是什么意思?
  • 哪些网站是dz做的关键一招
  • 做废铁在哪个网站推广seo的工作内容主要包括
  • 创建一个网站的步骤是精准客源
  • 江西城开建设集团有限公司网站简单的html网页制作
  • 比利时网站的后缀百度推广运营公司
  • 网站logo上海正规seo公司