随笔分类 -  Unity

sth. about unity
摘要:github: https://github.com/yangrc1234/VolumeCloud 更新的内容在底部 最近在知乎上看到一篇文章讲云层的渲染(https://zhuanlan.zhihu.com/p/34836881?utm_medium=social&utm_source=qq) 原 阅读全文
posted @ 2018-03-29 23:10 yangrc1234 阅读(7226) 评论(4) 推荐(2) 编辑
摘要:关于这个效果的名称,我一直没找到一个比较正式的说法。Spring Bone这个说法是来自于Anima2D这个插件中的一个演示用的脚本,我直接译成弹簧骨骼。 一般常见于对人物的头发的模拟上。 当然也可以直接用在普通物体上 效果的实现是通过改变物体的旋转进行的。在LateUpdate执行代码。我们在脚本 阅读全文
posted @ 2017-10-11 13:32 yangrc1234 阅读(11356) 评论(0) 推荐(1) 编辑
摘要:参考文章: https://www.imgtec.com/blog/implementing fast ray traced soft shadows in a game engine/ 完成的工程: https://github.com/yangrc1234/ScreenSpaceShadow ( 阅读全文
posted @ 2017-10-04 20:50 yangrc1234 阅读(3782) 评论(0) 推荐(0) 编辑
摘要:接着上篇文章,我们实现了SSR效果。 其中的在屏幕空间进行光线追踪的方法是通用的。借此我们再实现一种屏幕空间的效果,即屏幕空间阴影。 文中的图片来自Catlike coding http://catlikecoding.com/unity/tutorials/rendering/part 7/ 完成 阅读全文
posted @ 2017-09-27 21:35 yangrc1234 阅读(6363) 评论(0) 推荐(0) 编辑
摘要:第四部分讲一下如何在2D屏幕空间步进光线。 http://casual effects.blogspot.com/2014/08/screen space ray tracing.html 中的代码感觉不太好理解,这里的代码是按照我自己的理解去重新实现的简单版,在效率上可能不如这个网址中的代码。 3 阅读全文
posted @ 2017-09-23 20:26 yangrc1234 阅读(3744) 评论(0) 推荐(0) 编辑
摘要:本篇讲一下相交检测的优化。有两个措施。 线段相交检测 之前的检测都是检测光线的终点是否在物体内。我们可以尝试检测光线的线段是否与物体相交。 比如说有一个非常薄的物体,光线差不多垂直于它的表面。如果用普通的方法的话,这个平面可能就会被光线跳过了。 我们将一个像素的厚度看做一维数轴上的一条线段,起点是其 阅读全文
posted @ 2017-09-22 15:02 yangrc1234 阅读(3098) 评论(0) 推荐(0) 编辑
摘要:traceRay函数 在上一篇中,我们有如下签名的traceRay函数 其中的参数意义都很明了。start和direction是相机空间下的光线起点,以及光线方向。 traceRay的核心代码并不复杂,如下: 相交检测 最简单的方式 最简单的,如果该像素的深度大于当前光线的深度(离相机更远),此时我 阅读全文
posted @ 2017-09-22 13:50 yangrc1234 阅读(4397) 评论(0) 推荐(0) 编辑
摘要:本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法。 如果对核心算法没有兴趣,可以直接使用Unity官方的PostProcessing库,其中包含了一个SSR效果。( 阅读全文
posted @ 2017-09-22 13:24 yangrc1234 阅读(21380) 评论(0) 推荐(1) 编辑
摘要:http://youxiputao.com/articles/11839 主要是参考该篇文章做一个微小的复盘。 漫反射与高光 文章中的漫反射与高光并不是类似于普通的 resultCol = Diffuse(...) + Specular(...) 而是更贴近实际的cg绘画流程中的,基色+阴影色+高光 阅读全文
posted @ 2017-09-18 17:47 yangrc1234 阅读(4602) 评论(1) 推荐(0) 编辑
摘要:最近随着守望先锋制作组在gdc上发布的一个关于ecs的talk,ecs这个架构算是得到了一定的曝光度。 在这之前,github上就一直有一个C 的ecs框架名为Entitas,截止现在已经有1300+的star了,同时提供了和unity整合的方法(对,你可以不用unity,直接把它当C 的库来做其他 阅读全文
posted @ 2017-08-26 22:12 yangrc1234 阅读(29016) 评论(1) 推荐(4) 编辑
摘要:Chromatic Aberration效果指的是模拟摄像机的拍摄瑕疵导致rgb三个通道的颜色发生了偏移,如 传统的Chromatic Aberration实现往往是基于一个后处理,将rgb采样的坐标各自稍微偏移一点后叠加得到效果,如 可以看到这种实现在偏移较大的情况下,跟理想效果差别较大。 在GD 阅读全文
posted @ 2017-05-20 10:07 yangrc1234 阅读(3814) 评论(1) 推荐(0) 编辑
摘要:又踩了一坑,好在谷歌到了之前的一个人遇到相同的问题,顺利解决。 先说说问题背景,我目前的毕设是体数据渲染,实现的办法是raycast。最基本的一点就是在fragment program里,获取raycast的方向。 问题出现在加入阴影之后。在这之前,获取方向是没问题的。 在透视相机中,可以简单地用 阅读全文
posted @ 2017-05-04 21:04 yangrc1234 阅读(5146) 评论(0) 推荐(0) 编辑
摘要:在做毕设的时候涉及到了较大数据的读取,每次从硬盘读都会卡很久,于是找资料之后自己做了个简单的多线程解决方案。 一共有两个类。第一个类ThreadJob如下: 注意的几点: 0. 通过继承ThreadJob,override ThreadFunction()来实现自己的线程。 1. 主线程直接用构造函 阅读全文
posted @ 2017-05-03 16:55 yangrc1234 阅读(5929) 评论(1) 推荐(1) 编辑
摘要:Unity自带的动画状态机有一套对策划非常友好的UI。但是Unity官方没有公开这些控件的api。除了Asset Store里一些已有的方案,我在这里介绍一个在github上的开源项目,封装了底层,但依然有极高的扩展性的框架。一些特性依然处于WIP,但是目前的功能对我这种业余开发来说已经非常够用了。 阅读全文
posted @ 2017-04-16 10:22 yangrc1234 阅读(3721) 评论(0) 推荐(0) 编辑
摘要:一般来说,当我们要扩展编辑器时,我们会从Editor类继承,为自己的MonoBehaviour实现不同的外观。 但是如果有一个struct/class,在许多地方被使用,Unity默认的外观又不够好看,此时想修改它的外观,就需要使用PropertyDrawer了。 上图是一个Monobehaviou 阅读全文
posted @ 2017-04-12 13:51 yangrc1234 阅读(6883) 评论(0) 推荐(0) 编辑
摘要:游戏制作到一定阶段后,一定会出现一些GameObject的“模板”。比如一个敌人一定会有一个“Enemy Behaviour”、“Box Collider”等。虽然Prefab可以用来作为“预制件”,但是Prefab产生的物体和Prefab自身有关联,同时还要从Project菜单里去找到Prefab 阅读全文
posted @ 2017-04-10 20:10 yangrc1234 阅读(11035) 评论(0) 推荐(4) 编辑
摘要:用GrabPass做的小玩具。 并不是真的计算了折射,只是简单地扰动了uv,对于雨水来说效果已经足够好了。 Shader代码: 阅读全文
posted @ 2017-02-17 21:09 yangrc1234 阅读(1833) 评论(0) 推荐(0) 编辑
摘要:最近在学习过程生成技术,在这里写一些心得。 对于元胞自动机,我们这里只讨论输入是一副二维bool数组的情况,即大多数游戏中的情况。 一个元胞自动机,对于一个输入,给出一个同样格式的输出。输出中的每个点都是按照自动机中的规则从输入中演化而来的。大部分情况下,一个输出上的点,是根据输入中该点周围的点的状 阅读全文
posted @ 2017-02-13 09:05 yangrc1234 阅读(2562) 评论(0) 推荐(0) 编辑
摘要:在上篇文章中我们介绍了Lazy Theta\ 。本篇中我会演示一下我实现的Lazy Theta\ 。 先上代码 为了泛用性考虑,我使用了一个接口代表寻路模型中的节点。寻路时传入两个继承该接口的节点即可。如果寻路的节点时是临时生成的(在获取邻点的时候直接new出来的),那么应该实现自己的IEquata 阅读全文
posted @ 2017-02-08 13:41 yangrc1234 阅读(2223) 评论(0) 推荐(0) 编辑
摘要:本文是该篇文章的归纳http://aigamedev.com/open/tutorial/lazy theta star/ Nash:07 。 传统的A\ 算法中,寻找出来的路径只能是沿着给出的模型(比如TileMap、网格模型)上的路径依次行走。(上图上半) 在游戏中寻路的场合下,这种路径看起来是 阅读全文
posted @ 2017-02-08 11:13 yangrc1234 阅读(13068) 评论(0) 推荐(0) 编辑