自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MichaelLiew的博客----VR行者

UE4研究、Unity3D。虚拟现实研究。

  • 博客(88)
  • 收藏
  • 关注

翻译 《VR入门系列教程》之13---相机与立体渲染

相机、透视图、视口、投影    渲染好的场景都需要一个可以供用户查看的视图,我们通常在3D场景中用相机来提供这种需求。相机相对场景有位置和方向,就像我们生活中的相机一样,它也提供透视图查看方式,这种方式可以有近大远小的效果。相机最终会将三维的场景渲染成一幅幅二维的图片,我们就可以通过它的视口进行观察。    相机处理计算时主要涉及到两个矩阵,第一个是线性变换矩阵

2016-02-02 18:53:49 5563

转载 C# => Lambda表达式

Lambda表达式"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达

2016-02-01 17:14:27 3574

翻译 《VR入门系列教程》之12---转换矩阵

转换矩阵    模型网格的三维空间位置都是由它们的顶点坐标决定的,如果每次想要移动一下模型位置都要依次改变每个网格的顶点坐标,这将一件非常头疼的事,要是遇上需要显示动画效果那就更糟了。为了解决这个问题,大部分的三维系统都会提供转换操作,这个操作原理是整体移动网格,这样网格与世界坐标就有一个相对转换,而不需要去改变每一个顶点的坐标值。其中,转换操作包括:移动、旋转、缩放,这些操作都是针对网格

2016-01-31 23:39:18 4642

转载 C#中抽象类和接口的区别

摘要:对于抽象类以及接口的概念,大家都容易把这两者搞混,其实我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料。      对于抽象类以及接口的概念,大家都容易把这两者搞混,其实我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料。      一、抽象类:      抽

2016-01-26 14:11:37 1524

转载 《VR入门系列教程》之11---基本几何-材质-光照

网格、多边形、顶点    绘制3D图形有许多方法,用的最多的是用网格绘制。一个网格由一个或多个多边形组成,这些多边形的顶点都是三维空间中的点,它们具有x、y、z三个坐标值。网格中通常采用三角形和四边形,这些基本面片可以围成网格,从而形成了模型。    图3-2中就是一个三维网格,黑色的线条就是四边形的边,这些四边形围出了一个人脸的形状。当然,这些黑色的线条在最终渲染的图形中是不

2016-01-26 11:15:17 4362

转载 深入浅出聊Unity3D项目优化:从Draw Calls到GC

前言:刚开始写这篇文章的时候选了一个很土的题目。。。《Unity3D优化全解析》。因为这是一篇临时起意才写的文章,而且陈述的都是既有的事实,因而给自己“文(dou)学(bi)”加工留下的余地就少了很多。但又觉得这块是不得不提的一个地方,平时见到很多人对此处也给予了忽略了事,需要时才去网上扒一些只言片语的资料。也恰逢年前,寻思着周末认真写点东西遇到节假日没准也没什么人读,所以索性就写了这篇临

2016-01-24 22:32:14 2471

翻译 《VR入门系列教程》之10---3D图形学初识

第三章 基于Oculus Rift开发桌面端VR应用    接下来的几个章节中我们会进行VR开发的实际操练,本章就从Oculus Rift开发开始,我们会介绍如何开发一个桌面端的VR应用。虽然只是介绍了Rift的开发技术,但是这些技术同样适合于HTC Vive以及其它头显设备。    在进行第一个VR应用开发之前,我们来看看几个重要的概念:    搭建场景:创建

2016-01-24 22:06:33 6371

翻译 《VR入门系列教程》之9---谷歌纸盒

谷歌纸盒---基于智能手机的廉价VR眼镜    如果用汽车来做类比,Oculus Rift和GearVR就是特斯拉和兰博基尼,它们物美但是价不廉。要是主机性能不好,那么几百美元的Oculus眼镜就是一个鸡肋。GearVR的体验效果非常出色,但是同样价格很贵,只有那些狂热粉和前期开发者才会购买。希望以后这种高端VR设备价格降低,这样才能推向大众市场。    同时,

2016-01-21 09:19:53 13922 1

翻译 《VR入门系列教程》之8---GearVR

高端移动虚拟现实设备---三星GearVR    Oculus Rift也许是虚拟现实头显的典范,但是它还是存在许多问题。首先,它需要基于一个具有强大图形计算能力的计算机,而使用一般的笔记本、苹果Air、旧款台式机就不会有很好的效果(画面的帧率上不去,而且还容易眩晕)。第二,Rift需要用数据线连接到电脑上,如果你使用DK2的位置追踪器,你还必须得坐在追踪器前方,这点很不爽。最后,就是它非

2016-01-20 09:43:15 6145 1

翻译 《VR入门系列教程》之7---DK2和Crescent Bay

The DK2    于2014年春,Oculus发布了第二代开发版头显设备,代号为DK2。与DK1相比,Oculus Rift DK2的外观有很大改进,并且轻了许多,体积仍然比较大,可以罩住大部分脸部。同样有一条数据线连接在头显上,用来连接电脑的HDMI和USB接口。    DK2的分辨率比上一代设备提高了不少,像素达到了1920*1080(每只眼睛有960*1080)。除了

2016-01-18 19:40:01 4978

转载 游戏程序设计之渲染管道

今天讲述渲染管道的一些基本概念,希望对初学者能提供一定的帮助;如有错误请大虾指正。。。1,顶点格式       一个场景是由物体或者模型组成,物体可以通过三角形网格进行近似的描述。网格中的三角形是物体的组成部分,通常下列属于都是描述网格中三角形:多边形,图元,网格几何体。我们可以通过指定三角形的三个顶点来描述三角形。    另外在DX中顶点还可以有颜色属性以及法线向量属性;

2016-01-15 15:15:21 4134

原创 Unity3d OnApplicationPause与OnApplicationFocus

在手机游戏当中,会碰到“强制暂停”,如:锁屏、接电话或短信之类的。如果“强制暂停”时间过长,网络游戏有时得重新登录等事件。而Unity3d,Android Plugins中的UnityPlayer.UnitySendMessage,经测试在强制暂停时,OnPause、OnStop周期中UnitySendMessage无效。重点探索OnApplicationPause和OnAppli

2016-01-15 14:38:26 3313

转载 12个优化Unity/GearVR应用的小技巧

比起那些普通应用,VR应用所需的计算性能要求大了太多,让优化成为了一项重要工作。如果你的目标是类似 Gear VR 这种移动设备,那么要求会更高。以下为一些基本的标杆:➜➜单眼 50 个绘制调用(Draw Call)。Unity5 更加精准地称之为口令设置程序调用(setpass calls)。➜➜少于50000-100000个顶点数以及50000-1000

2016-01-11 13:47:42 5408 1

翻译 《VR入门系列教程》之6---VR硬件介绍及DK1

第二章 VR硬件介绍    本章主要介绍当前比较流行的消费版VR设备,包括VR头显以及应用运行的PC和手机平台。    即使是在这工业高速发展的时代,一些大厂(比如Facebook的Oculus Rift)已经建立的领导地位,然而,还是会有许多其他头显设备可以选择。一些头显应用需要在PC上运行,一些则需要在手机上运行,还有一些需要在游戏主机上运行。头显市场还不明朗,许多新的

2016-01-08 20:39:29 6727 2

翻译 《VR入门系列教程》之5---应用方向

VR应用方向    面向消费者的虚拟现实才发展了几年,就出现了大量应用程序,虚拟现实抓住了人们对未来的渴望。开发者甚至想要把整个现实世界都做成虚拟现实,这些都是可以理解的。    但是,现在仍然没有一个“杀手级”的虚拟现实应用,有许多领域都有可能出现杀手级应用,包括:    游戏:一谈到虚拟现实,第一就会想到游戏。VR游戏具有深度沉浸、高

2016-01-08 20:38:13 5899 1

转载 KMP算法详解

只想Mark一下,原文地址:http://blog.csdn.net/yutianzuijin/article/details/11954939kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法。不过由于其难以理解,所以在很长的一段时间内一直没有搞懂。虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚。在此,综合网上比较好的几个博客(参见最后),尽自己的努力

2016-01-08 20:35:35 4410

翻译 《VR入门系列教程》之4---运行平台

运行平台    大多数的VR应用都可以在目前多数的PC和手机上运行,基本上一个不太旧的PC或者配置好点的笔记本电脑都可以正常运行Oculus Rift,如果手机的CPU和显卡不错的话也可以有很好的VR体验。对于大众来讲,现有的电脑或者手机再加上VR的眼睛就可以很方便的体验VR,但是对于那种想要体验极致效果的人来讲,估计这次圣诞节礼物清单上就得写上最好的PC、最强大的CPU和显卡了。

2016-01-04 18:35:52 22603 1

翻译 《VR入门系列教程》之3---运动追踪与输入设备

运动追踪设备    第二种可以使人脑相信它真实处于虚拟世界的关键技术就是运动追踪技术,它可以通过追踪头部的运动状态实时更新渲染的场景。这与我们在真实世界中观看周围非常类似。    高速的惯性测量单元(IMU)是Oculus Rift的发明之一,它被用于快速的头动追踪。IMU结合了陀螺仪、加速度计(或者磁力计,类似现在手机中使用的重力感应装置),可以精确测量转动的变化。 

2016-01-04 18:32:31 9613

翻译 《VR入门系列教程》之2---VR头显

什么是虚拟现实?    虚拟现实的目标:让人们相信真实地处于一个虚拟世界中。要达到这个目标就得让人们的大脑(负责视觉和运动感知部分)欺骗他们。不同技术合在一起才可以创造这种幻觉,包括:    全立体显示:也称为3D显示或者头显(HMD)。这种显示方式结合的使用了多图像处理、反畸变技术和凸透镜片来让人眼看到深度信息,如此就形成了立体的图形。    移动追踪硬件:陀螺仪、加速度

2015-12-28 21:32:32 11426 1

翻译 《VR入门系列教程》之1---预热篇

序    初识虚拟现实技术,非常倾心,奋力习之,阅《Learning Virtual Reality》一书之后觉得甚好,但不愿独乐乐,于是翻译之,与大家共同学习。本人学艺不精,难免有翻译不到位的地方,还望大家多多指点,多多包涵。    ----始于2015.12(Michael Liew)第一章 简介    虚拟现实是一个有着巨大潜力的媒

2015-12-23 20:15:34 28570 12

翻译 使用Unity开发安卓游戏怎么进行性能优化?

引言    几周前,我开始写一款叫Sky Blocks的游戏,使用Unity引擎并且发布在了安卓手机上,如果你有时间可以在Google Play上下载体验一下。    在写这个游戏的过程中,我遇到的问题大部分都是性能方面的。下面我来介绍一下这款游戏,以及性能问题的解决方案。    这款游戏混合了《俄罗斯方块》和《太空入侵者》这两个游戏的玩法。玩家将方块尽量的摆成一条线,方块

2015-12-08 12:45:52 3335

转载 Unity3D游戏开发之游戏读/存档功能在Unity3D中的实现

我是秦元培,我的博客是http://qinyuanpei.com/,期待交流。今天想和大家分享的内容是RPG游戏中游戏存档的实现,因为最近在做一个RPG游戏的项目,所以遇到这个问题就随时记录下来,在对知识进行总结的同时可以将这种思路或者想法分享给大家,这是一件快乐而幸运的事情。我讨厌写按部就班的技术教程,因为我觉得学习是一种自我的探索行为,如果一切都告诉你了,探索的过程便会变得没有意义了。

2015-10-27 00:06:01 1415

转载 免费 UGUI 插件 Inventory Master 背包系统使用方法

Inventory Master - uGUI   使用UGUI作为基础的、一款免费的UI系统插件,适用于unity5,插件提供了背包、快捷键栏、仓库、商店和工艺制造等一系列的游戏UI解决方案,并且还是免费的,在商城中直接就能下载使用 https://www.assetstore.unity3d.com/cn/#!/content/26310        先不管这款UI插件在国内的人气如

2015-10-27 00:03:48 5852 1

转载 C#中的delegate与event简单讲解

一、开篇忏悔对自己最拿手的编程语言C#,我想对你说声对不起,因为我到现在为止才明白c#中的delegate和event是怎么用的,惭愧那。好了,那今天就趁月黑风高的夜晚简单来谈谈delegate和event的简单用法吧,希望能给初学者带来帮助。PS:别像我那样学了几年c#到头来都不知道delegate和event怎么用。二、delegate到底是什么东西孩子,C语言总学过吧

2015-08-30 13:56:24 1073

转载 Unity 5光源运作浅谈

翻译:Kelvin Lo近代的游戏大量的采用”全域光照”技术 全域光照(Global illumination,简称GI),是一个用来模拟光的互动和反弹等复杂行为的演算法,要精确的模拟全域光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度预先处理这些计算,而非游戏执行时即时运算 同一场景里:没有照明(左),只有直接光源(中),和有间接光源的全域光照(右)的表现,

2015-08-02 00:13:20 4432

转载 Unity 5.0 中酷炫的新动画功能

作者:Unity - Pierre Paul Giroux  Unity 的动画团队一直很努力的准备让Unity 5.0 发表时具有令人印象深刻的功能。下面为你介绍有关新动画功能的简要概述,希望可以对Unity 开发者们有所帮助! 状态机行为(State Machine Behaviours) 在Unity 5 中,你将能够将StateMachineBe

2015-08-02 00:10:54 2150

转载 PHP数组的使用方法小结

一、什么是数组数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。二、声明数据在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。飞飞Asp!技术乐园array()函数声明的数组的方式array([mixed...]) 参数mixed的语法为key=>value如,

2015-07-19 19:04:27 417

转载 PHP中读写文件+实现代码

在PHP中读写文件,可以用到一下内置函数: 1.fopen(创建文件和打开文件) 语法: 复制代码 代码如下:fopen(filename,mode) filename,规定要打开的文件。mode,打开文件的模式,可能的值见下表。 mode 说明 "r" 只读方式打开,将文件指针指向文件开头。 "r+" 读写方式打开,将文件指针指向文件开头。 "

2015-07-19 18:50:08 649

转载 Unity3D中的http通信

前言Unity3d 是一个跨平台的引擎,在移动互联网浪潮之中,尤其是移动游戏3d方向上,Unity3d 毫无疑问是最耀眼的明星。Unity3d的http通信很简单,也非常好用,下面通过http和php sever交互来简单介绍一下。http 提交数据原理 http 协议通过 url来获取和提交数据 。提交数据的方式 有两种,一种是get方法,一种是post方法。get一般用

2015-07-09 00:01:42 1231

原创 Unity3D中的SendMessage使用(消息推送)

简单介绍了Unity中的三个消息推送函数:SendMessage、SendMessageUpwards、BroadcastMessage

2015-06-11 22:55:52 42250 7

原创 Unity3D中的Coroutine使用(协同执行程序)

Unity3D中的Coroutine使用,附带一些实例代码

2015-06-10 23:59:33 1801

原创 Unity3D中的Quaternion(四元数)

Unity中四元数的基本概念和几个常用函数的用法

2015-06-09 00:18:31 15801 2

原创 Unity3D帮助文档跳转缓慢----Vim编辑器批量替换文件内容

装上Unity3D后,打开脚本手册,使用查询功能的时候,总是要卡在那里1分钟左右才给出结果,很是郁闷。

2015-06-06 14:37:05 1384

转载 Qt 实现类反射机制

在java语言中,可以使用getObject(String)函数,从类型直接构建新的对象。而在C++中是没有这种机制的,Qt虽然提供了元对象机制,但只可以获取对象的类名,不能反向构建。这个问题我在百度上找了很多,但都没有满意的答案,索性翻出去google一下,终于找到了解决方法。原文地址: http://www.mimec.org/node/350代码如下:ob

2015-04-25 19:22:12 5889 4

转载 Qt正则表达式QRegExp

"^\d+$"                       //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$"   //正整数 "^((-\d+)|(0+))$"          //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\d+$"               //整数 "^\d+(\.\d

2014-09-12 14:30:01 701

转载 CMake 用法导览

转自:http://www.cnblogs.com/coderfenghc/archive/2013/01/20/2846621.html  Preface : 本文是CMake官方文档CMake Tutorial (http://www.cmake.org/cmake/help/cmake_tutorial.html) 的翻译。通过一个样例工程从简单到复杂的完善过程,文档介绍了CMake

2014-09-04 10:20:46 837

转载 CMake的简单例子

CMake 简介CMake是一个跨平台的自动化建构系统,他使用一个名为CMakeLists.txt的文件来描述构建过程,可以产生标准的构建文件,如Unix的Makefile或Windows Visual C++的projects/workspaces。文件CMakeLists.txt需要手工编写,也可以通过编写脚本进行半自动的生成。CMake提供了比autoconfig更简洁的语法。在Li

2014-09-04 09:55:02 1243

转载 Boost的万能转换器-->lexical_cast

boost::lexical_cast为数值之间的转换(conversion)提供了一揽子方案,比如:将一个字符串"123"转换成整数123,代码如下:string s = "123";  int a = lexical_castint>(s); 这种方法非常简单,笔者强烈建议大家忘掉std诸多的函数,直接使用boost:: lexical_cast。如果转换发生了意外,lexical

2014-06-25 14:15:16 723

转载 Qt DLL总结【三】-VS2008+Qt 使用QPluginLoader访问DLL

开发环境:VS2008、Qt4.7.4,附件有源码可供下载         最近在总结如何访问DLL中的类对象及其成员函数,其中一种方法利用Qt的QPluginLoader类就可以方便快捷的访问DLL中的类,以及其中的类成员函数。 文件结构如下图:解决方案名:TestPlugin1、Qt的Library项目(PluginDll):PlugInterface.h、PluginIn

2014-06-13 11:37:05 693

转载 Qt DLL总结【二】-创建及调用QT的 DLL

最近看了不少Qt的DLL例子,总结一下如何创建和调用QT 动态链接库。 先讲一下对QT动态链接库的调用方法,主要包括:1、显式链接DLL,调用DLL的全局函数,采用Qt的QLibrary方法2、显示链接DLL,调用DLL中类对象、成员函数。(通过对象即可实现类成员函数的调用) ①用虚函数表的方法,这也是COM使用的方法,利用Qt的QLibrary技术调用;②用GetPr

2014-06-13 11:33:59 829

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除