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

秦皇岛建设网站官网万江专业网站快速排名

秦皇岛建设网站官网,万江专业网站快速排名,动漫做的游戏 迅雷下载网站,洛可可设计文章目录 添加画布添加交互组件取消传送射线对UI的控制解决按扳机键会传送的冲突按下按键呼出菜单,并让菜单出现在头的前方 添加画布 创建一个新画布,添加一个Button,将画布改为world space,然后缩放改为0.001,调整到…

文章目录

    • 添加画布
    • 添加交互组件
    • 取消传送射线对UI的控制
    • 解决按扳机键会传送的冲突
    • 按下按键呼出菜单,并让菜单出现在头的前方

添加画布

创建一个新画布,添加一个Button,将画布改为world space,然后缩放改为0.001,调整到合适的位置

添加交互组件

1 为画布添加Tracked Device Graphic Raycaster
在这里插入图片描述
2 找到eventSystem,删除自带的输入模块
在这里插入图片描述
然后添加XR UI Input Modeule
在这里插入图片描述

此时即可进行交互,triiger键是鼠标左键,注意画布本身不受interactionToolkit的layer影响,任何射线都可以控制他

取消传送射线对UI的控制

取消勾选这个
在这里插入图片描述

解决按扳机键会传送的冲突

由于我设置的传送按键是扳机键,在点击UI时会同时触发传送
解决思路是,当抓取射线在UI上时,禁用传送射线,用抓取射线进行UI交互
编写脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.XR.Interaction.Toolkit;public class ActivateTeleportationRay : MonoBehaviour
{public GameObject leftTeletportation;public GameObject rightTeletportation;public InputActionProperty leftActivate;public InputActionProperty rightActivate;public InputActionProperty leftCancel;public InputActionProperty rightCancel;public XRRayInteractor leftRay;public XRRayInteractor rightRay;private void Update(){leftRay.TryGetHitInfo(out Vector3 leftPos,out Vector3 leftNormal,out int leftNumber,out bool leftValid);//抓取射线指向了交互物体(UI或可抓取物体),没有按下抓取键,已经扣动了扳机,才激活传送射线leftTeletportation.SetActive(!leftValid&&leftCancel.action.ReadValue<float>() == 0&&leftActivate.action.ReadValue<float>() > 0.1f);rightRay.TryGetHitInfo(out Vector3 rightPos, out Vector3 rightNormal, out int rightNumber, out bool rightValid);rightTeletportation.SetActive(!rightValid&&rightCancel.action.ReadValue<float>() == 0&&rightActivate.action.ReadValue<float>() > 0.1f);}
}

在这里插入图片描述

按下按键呼出菜单,并让菜单出现在头的前方

编写如下脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;public class GameMenuManager : MonoBehaviour
{public GameObject menu;public InputActionProperty showButton;public Transform head;public float spawnDistance = 2;void Update(){if (showButton.action.WasPressedThisFrame()){menu.SetActive(!menu.activeSelf);menu.transform.position = head.position + new Vector3(head.forward.x,0,head.forward.z).normalized*spawnDistance;}menu.transform.LookAt(new Vector3(head.position.x, menu.transform.position.y, head.position.z));menu.transform.forward *= -1;}
}

新建一个物体“游戏菜单”,挂载脚本
将菜单的画布设置为游戏菜单的子物体
在这里插入图片描述
设置脚本的参数
在这里插入图片描述

http://www.dtcms.com/wzjs/168929.html

相关文章:

  • 网站中的链接是一个一个html做的贵港seo关键词整站优化
  • 乐清建设网站公司宁波seo搜索引擎优化
  • 国内个人网站欣赏抖音视频排名优化
  • 做项目接任务的网站sem是什么意思中文
  • 南通做网站的公司河南网站建站推广
  • 做网站服务器要用多大企业关键词排名优化哪家好
  • 霸州网站制作国外新闻最新消息
  • html5做网站好吗搭建网站费用是多少
  • 做网站注册商标编程培训机构加盟哪家好
  • 桐乡哪里有做网站的百度平台电话
  • 深圳企业网站建设报价网络教学平台
  • 网站建设分享文章杭州网站seo推广软件
  • 石家庄网络推广建站白杨seo教程
  • c 网站开发平台十大搜索引擎入口
  • 中企动力做的网站后台怎么登陆国际新闻今天最新消息
  • 网站设计工资怎么样学生网页制作成品
  • 国内最先做弹幕的网站销售外包
  • wordpress多个站点seo自然排名优化
  • 建一个网站 服务器机房托管价格谷歌google官网下载
  • 毕业设计做网站 答辩会问什么问题近三天发生的大事
  • 网站建设新闻 常识seo网络推广方法
  • 建设工程信息网站有哪些互联网行业都有哪些工作
  • 怎样与知名网站做友情链接济南网站制作公司
  • 网站单页制作教程广州网站推广联盟
  • 旺旺号查询网站怎么做网络营销工作内容和职责
  • 欧美网站建设排名大全华与华营销策划公司
  • 安徽方圆建设有限公司网站百度一下 你就知道官方
  • 网站挂黑链厦门seo大佬
  • 做网站内链什么意思恶意点击软件哪个好
  • 同里做网站网络广告电话