Unity的输入实现

Unity自己有Input类,之前没怎么深入研究过,都是Input.GetKeyDown(KeyCode)了事。这次为了实现多种方法多个平台的输入(触屏,键盘,鼠标,手柄),特地拿出这一部分探讨。

Unity Shader笔记

Unity Shader

断断续续学习Shader也有一段时间了,写下此篇是想记录学习过程中的一些心得和经验。

从Surface Shader开始

相信任何学习Unity游戏开发的人都会在开发进行到某个程度时间接或直接接触到Shader这方面的技术的。

在Unity5之后的版本中,光照系统采用了新的Enlighten引擎,加入了时髦的GI等等,拥有了符合PBS(Physically-Based Shading)管线的Standard材质。可以说,如果一般的情况下想要在Unity5里获得最写实的渲染效果,使用Standard材质配合Lighting面板就可以了。不过有些时候也需要一些Standard不能实现的效果,比如各种图形Trick等等,此时就需要自行编写Shader来解决问题了。

Unity奇淫巧技 —— Coroutine协程

协程?

  当然我早就听说了协程这个东西,可能你也听过。但是我和之前学C#学delegate时一样,一开始没有很好的理解这个东西,文章看了一些,还是Get不到它正确的应用场景,而一直不愿意去用。其实很多时候就是要去放开了试才能真的理解这些技巧的意义,其瓶颈不过就是一层纸,这次终于把这层纸捅破罢了。

  协程(Coroutine)不同于线程(Thread),他目标解决的不是线程阻塞一类的问题。以我个人的理解,他主要解决有某些必须在游戏循环中运行的代码,而你又不想把他写到Update()中的情况。

  游戏与一般应用程序的区别在于,一般应用程序是事件驱动的,而游戏则拥有游戏循环这一特性,在Unity中体现为MonoBehaviour的Update()方法。游戏中自然也会有”事件”,基本都可以写在Update()中,但是由于游戏循环的存在,Update()会风雨无阻的在每一帧调用,为了让代码适时的执行,一般都会设置几个bool或int/float来控制Update()中的代码。

  这时你会发现,如果你的Update()中有太多这样的代码时,代码的可读性会越来越糟。

Unity涂色AR教程(二)

更新内容

注意啦!本涂色代码在Vuforia5以上版本失效了!

  • 1.1版的UnityPackage内容更新,下载地址在后面

  • CameraTargetPatchLighted着色器的光照模型调整

  • 实现了判断整张识别图进入画面再进行拾色的功能,当然这个功能市面上已经有了,我会说一下我实现的思路

  • 说一下前一篇提到的遮挡效果

Unity涂色AR教程(一)

前言

注意啦!本涂色代码在Vuforia5以上版本失效了!

  上学期在公司实习接触到了AR,使用的Metaio的SDK,这家公司最近悄悄地被苹果收购了。然后可以看到最近各类AR产品出现,都显示着一种趋势。不过说实话,现在的”AR”局限依然很大,现有AR产品大多都是面向低龄的儿童产品,同时也依赖手机设备和固定的标记图。

  近来出现的涂色AR是一个不错的新的玩法。功能依赖Shader和代码一起工作,而原本的Shader是一个Unlit的无光照无投影的Vertex Pragment Shader,效果不是很好。昨天晚上照着几篇博文,给这个Shader添加了光照和投影,基本得到了Diffuse的效果。

这篇不涉及高通AR的基本用法和操作,没有用过高通AR的最好还是先补习一下。

第一篇博客

第一篇博客

使用Hexo搭建在GitHub Pages服务上的一个博客。
偶尔会随便写点什么。
程序、音乐、或者别的什么…