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

链家网的网站开发费用大概多少钱可以自己做歌曲的网站

链家网的网站开发费用大概多少钱,可以自己做歌曲的网站,玉林电信网站备案,响应式网站开发设计Unity开发ARFoundation相关应用首先安装ARFoundation包 然后设置XR 1.基础AR场景框架搭建 2.一个基本的点击克隆物体到识别的平面脚本 挂在XROrigin上 脚本AppController 脚本说明书 ## 业务逻辑 AppController 脚本旨在实现一个基本的 AR 应用程序功能#xff1a;用户通过…Unity开发ARFoundation相关应用首先安装ARFoundation包 然后设置XR 1.基础AR场景框架搭建 2.一个基本的点击克隆物体到识别的平面脚本 挂在XROrigin上 脚本AppController 脚本说明书 ## 业务逻辑 AppController 脚本旨在实现一个基本的 AR 应用程序功能用户通过触摸屏幕选择位置然后在这个位置上克隆并放置一个预制的游戏对象。这个功能在 AR 应用程序中很常见例如在游戏、教育或设计应用程序中用户可以在现实世界的位置上放置虚拟物体。 代码 using JetBrains.Annotations; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems;[RequireComponent(typeof(ARRaycastManager))]//当你在脚本中使用 [RequireComponent] 属性时Unity编辑器会在编辑模式下自动检查并确保该组件存在于游戏对象上。如果该组件不存在Unity会提示你添加它。这有助于避免在运行时出现错误因为如果脚本依赖于某个组件而该组件没有出现在游戏对象上那么在游戏运行时尝试访问该组件的任何尝试都会导致错误或异常。 public class AppController : MonoBehaviour {// 主要实现了用户点击位置克隆游戏物体//1.获取用户点击位置发射射线碰撞到平面返回坐标克隆物体在此public GameObject OnePrefab;//将来被克隆放置的预制体static ListARRaycastHit ManyHits;//存储很多个 撞击物体后的相关信息private ARRaycastManager OneRaycastManager;//存储射线发射器组件private GameObject TempObj null;//用户点击地面后存储克隆在地面上被放置的物体void Start(){ManyHits new ListARRaycastHit();//声明投射OneRaycastManager this.gameObject.GetComponentARRaycastManager();//获取脚本所在物体的ARRaycastManager组件}// 获取用户点击行为void Update(){if (Input.touchCount 0)//如果点击0{return;}// 获取第一个触摸点的信息Touch OneTouch Input.GetTouch(0);//获取第一个触摸点//开始声明射线然后投射出去物理引擎是用physic.Raycast。这里用ARRaycastManager投射就像人扔东西一样//一边发射一边判断是否射中平面if (OneRaycastManager.Raycast(OneTouch.position, ManyHits, TrackableType.PlaneWithinPolygon | TrackableType.PlaneWithinBounds)){//AR射线管理器组件向触摸点的位置发射一根射线并且击中平面射线追踪类型为虚拟多边形平面目标类型Debug.Log(射线发射成功 /射线击中了边界内的平面开始处理命中结果);Pose FirstHitPose ManyHits[0].pose;//存储第一个击中目标信息包括对方名字、交叉点坐标//开始克隆if (TempObj null){TempObj GameObject.Instantiate(OnePrefab, FirstHitPose.position, FirstHitPose.rotation);}else{TempObj.transform.position FirstHitPose.position;}//为了防止重复点击重复克隆可以判断TempObj 是不是空}} }## 程序逻辑 1. **组件依赖**    - 脚本使用 [RequireComponent(typeof(ARRaycastManager))] 属性来确保游戏对象上存在 ARRaycastManager 组件。这个组件是 AR Foundation 的一部分用于处理射线检测和跟踪。 2. **变量声明**    - OnePrefab 是一个公共变量用于存储将要被克隆的预制体。    - ManyHits 是一个静态列表用于存储射线检测的结果。    - OneRaycastManager 是 ARRaycastManager 类型的变量用于存储获取到的 ARRaycastManager 组件。    - TempObj 是一个 GameObject 类型的变量用于存储克隆后放置在地面上的物体。 3. **初始化**    - 在 Start 方法中脚本初始化 ManyHits 列表并获取 ARRaycastManager 组件。 4. **射线检测与克隆**    - 在 Update 方法中脚本首先检查是否有触摸事件发生Input.touchCount。    - 如果有触摸事件脚本获取第一个触摸点的信息并使用 OneRaycastManager 进行射线检测。    - 如果射线检测成功击中平面TrackableType.PlaneWithinPolygon | TrackableType.PlaneWithinBounds脚本将获取第一个命中点的 Pose。    - 脚本随后检查 TempObj 是否为空。如果是空的意味着这是第一次点击脚本将实例化一个新的游戏对象并放置在命中点位置。    - 如果 TempObj 不为空脚本将更新其位置到新的命中点。 ## 核心算法介绍 1. **射线检测**    - ARRaycastManager.Raycast 方法用于从用户触摸点发射射线并检测射线是否击中了 AR 场景中的平面。    - 射线检测的类型由 TrackableType 参数指定这里使用了 PlaneWithinPolygon 和 PlaneWithinBounds 来限制射线只检测用户定义的特定平面区域。 2. **克隆与放置**    - 脚本使用 GameObject.Instantiate 方法来克隆预制体并使用 Pose 来设置克隆物体的位置和旋转。    - 通过检查 TempObj 的状态脚本确保用户不会重复克隆物体除非之前的克隆物体被移除或销毁。 ## 使用说明 - 将 AppController 脚本附加到一个游戏对象上并确保该游戏对象上有 ARRaycastManager 组件。 - 在 Unity 编辑器中将你希望克隆的预制体拖拽到 OnePrefab 变量上。 - 运行应用程序通过触摸屏幕来选择位置并放置克隆的物体。 ## 注意事项 - 确保你的 AR 设备或模拟器已经正确设置并支持 AR Foundation。 - 调整射线检测的类型和参数以适应你的应用程序需求。 - 如果需要限制克隆物体的数量可以添加额外的逻辑来管理 TempObj 的生命周期。 TrackableType.PlaneWithinPolygon 是什么意思 TrackableType.PlaneWithinPolygon 是 Unity AR Foundation 中的一个枚举值用于指定射线检测Raycast的目标类型。这个枚举值是 TrackableType 的一个成员它定义了射线检测可以击中的跟踪目标类型。 在 AR 应用中平面Plane是指由 AR 系统识别的环境表面通常是水平或垂直的表面如地板、墙壁或桌面。PlaneWithinPolygon 特指那些被定义为多边形边界内的平面。这意味着射线检测将只寻找并返回位于用户定义的多边形区域内的平面。 使用 TrackableType.PlaneWithinPolygon 可以限制射线检测的结果使其只返回特定区域内的平面这对于某些特定的 AR 场景和交云操作非常有用。例如你可能只想在用户放置的特定区域如一个虚拟房间的地面上进行交互而不是任何可见的平面。 在实际使用中你可以将 TrackableType.PlaneWithinPolygon 作为参数传递给 ARRaycastManager.Raycast 方法来指定射线检测的类型。这样只有当射线击中了多边形区域内的平面时射线检测才会返回命中结果。
http://www.w-s-a.com/news/949843/

相关文章:

  • 网站建设管理人员济宁网站建设top
  • 桂林网站建设桂林网站的元素有哪些
  • 广东网站开发推荐网页制作个人简历模板教程
  • e建网保定百度seo公司
  • 网站建设中html代码网络培训课堂app
  • 无锡做网站seo自己做的网站如何上传网上
  • 园林景观网站模板小白怎么做跨境电商
  • 找第三方做网站 需要注意企业网站带数据库
  • 北京南站到北京站flash网站制作单选框和复选框ui组件
  • 网站建设核电集团网站设计案例
  • 宝塔做的网站能不能访问上海的广告公司网站建设
  • 网站会员系统方案新能源网站建设哪家好
  • 全球网站域名域名被墙查询
  • 做期货看资讯什么网站好哈尔滨网站设计联系方式
  • 建站宝盒免费下载上海网论坛网址
  • 国内最有趣的25个网站推广流程
  • 红河做网站抖音小程序怎么挂到抖音上
  • 高度重视机关门户网站建设外包
  • 网站里面送礼物要钱怎么做代码网站开发怎么对接客户
  • 泰州网站制作策划如何做网站需求
  • 门户网站优化报价软件技术公司
  • 怎样换网站logo公司名字大全集免费
  • 为网站网站做推广各类最牛网站建设
  • 网站用自己的电脑做服务器佛山做网站制作公司
  • 一个网站如何做cdn加速器如何上传网站数据库
  • 汝州住房和城乡建设局新网站营销网站定位
  • yy直播官网seo引擎优化是什
  • 做影视网站违法莫品牌营销是什么
  • 全网最稳最低价自助下单网站wordpress电影网站主题
  • 域名更换网站温州建设工程网站