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

免费自助建站网站高端的网站建设

免费自助建站网站,高端的网站建设,网站建设和美工,企石网站仿做Pico VR 开发笔记(基础篇) XR Interaction Tooikit 版本 2.3.2 一、环境搭建 其实官方文档已经写的很详细了#xff0c;这里只是不废话快速搭建#xff0c;另外有一项官方说明有误的#xff0c;补充说明一下#xff0c;在开发工具部分说明 插件安装——安装pico的sdk和XR…Pico VR 开发笔记(基础篇) XR Interaction Tooikit 版本 2.3.2 一、环境搭建 其实官方文档已经写的很详细了这里只是不废话快速搭建另外有一项官方说明有误的补充说明一下在开发工具部分说明 插件安装——安装pico的sdk和XR Interaction Tooikit 环境配置——在场景里添加头显和手柄并进行配置和项目配置 开发工具——Pico提供的串流开发工具可以在不打包的情况的使用手柄和头显进行调试。 1、插件安装 pico SDK安装 pico SDK下载地址SDK - PICO 开发者平台 (pico-interactive.com) SDK下载后解压 打开unity→Window→PackgeManager→Add Package From disk(左上角)→选择解压后文件里的package.json XR Interaction Tooikit安装 在packgeManager里搜索XR Interaction Tooikit 选择版本尽量高版本不要低于2.1.0。 打开Samples 面板导入 Starter Assets、**XR Device Simulater **和 Tunneling Vignette。 2、环境配置 场景配置 添加XR Origin:Hierarchy→Add(左上角)→XR→XR Origin(VR) 手柄设置 选中Hierarchy的XR Origin子物体LeftHand Controller 配置LeftHand Controller的控件XR Controller,点击在右上角的预设选择XRI Default Left Controller 右手柄同样配置选择XRI Default Right Controller 选择手柄模型在XR Controller的Model Prefab选择LeftControllerModel(Tranform) 打包设置 选择Edit→Player→settings for Android→other Setting Minimum API Level 选择Android 10.0 Target API Level 选择Automatic(Highest installed) Scripting Backend 选择IL2CPP 勾选ARM64 选择Edit→Project Settings→XR Plug-in Management→Android Standalone Settings→选择PICO 3、开发工具 SDK安装 下载地址SDK - PICO 开发者平台 (PICO Unity Live Preview Plugin) SDK下载后解压 打开unity→Window→PackgeManager→Add Package From disk(左上角)→选择解压后文件里的package.json windows下载客户端 下载地址SDK - PICO 开发者平台 (PICO Developer Center) 在本地安装后会安装steam串流工具 为一体机开启开发者模式 开启 PICO VR 一体机。前往 设置 通用。射线对准 设置 字段并连续点击多次直到左侧导航栏下方出现 开发者 选项。点击 开发者进入开发者选项界面。打开右上角的 USB 调试开关。 *这里官方文档有误开启开发者模型要多次点击设置键 项目设置 选择Edit→Project Settings→XR Plug-in Management→ PC Standalone Settings→选择 PICO Live Preview 二、开发 1、手柄输入 得到手柄 InputDevice deviceLeft;//左手柄InputDevice deviceRight;//右手柄private void Start(){deviceLeft InputDevices.GetDeviceAtXRNode(XRNode.LeftHand);deviceRight InputDevices.GetDeviceAtXRNode(XRNode.RightHand);}手柄触发核心方法 TryGetFeatureValue 手柄扳机键触发 /// summary/// 扳机键/// /summary/// param nameinputDevice手柄/param/// param nameaction触发委托/param/// param nameValue触发参数/paramvoid triggerButton(InputDevice inputDevice, ref bool Value, Action action){if (inputDevice.TryGetFeatureValue(CommonUsages.triggerButton,out Value)Value){action();}}扳机键力度 /// summary/// 扳机键力度/// /summary/// param nameinputDevice手柄/param/// param nameaction触发委托/param/// param nameValue触发参数/paramvoid trigger(InputDevice inputDevice, ref float Value, Actionfloat action){if (inputDevice.TryGetFeatureValue(CommonUsages.trigger, out Value) !Value.Equals(0)){action(Value);}}抓握键 /// summary/// 抓握键/// /summary/// param nameinputDevice/param/// param nameaction/param/// param nameValue/paramvoid gripButton(InputDevice inputDevice, ref bool Value, Action action){if (inputDevice.TryGetFeatureValue(CommonUsages.gripButton, out Value) Value){action();}}抓握键力度 /// summary/// 抓握键力度/// /summary/// param nameinputDevice/param/// param nameaction/param/// param nameValue/paramvoid grip(InputDevice inputDevice, ref float Value, Actionfloat action){if (inputDevice.TryGetFeatureValue(CommonUsages.grip, out Value) !Value.Equals(0)){action(Value);}}摇杆方向 /// summary/// 摇杆方向/// /summary/// param nameinputDevice/param/// param nameaction/param/// param nameValue/paramvoid primary2DAxis(InputDevice inputDevice, ref Vector2 Value, ActionVector2 action){if (inputDevice.TryGetFeatureValue(CommonUsages.primary2DAxis, out Value) !Value.Equals(Vector2.zero)){action(Value);}}摇杆 /// summary/// 摇杆/// /summary/// param nameinputDevice/param/// param nameValue/param/// param nameaction/paramvoid primary2DAxisClick(InputDevice inputDevice, ref bool Value, Action action){if (inputDevice.TryGetFeatureValue(CommonUsages.primary2DAxisClick, out Value) Value){action();}}X/A /// summary/// X/A/// /summary/// param nameinputDevice/param/// param nameValue/param/// param nameaction/paramvoid primaryButton(InputDevice inputDevice, ref bool Value, Action action){if (inputDevice.TryGetFeatureValue(CommonUsages.primaryButton, out Value) Value){action();}}Y/B /// summary/// Y/B/// /summary/// param nameinputDevice/param/// param nameValue/param/// param nameaction/paramvoid secondaryButton(InputDevice inputDevice, ref bool Value, Action action){if (inputDevice.TryGetFeatureValue(CommonUsages.secondaryButton, out Value) Value){action();}}2、射线 得到射线的方法 XRRayInteractor.TryGetCurrent3DRaycastHit(out hit)XRRayInteractor是手柄上挂载的XRRayInteractor脚本。 Demo public XRRayInteractor rayInteractor;RaycastHit hit;Vector3 getRayPoint(){if (rayInteractor.TryGetCurrent3DRaycastHit(out hit)){string name hit.collider.name;Debug.Log(name);return hit.point;}else{return Vector3.zero;}}补充设置 射线的类型 类型说明Staight Line直线Projectile Curve抛物线Bezier Curve贝塞尔曲线 修改方法 rayInteractor.lineType XRRayInteractor.LineType.ProjectileCurve;不同类型的射线还有自己的参数可以修改比如Stailght Line的MaxRaycastDistance最远射线距离和ProjectileCurve的Additional Flight Time射线飞行时间都可以直接赋值。 有效射线和无效射线 当射线触碰到可触发的UI或者模型时射线为有效射线反馈则是使用了ValidColorGradient。否则是使用InvalidColorGradient。 无效射线和有效射线触碰到有碰撞的模型时同样可以返回RaycastHit区别在XR射线本身的设置上比如碰撞Reticle。 实现有效碰撞需要另外在模型上添加Tracked Device Physics Raycaster脚本等 Reticle 十字线 Reticle 是射线和模型UI碰撞的点。 添加方法 在手柄的上找到XR Interactor Line Visual脚本创建Reticle 预制体后直接添加上。 3、UI触发 触发条件 手柄射线要触发到UI,在完成VR基础场景搭建的前提下,需要挂载两个脚本。 在Canvas上增加Tracked Device Graphic Raycaster 替换EventSystem上的Standalone Input Module为XR UI Input Module模型上添加的Tracked Device Physics Raycaster脚本也是受XR UI Input Module影响的 注意事项 Canvas的Order in Layer 最好设置为负值。如果为0或者正值十字线可能会被UI遮挡。 为0时 为-1时
http://wiki.neutronadmin.com/news/234340/

相关文章:

  • 北京专业网站维护公司商务网站的建设
  • 做网站怎么套模板中国十大购物商场排名
  • 游戏开奖网站建设海原县建设局网站
  • 网上书城 网站建设策划书网站项目如何做需求分析
  • 办公用纸网站建设巨量引擎官网
  • 怎么做自己的外卖网站网站建设职业描述
  • 手机网站服务器检验是否安装wordpress
  • 网站建设捌金手指花总二八网站开发大赛发言稿
  • 手机网站报价表龙华大浪做网站
  • 辽宁省建设工程招标投标协会网站网站开发工具与技术
  • 哪些网站上推广比较好图书页面设计模板
  • 安徽省建设工程造价管理总站网站网络整合营销六大模型
  • 田贝网站建设建筑网官网平台
  • 湖南新备案的网站做电池的有哪些网站
  • asp.net做的网站要放到网上空间去_要放哪些文件上去泰安程序开发
  • 建站管理过程重庆施工员证查询网站
  • 焦作网站制作道路建设网站专题
  • 海口网站建设价格wordpress小程序 标签
  • 在哪做网站不要钱投资小利润高的小生意
  • 麻涌建设网站昆明建网站要多少钱
  • 网站推广与电话销售商城网站制作教程
  • 重庆游戏网站开发网站制作大型公司
  • 毕设做网站可以得高分吗网站文章采集
  • 响应式网站图解网站建设广东
  • 分析网站优缺点网站系统建设招标
  • 网站的页面wordpress插件直播
  • 做一个棋牌网站要多少钱网站滑动效果怎么做
  • 大连 网站建设wordpress personal主题
  • 杭州做网站电话世界青田网app
  • 用vue做网站的实例互联网公司取名