最近需求一个在人物模型低面数下也能达到良好渲染效果的办法,Dota2是一个不错的参考,所以从贴图着手研究了一下Dota2的着色器,使用Surface Shader进行复刻,同时兼容Unity的PBS管线。
主要是Unity游戏开发
最近需求一个在人物模型低面数下也能达到良好渲染效果的办法,Dota2是一个不错的参考,所以从贴图着手研究了一下Dota2的着色器,使用Surface Shader进行复刻,同时兼容Unity的PBS管线。
Unity自己有Input类,之前没怎么深入研究过,都是Input.GetKeyDown(KeyCode)了事。这次为了实现多种方法多个平台的输入(触屏,键盘,鼠标,手柄),特地拿出这一部分探讨。
断断续续学习Shader也有一段时间了,写下此篇是想记录学习过程中的一些心得和经验。
相信任何学习Unity游戏开发的人都会在开发进行到某个程度时间接或直接接触到Shader这方面的技术的。
在Unity5之后的版本中,光照系统采用了新的Enlighten引擎,加入了时髦的GI等等,拥有了符合PBS(Physically-Based Shading)管线的Standard材质。可以说,如果一般的情况下想要在Unity5里获得最写实的渲染效果,使用Standard材质配合Lighting面板就可以了。不过有些时候也需要一些Standard不能实现的效果,比如各种图形Trick等等,此时就需要自行编写Shader来解决问题了。
当然我早就听说了协程这个东西,可能你也听过。但是我和之前学C#学delegate时一样,一开始没有很好的理解这个东西,文章看了一些,还是Get不到它正确的应用场景,而一直不愿意去用。其实很多时候就是要去放开了试才能真的理解这些技巧的意义,其瓶颈不过就是一层纸,这次终于把这层纸捅破罢了。
协程(Coroutine)不同于线程(Thread),他目标解决的不是线程阻塞一类的问题。以我个人的理解,他主要解决有某些必须在游戏循环中运行的代码,而你又不想把他写到Update()中的情况。
游戏与一般应用程序的区别在于,一般应用程序是事件驱动的,而游戏则拥有游戏循环这一特性,在Unity中体现为MonoBehaviour的Update()方法。游戏中自然也会有”事件”,基本都可以写在Update()中,但是由于游戏循环的存在,Update()会风雨无阻的在每一帧调用,为了让代码适时的执行,一般都会设置几个bool或int/float来控制Update()中的代码。
这时你会发现,如果你的Update()中有太多这样的代码时,代码的可读性会越来越糟。
Git是一款免费、开源的分布式版本控制系统。此前做的项目都不大,开发流程也不正规,所以对于版本控制没有什么概念和需求。随着项目越来越大,就有必要使用版本控制了。
我是通过廖雪峰的Git教程对Git入门的,是不错的教程。(但并不同意文章中对Windows的评价)
买了一只树莓派。
最终目的是想用来建站,不过Linux之类的还是第一次接触,于是从头学起,在此做一些笔记。
树莓派型号:Raspberry Pi 2 model B
操作的平台:Windows 10
注意啦!本涂色代码在Vuforia5以上版本失效了!
1.1版的UnityPackage内容更新,下载地址在后面
CameraTargetPatchLighted着色器的光照模型调整
实现了判断整张识别图进入画面再进行拾色的功能,当然这个功能市面上已经有了,我会说一下我实现的思路
说一下前一篇提到的遮挡效果
注意啦!本涂色代码在Vuforia5以上版本失效了!
上学期在公司实习接触到了AR,使用的Metaio的SDK,这家公司最近悄悄地被苹果收购了。然后可以看到最近各类AR产品出现,都显示着一种趋势。不过说实话,现在的”AR”局限依然很大,现有AR产品大多都是面向低龄的儿童产品,同时也依赖手机设备和固定的标记图。
近来出现的涂色AR是一个不错的新的玩法。功能依赖Shader和代码一起工作,而原本的Shader是一个Unlit的无光照无投影的Vertex Pragment Shader,效果不是很好。昨天晚上照着几篇博文,给这个Shader添加了光照和投影,基本得到了Diffuse的效果。
这篇不涉及高通AR的基本用法和操作,没有用过高通AR的最好还是先补习一下。