XJoshua's Blog

For those fleeting ideas and time.

Intro to Scriptable Object

简易ScriptableObject使用入门

Intro to Scriptable Object 在做本地化的时候需要在Editor模式下测试不同的语言,现在项目中的本地化控制是通过读取系统语言(游戏体量小,并没有在设置中设置语言的选项),在游戏中通过Editor编辑器扩展直接修改也比较简单,但是每次都需要设置一下,有点麻烦。所以想起了Unity官方曾经推荐过的ScriptableObject: A class you ca...

Ray Tracing in One Weekend - Study Note 04

周末掌握光线追踪 - 学习笔记四:漫反射和金属

Chapter 7:漫反射材料 现在我们有物体和针对每个像素的多种光线,我们可以做一些看起来更真实的材料。先从漫反射材质材质(无光泽的)入手。一个问题是我们是要混合和适配材质和形状(所以我们会给球一个材质)还是把他们放在一起把他们联系起来。(这对几何形态和材料链接起来的程序生产的物体是很有用的)(PS:这说的是啥?)我们会分开处理——大多数渲染器都是这样处理的,但是要知道它的限制。 漫反...

Ray Tracing in One Weekend - Study Note 03

周末掌握光线追踪 - 学习笔记三:法线,多物体和抗锯齿

书接上文。 Chapter 5:表面法线和多物体 首先我们了解一下表面法线来添加阴影。这是一个垂直于表面的向量,约定向外。一种设计准则是把这些法线都表达成单位向量(重申,这是约定的)。这是阴影的惯例所以我觉得这样也行,但是我不会在代码中强求。这会导致一些小bug,所以小心有很多这种类似的个人偏好。(PS:我觉得这里说的应该是如果不清楚别人有没有遵守这种约定,可能会导致bug)对于球体来说...

Ray Tracing in One Weekend - Study Note 02

周末掌握光线追踪 - 学习笔记二:光线和球体

书接上文。 Chapter 3:光线,相机和背景 所有光线追踪器都应该有的是ray类,可以计算出沿着这个光线上可以看到的颜色。让我们把光线视为一个函数:p(t) = A + t * B p是3D空间下的一条直线上的点,A是线的起点,B是光线的方向。t则是实际的参数(代码中是float类型)。插入不同的t,p(t)会在光线上移动。加入负数的话,可以得到3D直线的任意位置(反方向的延长线上...

Shader102: Stream Lighting Effect

流光效果

Shader102: 流光效果 有空的时候会学着写一些Shader,正好有个朋友问到Logo的流光,就想试着写了一个。一开始的时候立即想到用数学方法写,写了一半发现效果一直调不好。。。只好上网找找资料,结果发现大部分都是用另外做的一张流光图叠加达到效果,嗯。。。虽然有点偷懒,不过确实简单很多。所以就开心的放弃了写了一半的数学方法,就地25. 首先你要有一张流光图。这个简单,用PS处理一下...

Ray Tracing in One Weekend - Study Note 01

周末掌握光线追踪 - 学习笔记一:图像和向量类

最近在学习Ray Tracing in One Week,虽然名字有点标题党,但确实是一本不可多得的好书(毕竟众多大佬推荐)。虽然关于这本书的学习资料已经有很多了,不过反正是学习笔记(翻译和一点补充),整理在自己博客里做一个记录吧。 第一本总共有13章(加概论),全放在一篇博客里看着太累,大概分成一篇两章的样子发布。 OK,开始。 Chapter 0:概论 作者简介,成书背景等等。 ...