Unity 5.4大赞:HTC Vive经典The lab渲染器开源
HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番。
![]()
仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本开发的),的确令人信心大振:
要知道,某些创业公司为了打差异化竞争,提高技术门槛,对外称Unreal 4的画质比Unity 5优秀很多,这让很多在Unity技术栈下的公司有些郁闷–多年来Unity画质始终不如Unreal逼格高啊。
The Lab
程序路径:Steam\steamapps\common\The Lab\TheLab\win64
![]()
Secret Shop
程序路径:Steam\steamapps\common\The Lab\SecretShop\win64
![]()
LONGBOW
![]()
![]()
射箭,新破的记录:3565分
上面这3个demo,均符合VR体验沉浸感三要素:
- 触觉:手柄震动反馈
- 视觉:画质沉浸感强
- 听觉
仔细找了一些资料,发现1个月前,Valve把The Lab 渲染器开源了,竟然。
The Lab Renderer (Requires Unity 5.4.b15 or newer)
- SteamVR plugin for Unity(HTC Vive开发必备)
The lab渲染器有下面几个特点:
- Single-Pass Forward Rendering and MSAA
- Adaptive quality
- Custom Shaders
- GPU Flushing
- 使用步骤
步骤1:场景设置
// Scene setup:
// – Enable forward renderer in Player Project Settings
// – Set Color Space to Linear in Player Project Settings
// – Enable GPU Skinning in Player Project Settings
// – Add the ValveCamera.cs script to the main camera
// – Add the ValveRealtimeLight.cs script to all runtime lights
// – In Project Quality Settings, set Shadow Cascades to No Cascades
// – In Project Quality Settings, set Pixel Light Count = 99
步骤2:切换Shader
![]()
- 方便转换已有的材质–其实是使用Valve提供的Shaders(代替Unity 5 Standard Shader)
步骤3:查看HTC Vive运行过程中VR的FPS!
![]()
- HTC 要求的Refresh Rate是90Hz。
- 核心C#脚本就2个文件,ValveCamera.cs、ValveRealtimeLight.cs
- 提高VR画质和刷新率的平衡,是设置这2个Unity VR参数:
VRSettings.renderScale
VRSettings.renderViewportScale
其中Adaptive quality的启发思想是,通过观察过去10帧的VRStats.gpuTimeLastFrame平均值,来动态设置。 这个动态的优化思想,从软件算法看,的确很酷:
- 依据电脑硬件,运行不卡,renderScale设置大一些,画质慢慢变好;
- 依据电脑硬件,运行卡了,renderScale设置小一些,画质变差就行。
小道消息:我通过Twitter咨询Unity QA Leader,他给我的反馈是原定于2016.6月发布的Unity 5.4,因为目前还有2个渲染的严重bug,故5.4会延期到7月底发布–好事多磨,希望5.4正式版越来越给力,尤其是在VR渲染上。
创业广告:
1 承接VR/AR内容应用定制需求: 楼盘销售展示系统、建筑建设、旅游体验、课件教学系统、交通车辆仿真,模拟驾驶系统、游戏等。
2 各类最新VR设备,例如GearVR、HTC vive、Oculus CV1、LONG VR 魔镜等
3 可公对公签正规合同,开发票。
4 我们是北京专业团队公司;
5 提供售后服务,保证产品质量,有业务需求可以进行一对一的技术指导。
联系QQ: 2137-2550
参考博客:
Unity3D for VR 学习(5): VR Gaze Input
Unity3D for VR 学习(11): 后期屏幕渲染特效(Image Effect)
Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)
Unity3D for VR 学习(8): Unity Shader概述
Unity 5.4大赞:HTC Vive经典The lab渲染器开源的更多相关文章
- Unity正式发布首个“实验性”VR编辑器,支持HTC Vive和Oculus Rift
Unity今天正式推出"实验性"VR编辑器.据悉,EditorVR是Unity游戏引擎中的一个组件,可让开发者在虚拟现实环境中开发游戏.为何要称之为"实验性"? ...
- unity htc vive使用
本文介绍如何在Unity中使用HTC vive设备,当前VR作为市场比较火热的热点,HTC VIVE设备作为三大供应商之一,许多人购买了该设备,却不知道如何使用,本文通过图文并茂的形式,进行手把手的讲 ...
- 用 Unity 和 HTC Vive 实现高级 VR 机制(1)
原文:Advanced VR Mechanics With Unity and the HTC Vive Part 1 作者:Eric Van de Kerckhove 译者:kmyhy VR 从来没 ...
- HTC vive VR设备软硬件安装+运行unity开发的VR程序
总结在HTC vive VR开发过程中的HTC vive的安装调试 1.首先确保电脑的配置满足要求: 进入官网,测试电脑是否满足要求 链接:https://www.vive.com/us/produc ...
- 用Unity开发HTC VIVE——手柄控制篇
写这篇文章的原因主要是因为现在虚拟现实非常的火爆但目前主流的虚拟现实设备(HTC VIVE)的教程却少的可怜,这个我深有体会.所以,我想将我平时开发中遇到的问题以及解决方法记录下来,分享给大家,若其中 ...
- Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)
http://blog.csdn.net/ystistheking/article/details/51553237 想交流的朋友我们可以微博互粉,我的微博黑石铸造厂厂长 ,缺粉丝啊 .....求粉求 ...
- 如何低成本的打造HTC Vive虚拟演播室直播MR视频?
http://m.toutiao.com/i6298923859378700802/?tt_from=weixin&utm_campaign=client_share&from=gro ...
- 如何透过HTC Vive拍摄Mixed Reality (混合现实)影片
https://www.vive.com/cn/forum/1706?extra=page%3D1 也许你是一位开发者,想为自己的HTC Vive游戏制作酷炫的宣传片:或者你是游戏主播,想为观众带来高 ...
- HTC Vive小场地与大场景空间的解决方案
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/52780621 作者:car ...
随机推荐
- php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff()
用php写算法切割数组,不用array_chunk();算法例如以下所看到的. <?php //$array 数组 //$size 每一个数组的个数 //每一个数组元素是否默认键值 functi ...
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)转载+补充
错误:Network error: Connection refused 解决办法: 执行 $sudo apt-get install openssh-server 安装ssh协议 执行ifconfi ...
- Don't Repeat Yourself (不要重复你自己)
DRY是指Don't Repeat Yourself特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性.简洁性,并且可能导致代码之间的矛盾.<The Pragmatic Programm ...
- C#用天气预报的WebServices
后台代码: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { WeatherWS ws = new W ...
- springMVC3学习(九)--redirect和forward跳转
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...
- Xcode8中Swift3.0适配问题
写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研究过程,没兴趣的直接看这段即可. Xcode8支持Swift2.3和Swift3.0两 ...
- memcpy的用法总结
1.memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数:函数原型:void *memcpy(voi ...
- 《C++ 并发编程》- 第1章 你好,C++的并发世界
<C++ 并发编程>- 第1章 你好,C++的并发世界 转载自并发编程网 – ifeve.com 本文是<C++ 并发编程>的第一章,感谢人民邮电出版社授权并发编程网发表此文, ...
- 分布式文件系统之GPFS
GPFS是IBM公司通过完善和发展其Tiger Shark文件系统发展而来.GPFS通过共享磁盘结构来实现其强大的扩展性.一个GPFS系统由许多集群节点组成,GPFS文件系统和应用程序在上面运行.这些 ...
- c语言中的unsigned 和 signed
我们来一起看下,C语言中,对于Integer Type(整数形式)的unsigned与signed两种形式的区别,以及在内存中的存储方式是如何的 Integer type(整数形式)是C语言中的基本数 ...