
Unity进阶
文章平均质量分 76
暗光之痕
这个作者很懒,什么都没留下…
展开
-
Unity 3D 移动端简单阴影的实现
版本:unity 5.4.1 语言:C# 参考实战核心技术的第八章。一般移动端受到机能的限制,最多只在脚下绘制一团小黑影来代表影子,实时渲染是基本不可能的。 不过书中提供了一种方法来实现影子,乍看之下决然不输于渲染出来的影子。 思路其实很简单,我稍微提一下:就是用一个正交相机捕捉需要影子的物体,再将其捕捉产生的图片通过Shader的处理,放到地上的一个面片上,从而产生一个原创 2017-02-27 20:59:23 · 3092 阅读 · 0 评论 -
Unity3D 四元数的常用方法
环境:Unity2018.3 语言:C#总起:本文主要参考《3D数学基础:图形与游戏开发》。四元数:负四元数:q=-q,同一个四元数有两个表示方式,他们互相为负。(下文只举四元数的一种形式)单位四元数:[1, 0],即cos(θ/2)=1,θ为4πk,则sinθ=0,不管轴是什么,不进行旋转就是本身。对应Unity中的Quaternion.i...原创 2019-06-01 17:20:48 · 2996 阅读 · 1 评论 -
Unity3D 四元数的理解
环境:Unity2018.3 语言:C#总起:本文主要参考《3D数学基础:图形与游戏开发》这本书。四元数的理解:♦复数首先我来考虑复数轴i,i的定义为i^2=-1。按照旋转的角度来理解的话,从1变换到-1,1实际上是旋转了180度到了-1。那么旋转90度呢?这个时候实际上就旋转到了复数轴上了,我们便用i来表示这个轴。在2维空间中事情比较简单。...原创 2019-05-31 22:46:59 · 1146 阅读 · 0 评论 -
Unity3D Coroutine嵌套问题 以原始的方式停止嵌套协程
环境:Unity2017.2 语言:C# 总起:在使用协程的时候大家有没有遇到这样的问题? 因为协程之间可以相互嵌套,所以为了保证程序的清晰,便在其中添加了大量的嵌套代码,但是在想要停止协程的时候傻眼了,MonoBehaviour的StopCoroutine函数只能停止最外层的协程,如果正在执行里层的协程,必须等待里层的协程执行完毕(如果里层有while循环,那协程就永远不会停...原创 2018-10-04 19:13:49 · 2660 阅读 · 1 评论 -
Unity 3D 海水的实现1 海水网格的生成 LOD优化海水
版本:unity 5.4.1 语言:C# 第九章是海水,整整用了70多页,但是并没有什么用,还是要自己去看代码揣摩其中的含义。 既然讲到海水,我就想认真的学一下,看看书上的实现过程,再网上找找海水的文章做一下汇总,一片的篇幅肯定是装不下的。我对水的实现是非常执着的,起因的话要说到Minecraft的Shadows Mod,这里就不展开了。 没有学到Shader是致命的硬伤原创 2017-03-01 15:11:15 · 7213 阅读 · 17 评论 -
Unity3D Hololens 真机调试 在VS2015上调试应用程序
版本:unity 5.6.1 语言:C# 最近和河北的网友人品君组成了一个小团队在开发一个2D的游戏,实际做起来工作量确实非常大,而且团队内缺少美工,开发的阻力比较大,我的精力也大部分投入到了其中,所以博文的更新暂时会缓一缓。 最近公司里购入了一台hololens眼镜,我有幸接触到了真机,使用下来除了重量有点重、可视范围小以外,感觉非常的棒。 但就在调试应用程序的时候遇到原创 2017-06-02 10:59:05 · 5979 阅读 · 4 评论 -
Unity 3D ULua 基于UGUI 初次使用的心得与体会
版本:unity 5.4.1 语言:C# 刚进官网的时候就注意到了,这个框架是国人写的,使用的时候各种中文注释也是倍感亲切,作者还提供了视频、例子、各种提醒,生怕使用者不会用。 首先吐槽一番Lua吧,我觉得这个语言是最逗逼的语言,index从1开始、:使用成员方法、.使用静态方法、 boolean的一个值传进去变成个table...当然在做手游的时候早就体验了它的坑爹之处。原创 2017-03-16 15:52:02 · 4238 阅读 · 2 评论 -
Unity 3D 资源的加载与释放
版本:unity 5.4.1 语言:C# 海水先在这里坑一会,看了里面的算法深深感到自己数学能力的不足,经过同学的推荐,我准备先看会《数值分析》闭关修炼一下。 至于我在看的实战核心技术的第十章MVC设计框架,提供了一堆无用的代码,然后让你去看他的课程,我就自己研究一下如何从Asset中加载到场景中,又如何在场景中释放资源。 总结一下网上一共有三种方法(这次最终解决了Ass原创 2017-03-14 20:34:37 · 3442 阅读 · 1 评论 -
Unity 3D 海水的实现2 折射与反射 离屏相机的渲染
版本:unity 5.4.1 语言:C# 在上节博文实现后,我添加了一些场景的元素,海水的效果大概是这个样子的:接下来的目标是实现海水的折射和反射,书中使用的Unity应该是4.x时代的,Unity自带基础包是5.x的,然后我再在网上看了一个例子,看了下来基本原理都差不多。 还记得移动端简单阴影的实现吧,对,就是添加一个相机把照到的玩家传给Shader后,显示在地原创 2017-03-03 17:11:10 · 5195 阅读 · 8 评论 -
Unity 3D 海水的实现3 水反射BUG排除 反射矩阵的研究
版本:unity 5.4.1 语言:C# 上一节中实现了折射和反射,一下子水的效果就出来了,看起来非常棒,不过有个BUG不知道大家有没有发现。 直接来看两张图感受一下吧:第一张图是不是有点怪怪的?它是就是我第二节的代码,而第二张图已经将BUG排除。其中的BUG就是相机在渲染的时候忽略了深度测试。 当然没错,在这里说一下就是那本书中代码的错误原创 2017-03-08 16:31:53 · 2910 阅读 · 8 评论 -
Unity 3D 残影的研究 截取当前模型的网格材质并显示
版本:unity 5.4.1 语言:C# 参考实战核心技术的第七章,不过只分析了其中核心的代码。 与之前的换装核心有点像,但此次是直接新建一个对象,只替换material、mesh两个,并没有涉及到骨骼的添加。 下面来看看代码:Material mat = null; //残影的材质float colorA = 1f; //残影当前的透明度// Use原创 2017-02-24 16:38:35 · 1918 阅读 · 0 评论 -
Unity 3D 文件加密下 AES的加密解密使用
版本:unity 5.4.1 语言:C# 这本书有点蛋疼,说了配置文件的读取之后,他说了两种算法://OBFS 加密算法private static string OBFS(string str){ int length = str.Length; var array = new char[length]; for(int i = 0; i < array.Le原创 2017-02-23 21:48:04 · 4876 阅读 · 1 评论 -
Unity 3D 矩阵和四元数的研究
版本:unity 5.4.1 语言:C# 2017年了,使用Unity也有一段时间了,略有心得吧,基本上要求一些功能可以拼拼凑凑地做出来,算是入门了吧。 不过很多游戏上使用的技术还没有接触过,比如protobuf、热更新、Shader之类,今年的一开始接触一下游戏中常用的技术,然后Shader方面好好入门一下。当然好早之前的3D游戏开发大师也会在今年早期看完。 暂定这些目原创 2017-02-15 13:18:38 · 1165 阅读 · 1 评论 -
Unity 3D 文件加密上 文件读取 组成对应数据类
版本:unity 5.4.1 语言:C# 实战核心技术来到了第五章,这一章我准备分两篇来分析一下其中的代码,这一篇重点讲一下文件的读取,以及获取到数据后如何反射出对应类。作者的注释寥寥数语,所以很多代码要自己去分析、尝试。 首先我们来看一下我们要读取的数据://character.csvid,name,maxHp,atk,def,spd1,Ex,100,10,5,72,原创 2017-02-23 17:53:44 · 1123 阅读 · 3 评论 -
Unity 3D Protobuf的使用 信息的简单发送 并在Java服务器上接受显示
版本:unity 5.4.1 语言:C# 做过有网络相关游戏的人都知道protobuf,google的一套开源工具,用于发送信息的序列化和反序列化,是一个非常重要的网络工具。 在上一家公司,就是使用该技术与服务器交互,而现在的工作是把它搬到Unity上,当然原理是一样的,其中我还会把服务器方面的代码贴出来,这边使用的是eclipse的Java EE版。 这边参考了实战核心原创 2017-02-22 17:44:18 · 2008 阅读 · 7 评论 -
Unity 3D Avatar换装系统 SkinnedMeshRenderer皮肤渲染
版本:unity 5.4.1 语言:C# 参考了《Unity3D 实战核心技术详解》,我把换装系统的一个核心技术记录一下,本人虽然是在U3D开发,不过没有真正接触到这样的技术,感觉比较遗憾,这里做个入门,万一以后有相关需求的话,心里也有底。 首先说下人物模型的构成:除去动画以外,名称中有Bip字样的节点都是骨骼、其他的就是我们能看的到的皮肤。 骨骼就是一些Transfro原创 2017-02-17 11:28:02 · 14726 阅读 · 0 评论 -
Unity 3D 消息事件系统 NotificationCenter、CEventDispatcher事件分发机制
版本:unity 5.4.1 语言:C# 实战核心技术这本书来到了第三章,这里给了一个消息事件系统,这是几乎每一个游戏系统都会用到的一个常用技术,非常好用,但如果你add之后忘记remove的话。。。相信每个使用过它的人都经历过这样的痛苦。 闲话不多说,书中类的名字是CEventDispatcher,而我会按照我的习惯来实现一遍,就叫做NotificationCenter,对,c原创 2017-02-20 15:43:52 · 4350 阅读 · 0 评论 -
Unity3D 四元数插值的实现
环境:Unity2018.3 语言:C#总起:本文主要参考《3D数学基础:图形与游戏开发》。理论:幂:首先我们来看q^1/2,这是说明我们只需要q的一半位移,旋转是由θ来表示的,所以需要将w转换为θ(arccos(θ))后就能对其进行幂运算了。平滑插值Slerp:从q1到q2之间的差值为dq=inv(q1)q2,那么如果只需要t份dq,则表示为dq^t...原创 2019-06-01 20:04:49 · 1871 阅读 · 0 评论