当前位置: 首页 > 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/41998.html

相关文章:

  • 培训网站制作网站最新新闻
  • 检测网站是否被墙营销与销售的区别
  • wordpress运行php文件点击seo软件
  • 能源建设网站百度seo软件曝光行者seo
  • 用wordpress做网站许昌seo推广
  • Divi WordPress企业建站主题网络营销模式案例
  • 微网站与微信公众号做推广怎么做
  • 深圳高端集团网站建设公司房产网站建设
  • 深圳网站设计服务商上海网站设计
  • 河东做网站外贸网站平台哪个好
  • 彩票网站建设成本网络优化是做啥的
  • 域名备案个人网站名称企业软文代写
  • 茶叶网站建设一般的风格广西南宁市有公司网站设计
  • 四川省住房和城乡建设厅官网站网seo优化的网站
  • 新闻类网站备案 100万网络销售是干嘛的
  • html简单的旅游网页湖南企业竞价优化公司
  • 网站免费推广方式上海网站seo策划
  • 常州做网站要多少钱一站式自媒体服务平台
  • 注册网页代码seo排名策略
  • 公司网站建设中恒建设集团有限公司在哪里做推广效果好
  • 网站设计建设 武汉重庆网站搜索排名
  • 天津网站建设技术中视频自媒体平台注册
  • o2o网站建设技术搜索引擎优化seo价位
  • 建设网站的工作步骤手机网页制作软件
  • 游戏攻略网站怎么做app开发费用
  • 专业网站制作 广州番禺百度开放云平台
  • 盐城市建设工程网站百度下载app下载
  • 沂源手机网站建设公司百度快照手机入口
  • 企业网络营销的意义seo的搜索排名影响因素主要有
  • 怎么让网站绑定域名网站开发用什么语言