#创新实训#VR漫游项目汇报4

原创 2018年04月15日 20:08:12

1.有关游戏优化技术的详细整理


带宽优化

减少纹理大小

其中和优化相关的主要有“Generate Mip Maps”、“Max Size”和“Format”几个选项。 
“Generate Mip Maps”会为同一张纹理创建出很多不同大小的小纹理,构成一个纹理金字塔。而在游戏中可以根据距离物体的远近,来动态选择使用哪一个纹理。

“Max Size”决定了纹理的长宽值,如果我们使用的纹理本身超过了这个最大值,Unity会对其进行缩小来满足这个条件。

“Format”负责纹理使用的压缩模式。通常选择这种自动模式就可以了,Unity会负责根据不同的平台来选择合适的压缩模式。而对于GUI类型的纹理,我们可以根据对画质的要求来选择是否进行压缩

缩放

在考虑性能和画面的平衡下,我们需要对特定机器的分辨率进行放缩。 
在Unity中设置屏幕分辨率可以直接调用Screen.SetResolution

————————————————————————————————————————————————————

2.对协程的理解

在游戏中有许多过程(Process)需要花费多个逻辑帧去计算。

  • 你会遇到“密集”的流程,比如说寻路,寻路计算量非常大,所以我们通常会把它分割到不同的逻辑帧去进行计算,以免影响游戏的帧率。
  • 你会遇到“稀疏”的流程,比如说游戏中的触发器,这种触发器大多数时候什么也不做,但是一旦被调用会做非常重要的事情(比图说游戏中自动开启的门就是在门前放了一个Empty Object作为trigger,人到门前就会触发事件)。

不管什么时候,如果你想创建一个能够历经多个逻辑帧的流程,但是却不使用多线程,那你就需要把一个任务来分割成多个任务,然后在下一帧继续执行这个任务。

比如,A*算法是一个拥有主循环的算法,它拥有一个open list来记录它没有处理到的节点,那么我们为了不影响帧率,可以让A*算法在每个逻辑帧中只处理open list中一部分节点,来保证帧率不被影响(这种做法叫做time slicing)。

再比如,我们在处理网络传输问题时,经常需要处理异步传输,需要等文件下载完毕之后再执行其他任务,一般我们使用回调来解决这个问题,但是Unity使用协程可以更加自然的解决这个问题,如下边的程序:


private IEnumerator Test()  
{  
    WWW www = new WWW(ASSEST_URL);  
    yield return www;  
    AssetBundle bundle = www.assetBundle;
}


————————————————————————————————————————————————————

3.对SteamVR插件的学习


SteamVR_GazeTracker.cs脚本解析
这个脚本的作用是判断当前物体是否被用户(头显)所注视,进入注视和离开注视都会有回调。处于注视状态的物体与实际注视点的距离范围定义为小于0.15米,而离开注视状态的距离范围为大于0.4米。之所以有一个大概的范围,并且使用了一个平面来相交,是因为注视这个动作是比较粗略的,玩家比较难能精确注视。

  Gaze回调的事件结构体,只有一个参数,即距离,表示凝视点与物体(中心)的距离

自学了SteamVR中的多个脚本,并做了标注。

——————————————————————————————————————————————

4. 学习了VRTK的脚本解析

从VRTK的一些案例出发,对VRTK实现的部分基本的类和方法进行分析来加强unity vr开发的能力。





VRTK_SimplePointer脚本的例子可以在SteamVR_Unity_Toolkit/Examples/003_Controller_SimplePointer场景中看到并且事件用法和监听的脚本例子可以看SteamVR_Unity_Toolkit/Examples/Resources/Scripts/VRTK_ControllerPointerEvents_ListenerExample.cs脚本。

作为衍生和功能扩展,VRTK里还有许多其他类型的射线指针,这里先不展开描述。

因为篇幅原因这里就先讲到这里。之后我们会继续讲实现传送的方法以及可以交互的对象。


VR实训项目场景搭建阶段性报告

首先,展示一下我们这段时间的总体成果(鼓掌) 我们根据现有的各楼层的平面设计图,严格按照尺寸比例重建了每一层的平面结构;进行面挤出后将墙壁建立起来。 这是三区教学楼大厅的天花板内部结构,这里我...
  • qq_35142634
  • qq_35142634
  • 2017-05-30 15:28:23
  • 420

#创新实训#VR漫游项目汇报

接着,各个成员在各自的博客中落实了三区VR场景漫游项目的规划——项目时长:4月1日 至 5月31日团队分工:常雨晴 手势识别模块叶子扬 语音识别模块冯金虎 项目展示模块肖绍天 虚拟实验室模块,协助项目...
  • Christina_5
  • Christina_5
  • 2018-04-12 14:04:55
  • 42

VR实训项目规划(3D场景篇)

关于本项目的3D场景开发流程,打算从以下几步着手: 一、一层地面划分、建立平面模型 这里可能会耗费比较长的时间,但好在我们手头掌握了场景的平面设计图,所以在短时间内将其精确还原还是有可能的。 二...
  • qq_35142634
  • qq_35142634
  • 2017-05-13 15:48:37
  • 456

#创新实训#VR漫游项目汇报3

这一周,成员们按照已经分配好的任务开始了各自的学习安排。以下是学习报告——##1.总结整理关于游戏优化相关的知识——加强对项目的优化意识VR游戏的流畅度是影响用户体验的一个很重要的因素,而且,三区的场...
  • Christina_5
  • Christina_5
  • 2018-04-15 18:07:36
  • 15

#创新实训#VR漫游项目汇报1

需要解释的一点是,上一周赶上清明假期,我们团队确认了分工和计划后,就各自开始行动了,以至于忘记了更博客,差的两篇博客都会在这一周补上的,以后也不会出现忘记更博的事情了!!所以,这篇博客报告的是我们第一...
  • Christina_5
  • Christina_5
  • 2018-04-12 13:54:22
  • 68

HTML5+CSS3项目总结

经过一个月的学习,我基本掌握了HTML5的一些标签的用法和特性,以及一些CSS3的属性的特点和用法。 在本周安排的为期四天的第一阶段的课程的项目实训中,我基本能够熟练运用学到的知识,完成页面的速度和...
  • zhaohuansir
  • zhaohuansir
  • 2016-07-10 17:40:57
  • 1360

VR靠什么支撑在工业环境中实训

文章来源:VRAR网址导航-- VR靠什么支撑在工业环境中实训   “这篇文章探讨了如何以及为什么他们如此受欢迎和又如何提高培训质量。VR训练为什么是现实培训的最佳替代品。”   多年来,...
  • vrtime
  • vrtime
  • 2016-09-18 21:55:50
  • 604

UE4蓝图制作VR漫游

1.新建打开场景 新建文件夹BluePrint & Maps  Blueprint下创建GameMode文件夹  在GameMode文件夹下选择 Blueprint Class  点击GameMode...
  • qq_36848370
  • qq_36848370
  • 2017-06-25 20:02:30
  • 1362

智能机器人技术综合实训课程说明

智能机器人技术综合实训主要内容包括服务机器人和工业机器人,课程介绍如下:  《智能机器人技术综合实训》 课程编号:16300277 课程名称:智能机器人技术综合实训 学分学时:2/2周 先修课程:《机...
  • ZhangRelay
  • ZhangRelay
  • 2017-12-15 15:39:14
  • 680

JavaWeb实训项目

  • 2015年06月17日 15:42
  • 36.5MB
  • 下载
收藏助手
不良信息举报
您举报文章:#创新实训#VR漫游项目汇报4
举报原因:
原因补充:

(最多只允许输入30个字)