如何在VR场景中拉绳位移传感器与行走Unity VRTK

VIVE房产项目实战教程 - 蛮牛教育 - 国内最大的Unity在线学习平台|Unity培训|Unity3d培训|Unity视频学习|Unity教程 Unreal 虚幻 AR VR - Powered By EduSoho
1、UNITY ADAM DEMO,MADE WITH SUBSTANCE
2、CaronteFX特效插件
3、/gallery
the lab renderer
官方实例:
Corridor Lighting Example
The Courtyard
Viking Village
/thestonefox/SteamVR_unity_Toolkit
VR Arc Teleporter
①Profiler的使用
Window--&Profiler打开
②Fream Debugger
Window--&Fream Debugger
③优化原则
删除看不到的面;使用LOD;使用遮挡剔除。
在VR中使用UGUI案例
1.在场景中添加UI
缩放Canvas,而不是缩放Text
在样板间项目中,可以为物品使用UGUI做产品介绍
运行后Text文本非常模糊,可通过修改Canvas中的Dynamic Pixels Per Unit数值为2或更大(一般10以内),用来消除文本锯齿。
2.在手柄上创建UI,如菜单
创建Canvas作为Controller的子物体,再编辑即可。
3.与UI交互——射线
使用SteamVR Unity Toolkit
①给两个Controller添加VRTK_ControllerEvents.cs脚本组件,事件处理组件,然后添加VRTK_SimplePointer.cs发射射线脚本组件;
②给两个Controller添加VRTK_UIPointer.cs脚本组件,使按钮响应响应
③添加脚本,定义按钮响应事件。
在OnClick处添加触发的方法,如onVRButtonClick()方法
可以查看VRTK自带的第34个案例,关于UGUI的
4.Unity官方案例
Unity的VR Samples案例场景,官方教程在Unity官网可以找到。网址为:
/cn/learn/tutorials/topics/virtual-reality
其中UI界面跟随相机的设置,还有很实用的场景应用:凝视、曲面UI等,非常经典。
The Lab Renderer渲染器
1.单通道渲染和抗锯齿
2.动态调整渲染保证帧率
3.自带一些实用Shader
学习资料:蛮牛社区翻译的自带文档
①导入样板间工程,默认没有灯光,需要在Lighting--&Scene下Build一下。(删掉第一人称视角);
②场景中某些物体非常亮,可以修改Player Settings中,
其实Lab Renderer导入后会自动设置并优化;
③导入SteamVR,[CameraRig]拖入场景中;
④导入Lab Renderer;
⑤给Camera(eye)添加ValveCamera.cs脚本组件,在检视面板中可以看到优化选项。修改Valve Shadow Texture Width/Height至最大;
⑥在Edit-Project Setting-Quality中将Unity自带的阴影渲染器关掉,使用Lab的阴影计算。(这一步顺序较随意)
⑦未用到Directional light Bake,因为是实时渲染,故将其删掉。然后为所有的实时灯光(Lab渲染器最多支持18盏灯光)如在Directional light Realtime光添加ValveRealtimeLight.cs脚本组件;
⑦将场景中材质转换为渲染器自定义Shader材质,Valve-&Shader Dev-&Convert Active Materials to Valve Shaders,注意与其他选项的区别;
⑧此时场景很亮,修改光照强度,调节Intensity至合适数值如0.5;并调节阴影分辨率Shadow Resolution,通过Lab渲染器自动计算出来得到而非Unity自带,效果更好。Shadow Resolution实质与Camera (eye)上的Valve Shadow Texture Width/Height是对应的。如最大值8192的含义是这盏灯渲染的阴影都形成在像素的贴图上。根据情况调整合适数值;
⑨因为屋顶是背向剔除,是单面,需要创建遮光的屋顶,如用Cube;
⑩调整灯光适合不同情景即可。
步骤⑦后场景中的物体出现材质丢失的问题!!!严格重复步骤,没有问题。
难道与插件导入先后顺序有关???!!!
GitHub客户端软件SourceTree
过渡动画、缓动等效果的插件DoTween
在场景中瞬移
1.为什么不能像CF中一样顺畅的移动呢?
——VR场景内实质仍然是2D信息投射在人眼中,没有景深,光场的概念,若是帧率不够,非常容易眩晕。
在瞬移中,会有一个短暂的屏幕变暗的过渡。
避免重复造轮子,使用第三方的API,性能较好
工具:SteamVR Unity Toolkit
开源网址:见课时15
2.瞬移功能
按住触摸板可以发出投射曲线,当曲线落入到可到达区域,变成可以设置的颜色,然后移动过去。
①给两个Controller (left)添加VRTK_ControllerEvents.cs脚本组件,获取手柄输入;添加贝塞尔指针 脚本组件VRTK_BezierPointer.cs,
②给[CameraRig]添加VRTK_BasicTeleport.cs脚本组件,使相机瞬移。
其他瞬移插件:VR Arc Teleporter
1.获取手柄按键及触摸板的输入相应和对应数值
①创建场景,一个plane地面,一个Cube物体,给Cube添加Rigidbody刚体组件;
②将SteamVRà [CameraRig]拖入场景,删除项目中自带的主摄像机;
③创建ViveInput.cs脚本组件,用于获取手柄触发事件,将这个脚本给到两个手柄的Controller (left)、Controller (right);
④编写脚本:获取手柄按键按下后的响应
⑤编写脚本:手柄上按键、触摸板等输入的数值获取
2.示例:使用手柄抓取物体
(1)原理:每个Controller (left、right)下都有Model对象,当抓取时就是将被抓取物体作为Model的子物体,实现和手柄同步移动。
①给两个Controller (left、right)添加Sphere Collider组件,实现碰撞监测,勾选Is Trigger,调节合适位置和大小,在手柄的前半部分位置;
②定义方法,在方法内部获取手柄扳机按下事件,然后实现抓取物体(即形成父子物体),取消物体刚体影响;
other.gameObject.transform.SetParent(this.gameObject.transform);
③解决扳机松开物体还附着在手柄上的问题:使用GetTouchUp事件,恢复其刚体影响,使物体脱离手柄。
重拓普原则、技巧
Substance Designer烘焙贴图
Substance Painter绘制贴图
导入到Unity中
Shift A 新建模型
Tab 进入编辑模式
删掉plane的顶点vertexes
Ctrl+左键 添加点
Ctrl + ALt + U 修改输入方式
F2功能激活
burfaces功能 D快捷键
E键由点拉出边
开始制作低模:
Substance Designer:
/s/1jIGZeia
密码:ttd3
/s/1eSjXqlc
密码:xsgw
第10课:Lighting 参数 讲解
1、建立Sky box方法:
1-1:新建mataric,修改 shader为cubbox,j将天空盒图片拖进工程,修改为cumbox;
2、Ambient Source 环境光源:指定环境光源,有skybox、
3、Ambient Intenstry 环境光强度
4、Ambient GI 处理环境光在GI模式,一般为实时;
5、Reflection Source 反射在信息来源
6、Precomputed Realtime Gi 实时光照GI
6-1、实时光照贴图分辨率(Realtime Resolution)
第9课:光照系统(Enlighten)
1、物体设置状态 static,可以多选其他功能静态;
2、在“scene”下面,可以选择视图模式
3、在PBR理论下绚烂,需要修改 player settings 下在“other Settings”-&Color Space 为“Linear”;
4、“Light Pbrobe” 用于动态光照探针,动态物体进入这个区域可以获取光照信息;
5、“Reflection Pbrobe”反射光照探头;
6、几个官方DEMO:Corridor Lighting、The Courtyard、Viking Village
学完了课时
学完了课时
开始学习课时
开始学习课时
开始学习课时如何通过Unity快速创建1:1 VR场景?开发者给出具体操作指南
日 来源:游迅网 编辑:守望者
九十九姬UNITY3D插件独立安装版
& &日前,开发者Casland在medium上分享了他是如何通过Unity在VR中快速创建1:1 VR场景物理空间。只需不到一小时的时间就可以完成制作,而且还十分精确。
& &轻松创建1:1 VR场景视频:
& &从上图中可以看出通过Unity制作完成的虚拟场景跟现实中的房间是几乎是完全一致的,当然现实空间更为精致,但他表示你可以随意增加更多的细节,只是他本人喜欢更为基本的外观。制作方法也十分简单,Casland通过控制器来描绘出物体或空间的基本框架,然后在Unity中进行设计创作。
& &他还在Github中上传了自己的项目并介绍了具体操作指南,这样子大家就可以轻松地在VR中以1:1比例复制出现实世界中的物理空间:
& &前往Github下载这个Unity项目;
& &打开这个项目,并依次进入assets&mainScene。里面是Casland制作的空间,但你可以删掉;
& &打开场景,然后通过Vive控制器来沿着整个空间的边缘描线,记得按下扳机来记录描摹点;
& &复制素描点,终止场景,然后将描摹点粘贴进去;
& &利用这些素描点来进行制作。
& &最后你还可以通过这个插件来将你的项目以.obj格式导入。
& &如果虚拟空间有你熟悉的准确对应的参考物的话,那么在设计过程中测量大小与距离也更加轻松。另外,如果你的工作空间并没有理想房间尺度那样大小的话,这也会更好地避免你撞到显示器或者被什么东西绊倒。
游迅网官方微信:
yxdown-com(扫我)
每日推送最热最新资讯
海量手游礼包免费领取
48小时热门评论
一周热点资讯
男子买活体葫芦娃被骗笑出声,这帮人好逗! 世界政府、天龙人,谁才是世界第一邪恶组织?
2016年市场占有率暴跌一半,曾经的大佬为何沦落至此? 中国游戏制作者获得认可,精品佳作也越来越多。
CopyRight2004年-年
游迅网 All Rights Reserved
备案编号:沪ICP备号-92016第三届物联网大会
智能后视镜产品方案对接会
中国LED智能照明高峰论坛
第三届·无线通信技术研讨会
第二届·中国IoT大会
ETFo智能安防技术论坛
移入鼠标可放大二维码
VR眼镜、虚拟现实将会无处不在,相关行业知识、资源、建议助你快速入门
来源:网络整理
作者:日 15:53
[导读] 科幻作家和未来主义者在几十年前就对VR梦寐以求,黑客们也不例外。有些人怀疑VR是否会进一步发展,而另有许多人对VR感到兴奋,因为它带来的不止是技术的进步更是对于社会交往的颠覆。VR不是一项新技术,它只是变得可及。
  科幻作家和未来主义者在几十年前就对VR梦寐以求,黑客们也不例外。有些人怀疑VR是否会进一步发展,而另有许多人对VR感到兴奋,因为它带来的不止是技术的进步更是对于社会交往的颠覆。来自YC的Vincent Chen在&How to Get into VR&一文中分享了他对于VR当下现状、以及跨学科如何推动VR发展的看法,同时还提供了入门学习的一些资源和建议。
  为什么是现在?
  VR不是一项新技术,它只是变得可及。& Jeremy Bailenson(Stanford VHIL)
  VR技术已经存在多年,有从立体镜到飞行模拟器等多种形式。工程和物理等领域的学者和研究人员一直在努力使该技术变得可行。在过去的几十年中,HMD(头戴式显示器)已经成为体验VR的标配。
  在二十世纪九十年代末至二十世纪初期,有大量将VR引入大众的尝试。世嘉公司曾宣布推出一款(但从未发布)耳机。任天堂推出了Virtual Boy,这是一款包含单色HMD的视频游戏机。然而,这些尝试由于缺乏视觉保真度和处理能力不足而受阻。
  只有最近,VR的发展变得更为大众所见。 CPU 和GPU可以在价格合理的基础上提供高保真,沉浸式的体验。智能手机为移动VR提供了便宜且更易于使用的选择,而不需要将设备绑定到高端计算机上。随着越来越多的人有机会体验VR,该技术也越来越清楚应如何在更大范围内抵达消费者。
  虚拟现实和增强现实是兄弟姐妹
  VR需要模拟世界,而AR则需要对现实世界中的信息进行叠加。以手术为例,我们可以更清楚地看到其中的差异。VR可用于模拟外科医生的操作训练,而AR则可在实时手术中将视图中的指令和诊断叠加。
  有些人认为VR是AR的基石。虽然实现高保真的AR需要更大的技术飞跃,但是VR开发中所取得的进步可以帮助我们抵达彼处。
  在这篇文章中,我们避免讨论VR或AR谁更好,更有希望或更适用。相反,正如其他人猜测的那样,我们将讨论他们的共同潜力和各自面临的技术挑战。对于两者而言,在当下都是其发展的良好时机。
  VR是实实在在的技术问题
  没有像VR这种天然成型的东西&&只有跟踪,渲染和显示。跟踪是在3D空间中记录用户的位置和方向。渲染是为用户构建适当的图像。而显示器则是指硬件可以显示所渲染图像的保真度。
  我们需要用心解决这些问题直到用户不会感到不适或不舒服。视觉和前庭神经系统的自我运动的感受不契合(晕车症和晕船症是同一个道理)时,人们就会遇到模拟器眩晕症。
  这是一个很难解决的问题。作为参考,传统电脑游戏以的分辨率渲染,刷新频率为60Hz。Oculus Rift以(90Hz)的标准运行(两个显示屏对应两只眼睛)。换句话说,目前VR解决双眼眩晕的方案必须能够有效渲染1080p,且刷新率高于电脑游戏。同时,处理器需要跟踪用户的位置,并将这些信息尽可能及时地提供给头戴设备。
  即使这些要求成为现实,那也不太理想! VR显示器尚未覆盖人类的全部视野。此外,我们当然可以通过提高渲染质量,以达到如今视网膜显示器的保真度,但这所有的这一切表明我们需要8K分辨率去渲染VR!
  现在,我们遇到一个有趣的技术问题,即如何利用人类视觉系统的局限性来优化带宽和计算能力。 (例如,我们的周边视觉比我们的中心视野更糟 - 那么为什么不尝试焦点式渲染?)
  VR不仅仅适用于游戏玩家
  是的,用VR拍摄机器人很有趣。
  但VR也能提供身临其境的音乐会、博物馆、演唱会以及球场上的体育赛事。 使用VR,视频会议的质量将得到改善,因为它能更好地进行视觉接触,并提供微妙的非语言提示。同时,培训费用将下降,因为不再需要像建筑业或制造业这种行业的人力培训师。同时,可重复的动手训练的效果会增加。学者将以更多的重复性、多样化的样本量和日常性重现现实来进行社会心理学研究,因此人类联盟也将不复存在。此外,VR会以其灵活性将真正的体验式学习引入教育。
  就个人而言,我对VR之于医疗和医药的影响感到非常兴奋。VR在人员培训和教育体验中的优势也适用于临床医生。在患者护理方面,VR可用于治疗疼痛、战斗成瘾(combat addicon)和精神健康方面的问题。
  VR不存在成熟之说
  这个领域内的景观是炽热的。&Morgan Sinko(NullSpace VR)
  没有标准,没有最佳范例。每个人都可以尝试不同的东西。
  以下是一些和VR相关的技术领域,以及每个领域内所涉及的具体问题:
  &人机交互:我们如何实现有情境的用户界面(non-diegec UI)?
  &光学:我们该如何适应一个小型投影仪,并让眼睛适应眼镜的形状?
  &电子产品:如何优化脸部设备的电池、压力和尺寸?
  &硬件:如何建立触觉以便更好地跟踪和反馈我们的行动?
  &计算机视觉:如何通过3D重建技术和场景再现来弥合VR与现实世界的不同?
  &人工智能/自然语言处理:我们如何在VR中创建与我们进行互动的虚拟现实?
  即使在非技术领域,也存在许多仍未得到解答的问题:
  &心理学:VR对成瘾有什么影响? 虚拟现实对真实人格的影响是什么?
  &社会学:改变社会互动(TSI)的方式意味着什么(想想眼神接触)?
  我们正在接近早期形态的AR,
  但离成熟期的AR还很远
  许多情况下,在AR中体验的场景原型比在VR中更易于接近。使用手机、GPS和相机提供的信息可以增强我们与世界各地的连接(想想Pok&mon GO)。
  然而,AR面临着许多对于VR来说并不存在的挑战。根据经验来看,AR技术受益于无阻碍,因此我们可以充分利用周围的空间。而一旦我们不能在后台运行高配游戏机,相应的资源计算会是一个很大的问题。
  其他之于AR的挑战在于硬件和HCI(人机交互) - 我们如何创建具有大视野的透视显示? 我们如何设计出一款人们能够在公共场合穿戴的设备?(提示:记得Google Glass?)
  现在,你可以开始涉入其中
  下载一个游戏引擎,如Unity或Unreal Engine,并开始黑客式攻击。如果你以前开发过游戏,就会注意到这个过程非常熟悉,除了你的耳机被安装到与游戏机相应的摄像机之处(in-game camera)。
  更普遍地说,这些游戏引擎的设计非常直观且容易学习。它们只需要基本的脚本,并且可以使用浅层次学习曲线接口(例如:拖放可视化脚本)。
  以下是一些有用的入门资源:
  &FusedVR的教程和现场直播:包括从建模到游戏引擎所能实现的内容创作的的演练,非常棒。
  &Udacity的VR开发者Nanodegree:涵盖VR的应用程序开发、设计和优化的完整程序。
  &Unity和Unreal的教程。
  &工具包:
  ○VR:VRTK
  ○AR:Vuforia、Hololens
  &有用的教程(threads):
  ○Reddit:如何开始制作VR游戏
  ○Quora:我从哪里开始? 什么是VR学习的最好资料?
  了解图形流水线(the Graphics Pipeline)将帮助你欣赏VR的限制性和可能性
  从根本上说,VR是用头部跟踪在你眼前展现出的场景并进行渲染的酷炫应用。了解3D几何以及呈现方式,你将更好地了解VR的限制性和可能性。
  这里有一些很好的在线资源:
  &伯克利学院的CS184教程:计算机图形学
  &Scratchpixel:从图形数学和物理中学习先进的现代技术
  &Song Ho An 的OpenGL笔记:介绍OpenGL的教程和概念
  视域和影像领域正在推动VR前沿发展
  对于促进计算机视觉、光学、成像及相关主题的认识的投资可能会有巨大的回报。
  &计算机视觉:我们对于深度如何追踪和理解?
  ○斯坦福大学CS231N课程:Phenomenally clear resource with modern CV techniques,由Andrej Karpahty(现为OpenAI的研究科学家)所写
  ○计算机视觉:模型、学习和推论:幻灯片、练习和代码示例
  &计算成像/摄影:光线如何进入相机并成像?类似地,我们如何能将虚拟图像的重点呈现在视网膜上?
  ○计算机摄影(Raskar、Tumblin):麻省理工学院和西北大学的教授的教科书
  ○Udacity的计算机摄影课程
  在学习过程中:&用菜鸟心态学习VR&。&Aashna Mago(RabbitHole VR)
  当然,天花乱坠般地炒作是真实存在的,但这也为我们远离所有的干扰提供了更多的理由。尝试接纳初学者的观点:愿意学习和吸收。不要因为自己认为有必要就开始做某些事情。现在处于学习、实验、失败并取得惊人进展的好时机。如果你认为你迟到了,那说明我在这篇文章中讲的很鸡肋!
vr相关文章
vr相关下载
虚拟现实相关文章
虚拟现实相关下载
技术交流、积极发言! 发表评请遵守相关规定。
创新实用技术专题
Android和iOS两个平台在技术和应用程序商店战略上存在明显的不同,开发人员也...
版权所有 & 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
1、UnitySteam_VR开发工具插件VRTK自带案例分析(第一部分).docx 15页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:320 &&
1、UnitySteam_VR开发工具插件VRTK自带案例分析(第一部分)要点
你可能关注的文档:
··········
··········
1、HYPERLINK&/zerotoinfinity/p/6474840.html&UnitySteam_VR开发工具插件VRTK自带案例分析(第一部分)VRTK这个工具包提供了很多在Unity3d做VR开发中通用的VR功能,主要包括1)具有别名的控制器按钮事件2)控制世界指针(激光指针)3)玩家瞬间转移4)使用控制器抓起/握住物体5)使用控制器与物体交互6)把游戏物体变成交互式的UI元素这个工具集主要分成三个部分:1)Prefabs-VRTK/Prefabs/2)Scripts-VRTK/Scripts/3)Examples-VRTK/Examples/DEMO1?查询硬件手柄头显在VRTK插件的第一个demo001_CameraRIg_VR_PlayArea案例。这个demo显示的功能:?按下任一手柄上的按键,便载入下一个场景。找到demo场景中##SceneChanger##游戏物体,打开附加的scenechanger脚本,里面有两个核心的类,以及几个重要的API。VRTK_DeviceFinder类:用于在场景中寻找左右手柄、头显、返回硬件编号或手柄,头显的gameobject。?      ??重要的API:??获得左右手柄的游戏物体VRTK_DeviceFinder.GetControllerRightHand();?VRTK_DeviceFinder.GetControllerLiftHand();获得左右手柄对应的硬件编号VRTK_DeviceFinder.GetControllerIndex(rightHand)按下手柄任一按键或键盘上的空格键,加载下一个场景。ForwardPressed用于侦测手柄的按键是否按下。上图中引入第二个重要的类:VRTK_SDK_Bridge,这是插件封装了?SteamVR的比较底层的API:VRTK_SDK_Bridge.IsTriggerPressedOnIndex(controllerIndex)。输入硬件的编号,返回是否按下的布尔值。?DEMO2手柄的输入事件002_Controller_Events封装成VRTK_ControllerEvent脚本。针对VR中常见的交互动作:?UI点击,抓住物体,触发物体功能等,自定义手柄按键,绑定这些动作。旧版新版pointerToggleButton:激光的显示开关,激光在VR里相当于鼠标箭头的指向功能。pointerSetButton:激光停留的指向目标,触发目标的功能,相当于鼠标点击。grabToggleButton:抓住物体动作,配合使用VRTK插件集成的抓取,投掷功能。useToggleButton:触发目标事件,比如把手柄放在门把手上,按下这个按键,触发门打开的功能;手柄放在电灯开关上,按下按键,触发电灯开发的功能。这个和pointerSetButton区别在于后者需要激光落在目标上,才能触发目标上的功能。uiClickButton:触发UICanvas目标的事件。menuToggleButton:游戏目录显示开关。axisFidelity:按键按下的强度,完全按下是1,松开时是0。现在只有Trigger按键(手部后面扳机)有此属性。triggerClickThreShold:扳机要到多大程度,才能使用扳机的触发功能。如果是0.5,则表示只要按下一半的程度就可以触发,如果是1,则必须完全按下才能触发。?以上是设置各个按键在插件中交互的功能。如果要获得每个按键具体的使用情况,如按下、松开按键、手触摸板的按键位置、扳机的按下强度等,则需要在VRTK_ControllerEvent注册对应按键的事件。?在VRTK_ControllerEvents_ListenerExample脚本中,监听了VRTK_ControllerEvent所有按键的事件,和按键的参数信息。如下图的扳机键的按键事件。?事件的参数在VRTK_ControllerEvents中是:手柄的硬件编号、按钮的按下程度值(扳机键专有的属性)、触摸板的触摸位置和角度(触摸板专有的属性)?DEMO003_Controller_SimplePointer?传送位置VRTK_SimplePointer类。该脚本继承自VRTK_WorldPointer旧版新版功能的核心是将玩家的位置传送到激光所指落在的地方,该脚本应默认放在手柄的prefab上。其他的参数设置激活颜色、传送时是否显示玩家活动区域、激光有效触碰的层、激光的粗细等。?DEMO004_CameraRig_BasicTeleportVRTK_BasicTeleport。该脚本配合继承自VRTK_WorldPointer的子类,如VRTK_Simpl
正在加载中,请稍后...}

我要回帖

更多关于 位移电流 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信