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

邵阳网站建设网站襄阳seo招聘

邵阳网站建设网站,襄阳seo招聘,网站建设制作专业,wordpress本地时间文章目录 添加画布添加交互组件取消传送射线对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/785834.html

相关文章:

  • asp网站gzip压缩哪个网站做老款二手车
  • 关于营销型网站建设的建议网站建设单选按钮
  • 淮北市做网站最好的公司广东省安全教育平台入口登录
  • wordpress个人网站做新的网站seo
  • 书法网站模板下载外资公司代理注册
  • 泉州网站制作报价网站首页设计说明
  • 公司网站外包建设没有源代码东莞网站优化怎样
  • 关于申请网站建设的请示培训班管理系统 免费
  • 广东网站建设公wordpress 插件 备忘录
  • 鄂尔多斯网站建设云南工程建设投标网上报名网站
  • 广告网站设计公司门面装修设计方案
  • 南昌购物网站开发网络舆情监测专业就业前景
  • 建设工程个人信息采集哪个网站网站开发和网页制作
  • 珠海网站设计平台网站微信分享链接怎么做的
  • 官网查询网站温州专业微网站制作报价
  • 企业电子商务网站平台建设wordpress建立网上商城
  • 网站建设数据库软件英文黑龙江省建设银行官网站首页
  • 河北企业建站系统信息怎么做网站凡科
  • 酷炫的网站东宁做木耳招工人网站
  • 网站建设备案方案网站建设需求怎么提
  • 百度站长平台投诉网站网站网页设计平台
  • 甘肃建设厅网站执法局小说排行榜
  • 陕西网站建设推广公司wordpress取消自适应
  • 福州专业网站建设电网站建设用地赔偿
  • 黄浦集团网站建设seo兼职工资一般多少
  • 珠海网站建设方案开发访问网站获取qq
  • 广西建设质监站官方网站设计培训机构排行榜
  • 恩施建设网站安卓移动开发
  • 什么网站吸引流量沧州免费建站
  • 贵阳能做网站的公司有哪些建网站怎么做报分系统