• Unity 5.4大赞:HTC Vive经典The lab渲染器开源


    HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番。

    image

    仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本开发的),的确令人信心大振:

    要知道,某些创业公司为了打差异化竞争,提高技术门槛,对外称Unreal 4的画质比Unity 5优秀很多,这让很多在Unity技术栈下的公司有些郁闷–多年来Unity画质始终不如Unreal逼格高啊。

    The Lab

    程序路径:SteamsteamappscommonThe LabTheLabwin64

    image

    Secret Shop

    程序路径:SteamsteamappscommonThe LabSecretShopwin64

    image

    LONGBOW

    image

    image

    射箭,新破的记录:3565分

    上面这3个demo,均符合VR体验沉浸感三要素:

    • 触觉:手柄震动反馈
    • 视觉:画质沉浸感强
    • 听觉

    仔细找了一些资料,发现1个月前,Valve把The Lab 渲染器开源了,竟然。

    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

    image

      方便转换已有的材质–其实是使用Valve提供的Shaders(代替Unity 5 Standard Shader)

    步骤3:查看HTC Vive运行过程中VR的FPS!

    image

      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概述

  • 相关阅读:
    6. matlab入门——结构体、元胞数组、字符串
    5. matlab入门——图形标注、特殊绘图、三维绘图
    PyQt5Day17--输入控件QTextEdit纯文本输入
    【转】防止表单重复提交
    【转】MVC HtmlHelper用法大全
    【转】什么是.Net以及.Net的基本语法
    【转】ASP.NET MVC实现权限控制
    JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() {}有什么区别?
    【转】java缩放图片、java裁剪图片代码工具类
    【转】探讨:ASP.NET技术的学习顺序问题
  • 原文地址:https://www.cnblogs.com/xifarm/p/thelabrenderer.html
Copyright © 2020-2023  润新知