- 博客(13)
- 收藏
- 关注
原创 UnityShader中着色器编译多样化
很久没写东西了,这些笔记是参考网上资料和自己得理解来写得,最近项目做完了才有一些空余时间,接着研究Unity着色器多样化,对于刚开始接触着色器得人,还是比较困难。自己趟两年水,我才敢说自己刚刚入门。今天主题是关于Unity着色器编译多样化。 从Unity5系列开始采用被称为着色器编译多样化得新技术,被称为uber Shaders或者megashaders,并且通过每种...
2019-10-17 10:52:38 483
原创 江翔带你学Unity——计算机图形Shader总结
2019年1月11日接触到shader有比较长时间,去年这个时候应该是我在中航上班的第一天。我学习Shader比较纠结,刚开始的时候是看冯乐乐的Shader入门精要,我觉得这应该是Unity技术美术人手一本的入门宝典之后我接触到Shaderforge这款插件,这款插件简化了Shader编辑的工作量。但是Shaderforge的缺点就是会产生部分代码的冗余,但是手写Shader中,对于复杂的...
2019-01-11 09:37:49 493
原创 AssetBundle资源打包具体用法以及热更新lua技术
早之前,有朋友问我AssetBundle的问题,其实我当时也不是特别熟悉,这个问题我以直没有很好的回答,其实关系到AB包的问题,这不是简单的一个AssetBundle的问题,涉及到unity自带的AB包打包方式以及lua这种轻量级语言以及lua的具体运用,好比xlua等。所以,关于这个AB包的问题,我想当成一个系列来陈述。当然,我们刚开始还是从基本的AssetBundle的原理以及使...
2018-08-10 08:54:59 3946
原创 Unity中的计算机图形学(四)---三大测试基础
在第四篇文章中,我们进行了高斯模糊原理讲解和实际操作,接下来我们会重点讲渲染管线中的三大测试,第一篇文章我讲述了写这些文章的初衷,我们还是首先把渲染管线全部流程总体的概括一遍,以Unity为例。然后在看秦大的书,进行有价值的点的解析。因为秦大的书讲的比较底层,也就说讲的比我现在写的还原理还底层。 回到刚才的话题,三大测试的顺序:Alpha、模板测试、深度测试。当然,这里涉及一些计算公式...
2018-07-22 17:44:16 1572
原创 Unity中的计算机图形学(三)
这一部分内容会是之前图形学(一)和图形学(二)的一个延伸,我们从用shader表现屏幕后期特效为例子,把三大测试的概念衔接起来,之前我专门写过一篇关于Alpha测试的文章,我觉得写的挺废的,这次就连起来一起写。这样应该比较统一整体。 屏幕后期特效,就是等场景渲染完以后,在添加一些特效处理。引擎渲染后,最终结果就是一张图片,屏幕后期处理有那种二次渲染的感觉。将已经渲染...
2018-07-22 17:44:07 4249
原创 Unity中的计算机图形学(2)
其实上一篇文章,我是按照Shader1.0版本来基本流程和操作来讲解的,大概内容就是以Shader1.0的基础上,也就是fixed shader的基础上进行的渲染流程分析。接下里的部分我们开始shader2.0的讲解,固定管线渲染肯定是被淘汰掉了。而且Vertex and Fragment Shader更加常见一点。 Shader1.0和Shader2.0的区别:...
2018-07-22 17:44:00 900
翻译 Unity中的有限状态机和有限状态模式
游戏开发过程中,各种游戏状态的切换无处不在。但很多时候,简单粗暴的if else加标志位的方式并不能很地道地解决状态复杂变换的问题,这时,就可以运用到状态模式以及状态机来高效地完成任务。状态模式与状态机,因为他们关联紧密,常常放在一起讨论和运用。而本文将对他们在游戏开发中的使用,进行一些探讨。 当然,要我一下讲的很明白,估计也不太可能,还是老样子,我们进行文章和代码分析,最后...
2018-06-28 16:33:03 1068
原创 Unity中的泛型单例的使用
通常情况下,在没有泛型单例这个概念之前,我们如果需要使一个形成一个单例,通常情况下就会有以下代码: public class SceneStateManager{ private static SceneStateManager _Instance; //私有化构造器 public static SceneStateManag...
2018-06-28 16:32:45 1133 1
原创 Unity中的有限状态机和状态模式设计
游戏开发过程中,各种游戏状态的切换无处不在。但很多时候,简单粗暴的if else加标志位的方式并不能很地道地解决状态复杂变换的问题,这时,就可以运用到状态模式以及状态机来高效地完成任务。状态模式与状态机,因为他们关联紧密,常常放在一起讨论和运用。而本文将对他们在游戏开发中的使用,进行一些探讨。 当然,要我一下讲的很明白,估计也不太可能,还是老样子,我们进行文章和代码分析,最后...
2018-06-28 16:32:32 2623 3
原创 C#数组常用算法以及在游戏中的具体应用
我刚开始做Unity的时候,肯定也是避免不了找工作的,在很多公司面试的面试题中,对于算法的考察,冒泡排序,选择排序,二分查找等,这些是常常遇到的,哪怕是现在面试,也是一样。我觉得,还是举一些例子更加实际。 我还是很喜欢北京夏天的夜晚的,前几天去南方,真叫一个折腾。买了晚上8点回北京的票,结果晚点8小时,退了在买凌晨4点半的,结果还是晚点四个小时,之后,改签,操他大爷的,尽然还...
2018-06-23 01:31:03 898
原创 Unity管线渲染中的三大测试之模板测试
我感觉将近一个月没有写技术文档了,最近了可能能在研究一些比较抽象计算机图形学,知识点太多,也过于零碎。我个人认为管线渲染流程当中三大测试是控制效果的一个关卡。这篇文章今天本来写了个开头,回到家看了题目,感觉有点太大,怕过于太长,就把管线渲染的三大测试分开写。按照流程来说,首先进行的应该是Alpha测试,但是由于Alpha测试,无论是在shader1.0还是shader2.0当中都过于简单,S...
2018-05-09 01:35:35 3546
原创 Unity3D开发HTC VIVE项目中插件HTC.Input.Utility.Plugin插件的运用
这是基于SteamVR基础之上的一款插件,再获得硬件设备上比之前单独使用steamVR方便很多。比如,之前我们获得硬件设备是这样的:首先写一个如下图的脚本,挂在CameraRig的手柄上(看需要那个手柄上的按键)但是,在这里,我们来介绍HTC.Unity.Plugin插件的用法首先我们进行场景和环境的搭建再Store当中找到HTC.Unity.Plugin插件,并且导入,之后再ViveInputU...
2018-03-22 18:15:39 6254 2
原创 Unity3d中的三种截屏方式
游戏开发项目中会有截屏这样的功能,目前来看,一共有三种方式。第一种方式:截取某一帧时整个游戏的画面,或者说时全屏截图。特点:1、不能针对某一个相机的画面进行截图 2、对局部画面截图实现起来不方便,效率也很低,基本不建议再项目中使用。//代码private void CaptureByUnity(string mFileName){ Application.Captu...
2018-03-21 14:19:33 1575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人