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

【Unity VR开发】结合VRTK4.0:自身移动(滑动)

语录:

依山傍水房树间,行也安然,住也安然;

一条耕牛半顷田,收也凭天,荒也凭天;

雨过天晴驾小船,鱼在一边,酒在一边;

夜晚妻子话灯前,今也谈谈,古也谈谈;

日上三竿犹在眠,不是神仙,胜似神仙!


前言:

滑动允许对象通过向前/向后或侧面扫射运动沿着表面平滑滑动来围绕场景移动。我们将实现这种形式的运动,以使用控制器操纵杆的输入在跟踪的别名周围移动。


方法一:

步骤一:

        我们重新创建一个场景,然后分别创建游戏对象:CameraRigs.TrackedAlias、CameraRigs.UnityXR、Plane,这是我们的准备工作,前面都有说明怎么创建。

步骤二:

        首先,我们创建游戏对象:Input.UnityInputManager.1DAxisAction,然后重新命名为:HorizontalAxisAction,并将其上的属性Axis Name命名为:Horizontal;

然后将 游戏对象:HorizontalAxisAction复制出来一个,重新命名为:VerticalAxisAction,并将其上的属性Axis Name命名为:Vertical;

步骤三:

        接下来是重点, 我们现在需要确定哪些动作控制我们的滑块运动,并且,监听到我们的操作,并反馈出来,这时我们需要借助VRTK的另一个模块:Locomotors.AxisMove.Vertical-Slide.Horizontal-Slide

GameObject -> Tilia -> Prefabs -> Locomotors -> AxisMove -> Locomotors.AxisMove.Vertical-Slide.Horizontal-Slide

 步骤四:

          将我们前面创建的HorizontalAxisActionVerticalAxisAction拖放到游戏对象Locomotors.AxisMove.Vertical-Slide.Horizontal-Slide的Axis Settings属性上。

         我们现在需要决定在场景中滑动什么对象。如果我们想控制自己作为一种运动形式,那么我们可以使用预制件元素来移动自己。

         这样我们基本上已经实现了滑动的效果,运行场景后会发现,通过触摸圆盘,自身在前后左右移动,但是,也面临一个问题,那就是移动的方向不能根据我们的视角进行前进,也就是我们需要它朝着我们正在寻找的方向前进。

      播放 Unity 场景,您将能够通过触摸板来滑动自身对象。


 方法二:

步骤一:

        我们重新创建一个场景,然后分别创建游戏对象:CameraRigs.TrackedAlias、CameraRigs.UnityXR、Plane,这是我们的准备工作,前面都有说明怎么创建。

步骤二:

        我们首先需要创建两个手柄,即左手和右手:Input.UnityInputManager.OpenVR.LeftController、Input.UnityInputManager.OpenVR.RightController创建方式前面有讲过哦!

 

步骤三:

      Locomotors.AxisMove.Vertical-Slide.Horizontal-Slide

 步骤四:

          将我们前面创建的Input.UnityInputManager.OpenVR.RightControllerInput.UnityInputManager.OpenVR.LeftController拖放到游戏对象Locomotors.AxisMove.Vertical-Slide.Horizontal-Slide的Axis Settings属性上。

        我们现在需要决定在场景中滑动什么对象。如果我们想控制自己作为一种运动形式,那么我们可以使用预制件元素来移动自己。

        这样我们基本上已经实现了滑动的效果,运行场景后会发现,通过触摸圆盘,自身在前后左右移动,但是,也面临一个问题,那就是移动的方向不能根据我们的视角进行前进,也就是我们需要它朝着我们正在寻找的方向前进。

        播放 Unity 场景,您将能够通过触摸板来滑动自身对象。

相关文章:

【Unity VR开发】结合VRTK4.0:自身移动(滑动)

语录: 依山傍水房树间,行也安然,住也安然; 一条耕牛半顷田,收也凭天,荒也凭天; 雨过天晴驾小船,鱼在一边,酒在一边; 夜晚妻子话灯前,今也谈谈…...

G1垃圾回收器详解

文章目录前言一、思考问题二、官方文档三、基本介绍四、G1的内存模型五、G1的标记过程六、G1的垃圾回收1、G1过程梳理2、Young GC3、Mixed GC4、Full GC七、参数介绍八、典型问题1、疏散失败(Evacuation Failure)2、大对象分配(Humongous All…...

tws耳机哪个牌子音质好?tws耳机音质排行榜

随着蓝牙耳机市场的不断发展,使用蓝牙耳机的人也逐渐增多,近年来更是超越有线耳机成为最火爆的数码产品之一。那么,tws耳机哪个牌子音质好?下面,我来给大家推荐几款音质好的tws耳机,可以当个参考。 一、南…...

TIA博途中DB数据块清零的具体方法示例

TIA博途中DB数据块清零的具体方法示例 TIA中数据块如何实现清零? 在TIA指令集内有多个移动指令可对DB块内数据进行清零处理。对于S7-1500 CPU或ET200SP CPU来说,可使用BLKMOV、FILL以及SCL的POKE_BLK指令。但是这些指令对DB块清零时,要求DB块必需为非优化DB。 对于优化的DB…...

iptables防火墙屏蔽指定ip的端口

因为需要测试客户端程序与hadoop服务器之间正常通信需要开通的端口, 所以在hadoop各服务器上使用iptables防火墙屏蔽了测试客户端程序的ip和所有端口。然后,根据报错信息提示的端口号来逐步放开直到能正常通信下载文件。 在服务器端屏蔽指定ip访问所有端口 #查看…...

JavaScript Math(算数) 对象

JavaScript Math(算数) 对象 Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象。 Math 用于 Number 类型。它不支持 BigInt。 描述 与其他全局对象不同的是,Math 不是一个构造器。Math 的所…...

超详细的JAVA高级进阶基础知识04

目录 4. 面向对象高级 - 常用的API 4.1 Arrays 工具类 4.1.1 Arrays 类介绍 4.2 冒泡排序 4.3 选择排序 4.4 二分查找 4.5 正则表达式 4.5.1 String 类中与正则有关的常见方法 4.5.2 练习 4.5.3 今日学习目标 4. 面向对象高级 - 常用的API 4.1 Arrays 工具类 4.1.1…...

Python 运算符?

什么是运算符? 本章节主要说明Python的运算符。举个简单的例子 4 5 9 。 例子中,4 和 5 被称为操作数, 称为运算符。 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符…...

linux nuxt 部署 问题汇总

安装node centos 7 请选择 node版本 v16.1.0 进行安装, npm 版本 7.11.2 亲测这个版本有效,否则会出现 Error: Cannot find module ‘node:fs/promises‘ 等问题 node安装亲参照: Linux node 安装教程_linux node安装_围城少年的博客…...

C++内存管理

文章目录1. c的内存管理例题2.c管理方式1.c的内置类型1.申请一个空间并初始化2.申请连续的空间并初始化3.总结2.c的自定义类型2.总结3.operator new与operator delete函数4.new和delete的实现原理1.内置类型2.自定义类型内存泄露问题&&delete先析构的原因编译器实现机制…...

电子招投标系统源码之 —采购数字化转型快人一步,以大数据支撑供应链管理未来

采购数字化转型快人一步,以大数据支撑供应链管理未来 招标采购为主的一站式全流程数字化采供协同。平台满足询比价、招标、竞价、拍卖、协议直采、商城采购等多种采购定价方式,采购过程全程留痕可追溯。平台支持企业通过WEB、APP、小程序等终端完成采购需…...

ie获取cookie数据,中文乱码;cookie中文乱码终极解决办法

终极解决办法 cookie存中文数据是会出现乱码的,所以在存数据前,得先“编码”,取的时候先“解码” JS方法-编码:encodeURI("你好") 结果:"%E4%BD%A0%E5%A5%BD"JS方法-解码:decodeURI(&…...

day16_关键字this和super丶就近原则和追根溯源原则

this关键字 含义:this代表当前对象 this使用位置 this在实例初始化相关的代码块和构造器中:表示正在创建的那个实例对象,即正在new谁,this就代表谁this在非静态实例方法中:表示调用该方法的对象,即谁在调…...

MySQL 共享锁 (lock in share mode),排他锁 (for update)

共享锁 (lock in share mode) 简介 允许不同事务之间加共享锁读取,但不允许其它事务修改或者加入排他锁 如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁 共享锁事务之间的读取 session1: start transaction; select * from…...

类与对象(下)

文章目录类与对象(下)1. 再谈构造函数1.1 构造函数体赋值1.2 初始化列表特点推荐坑1.3 explicit关键字2. static成员2.1 概念面试题解法1解法2解法3(重要)2.2 特性问题3. 友元3.1 友元函数说明3.2 友元类4. 内部类4.14.25. 匿名对象6.拷贝对象时的一些编译器优化总结类与对象(下…...

feign技巧 - form方式传值

feign技巧 - form方式传值。 0. 文章目录1. 前言2. 调用样例3. 原理解析3.1 feign端序列化参数3.2 SpringMVC服务端解析参数3.3 补充 - 继承关系不会被传递的原因3.4 补充 - 不能使用GET。4. 总结1. 前言 直接正题。 如何使用feign进行fom表单方式的请求调用,以及其…...

MATLAB | 情人节来绘制更立体的玫瑰花吧

又是一年情人节,今年带来一款更有立体感的玫瑰: 曲面的函数表达式来自: http://www.bugman123.com/Math/index.html 这个网站,上面还有很多其他帅气的玩意。 基础绘制 xlinspace(0,1,300); thetalinspace(-2*pi,15*pi,300); [x,theta]meshg…...

【Python表白代码】 2.14“Valentine‘s Day”“没别的意思 就是借着特殊日子说声喜欢你”你在哪儿?我去见你~(各种玫瑰源码合集)

导语 Valentines Day Every man is a poet when he is in love 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 哈喽!我是你们的木木子吖~ 情人节又到了,礼物备好了没&am…...

压力应变电桥信号隔离放大变送器差分输入0-±10mV/0-±20mV转0-20mA/0-10v

概述:DIN11 IPO 压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号导轨安装变送模块。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。此系列模块内部嵌入了一个高效微功率的电源,向输入…...

Linux系统之部署个人导航页

Linux系统之部署个人导航页 一、本次导航页工具介绍二、检查本地系统环境1.检查系统版本2.检查系统内核版本三、下载导航页软件包1.创建下载目录2.下载导航页软件包四、部署前环境准备工作1.安装python32.安装pipenv3.创建虚拟环境①创建环境②修改base.py文件③修改settings.p…...

四、Windows 平台安装 MongoDB

MongoDB 提供 64 位系统的预编译二进制包 我们可以从 MongoDB 官网下载安装 MongoDB 预编译二进制包下载地址:Try MongoDB Atlas Products | MongoDB 在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统 最新版本也已经没有了 32 位系统的安装文件 MongoDB for W…...

浅谈应用安全测试工具

正确的应用程序安全测试工具可以改善企业安全态势和开发工作流程。如今,应用程序安全从一开始就内置在整个软件生命周期中,即使是具有成熟开发实践的组织也需要自动化工具来在复杂、快速变化的环境中成功地保护他们的软件。以下比较了三个广泛使用的应用…...

四类(七种)排序算法总结

一、插入排序 基本思想: 每次将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。即边插入边排序,保证子序列中随时都是排好序的。 基本操作——有序插入&#xff…...

[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal

编码进化 回忆上次内容 上次 研究了 视频终端的 演化 从VT05 到 VT100从 黑底绿字 到 RGB 24位真彩色形成了 VT100选项 从而 将颜色 数字化 了 生活中我们更常用 10个数字 但是 计算机中 用二进制 日常计数的十进制数 是如何存储进计算机的呢?🤔 从10进制到2进…...

理解框架的编译时与运行时

首先我们需要先理解一下什么事编译时和运行时 在语言层面,先来聊一下前端开发者最常遇见的两种语言JavaScript和Java Java的代码就是被编译为.class 文件才能运行,这个编译过程就是编译时,运行 .class 文件就是运行时我们在浏览器直接输入一…...

推挽电路---采用二极管消除交越失真----克服交越失真的互补推挽输出电路图

交越失真产生的原因及消除方法 由于晶体管的门限电压不为零,比如一般的硅三极管,NPN型在0.7V以上才导通,这样在00.7就存在死区,不能完全模拟出输入信号波形,PNP型小于-0.7V才导通,比如当输入的交流的正弦波…...

day11_面向对象

今日内容 零、 复习昨日 一、一日一题(数组,OOP) 二、面向对象练习(方法参数返回值) 三、局部变量&成员变量 四、this关键字 五、构造方法 六、重载 七、封装 小破站同步上课视频: https://space.bilibili.com/402601570/channel/collectiondetail?…...

大数据处理学习笔记1.1 搭建Scala开发环境

文章目录零、本讲学习目标一、Scala简介(一)Scala概述(二)函数式编程(三)Scala特性1、一切都是对象2、一切都是函数3、一切都是表达式(四)在线运行Scala二、选择Scala版本三、Window…...

VSCODE C++ 调用matplotlibcpp画图

使用VSCODE编写C程序,想在调试过程中看中间数据的波形,于是找到了python的matplotlibcpp库,参考文章链接是:https://blog.csdn.net/weixin_43769166/article/details/118365416;按照他的步骤配置好之后,跳出…...

面对“开门红”,跨境支付如何寻求新增长曲线?

易观:2022年是第三方支付行业洗牌加剧的一年,在部分机构选择退出的过程中,也有机构开始瞄准跨境业务,成为了支付机构转型的重要方向之一。跨境支付是指两个或及其以上的国家或地区进行国际贸易、国际投资或其他经济活动&#xff0…...

湖北荆门建设银行网站/东莞今日头条新闻

通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程 displayThread 想要执行显示图片的任务,必须等待下载线程 downloadThread 将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当download…...

高手做网站/深圳关键词排名seo

题目大意:给定一个序列 多次求区间中多少个数出现次数为偶数次 强制在线 非常神的一道分块的题……记得刚进BZ坑的时候看到这道题50秒特别惊奇0.0 然后我就作死去交了个死循环0.0 看了非常多题解 都没看懂 最后还是把零碎的思想硬拼到一起才写完0.0 我们首先分块 然…...

途牛电子商务网站建设/电商运营自学全套教程

系列文章 -- ES6笔记系列 解构赋值,即对某种结构进行解析,然后将解析出来的值赋值给相关的变量,常见的有数组、对象、字符串的解构赋值等 一、数组的解构赋值 function ids() {return [1, 2, 3]; }var [id1, id2, id3] ids();console.log(id…...

龙岩小程序报价/宁波seo在线优化公司

前面的话 HTML5不仅新增了语义型区块级元素及表单类元素&#xff0c;也新增了一些其他的功能性元素&#xff0c;这些元素由于浏览器支持等各种原因&#xff0c;并没有被广泛使用 文档描述 <details>主要用于描述文档或文档某个部分的细节&#xff0c;与<summary>配…...

小程序入口文件/window优化大师

shell脚本批量创建用户有些面试题中会问到批量创建用户的题目&#xff0c;大体是用循环去进行创建&#xff0c;但有时也会有一些额外的附加条件&#xff0c;一起来看看今天的知识点吧。需求&#xff1a;1、自定义用户&#xff0c;不要有特殊字符&#xff1a;user01,user022、最…...

成都区块链网站开发/拉新推广怎么找渠道

经过两天的测试&#xff0c;海康RTSP终于测试成功&#xff0c;目前主流型号DS-7804N-SNH可以使用如下的RTSP语句在VLC测试 rtsp://admin:123451.1.1.1:554/Streaming/Channels/102 另外&#xff0c;在测试的时候&#xff0c;最好从命令行vlc&#xff0c;然后弹出窗口&#xf…...