前言

这篇文章是【Oculus Interaction SDK】系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言。如果文章的内容已经不适用于新版本了,也可以直接联系我,我会持续更新文章内容。

当前适用版本:

  • Unity 版本:2021.3.7f1c1
  • Oculus Interaction SDK 版本:47.0

文章最近更新日期:2023.02.08


给可操作物体添加限制

在这里依旧使用之前文章中制作好的物体 Cube(Both)进行测试,不清楚的可以看一下这篇文章

【Oculus Interaction SDK】(一)设置 VR 相机与控制器 && 实现简单的抓取功能 - 千叶Christa - 博客园 (cnblogs.com)

复制出一个物体,并修改名称为 Limited Movement

之前在添加 Grabbable 组件的时候,我们都没有给组件任何参数,那是因为项目运行时会自动添加一个单手操作器 One Grab Free Transformer

我们可以通过自己添加单手操作器的方式来限制物体的运动

限制移动

给测试物体添加组件 One Grab Translate Transformer,然后把这个组件赋值给 Grabbable 的 One Grab Transformer

测试物体原本的位置是(0,1,0.3),我想让它仅在 X 轴上移动,并且限制它的移动范围为 (-0.2,0.2),那么需要控制三个轴:Y 轴与 Z 轴锁定在原位置,X 轴给出活动范围

注:这里设置的参数对应物体的 LocalPosition

完成后效果如下

限制旋转

给测试物体添加组件 One Grab Rotate Transformer,然后把这个组件赋值给 Grabbable 的 One Grab Transformer

在只调整旋转轴(Rotation Axis),不给旋转锚点、不限制角度的情况下,物体会自身中心为旋转锚点,向对应方向进行旋转

效果如下:

如果给定一个旋转中心(Pivot),该物体就会围绕旋转中心进行旋转(为了方便演示,对测试物体进行了缩放,同时包含了角度限制)

效果如下:

参考资料

https://www.youtube.com/watch?v=P0rbFHWpKnA

最新文章

  1. SQL --分组【Group By】
  2. hibernate3
  3. 要引用这几个才有GetOwinContext与GetAutofacLifetimeScope
  4. poj分类
  5. Angular权威指南学习笔记
  6. PDA手持终端在ERP系统仓库管理出入库盘点环节的应用
  7. (spring-第8回【IoC基础篇】)BeanDefinition在IoC容器中的注册
  8. 16、编写适应多个API Level的APK
  9. 局域网内通过UDP协议进行传输接受数据——AsyncUdpSocket
  10. (转)xcode报Could not find a storyboard named...错误的解决办法
  11. Ubuntu adb devices 出现??? no permissions 的解决方法
  12. 《火球——UML大战需求分析》(0.1)——开篇废话
  13. ECOS-Ecstore mongodb大数据 读写效率优化
  14. 基于Express+Socket.io+MongoDB的即时聊天系统的设计与实现
  15. java 反射(Reflection)
  16. asp.net core的DI框架思考以及服务实例的获取方式总结
  17. 一款堪称完美的编程字体Source Code Pro
  18. 大数据入门第五天——离线计算之hadoop(上)概述与集群安装
  19. Hadoop基础-HDFS的API实现增删改查
  20. C语言实现 读取写入ini文件实现(转)

热门文章

  1. 论文笔记 - RETRIEVE: Coreset Selection for Efficient and Robust Semi-Supervised Learning
  2. 论文笔记 - Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity
  3. LabVIEW+OpenVINO在CPU上部署新冠肺炎检测模型实战
  4. pagehelper使用有误导致sql多了一个limit
  5. i春秋phone number
  6. CopyOnWriteArrayList 是如何保证线程安全的?
  7. uniCloud云开发入门以及对传统开发方式的思考
  8. 安装mySql 出现 one more product requirements have not been satisified
  9. 设计链表-LeetCode707 基础题
  10. JavaEE Day13 Tomcat和Servlet