Origin of Ray

一起探索互联网的秘密

我们之前用到的纹理,比如法线纹理,渐变纹理,遮罩纹理等,都是一维或者二维的,这次我们来介绍一下立方体纹理,并看一下如何使用立方体纹理实现环境映射。

阅读全文 »

这周在工作的时候,看到了项目中使用了做物理材质,这才反应过来,自己从来没有用过,也不太清楚他和刚体等其他物理组件的关系,所以就重新阅读一下官方文档,进行一定的实践和总结。

阅读全文 »

之前的光照模型中,我们都只有一个光源,而且是平行光。但是实际开发过程中,我们往往需要处理数目更多,类型更为复杂的光源,重要的是,我们需要得到阴影。现在我们就要学习一下如何处理这些更为复杂的光照。

阅读全文 »

这个周在引入新的插件进入项目后,本地调试是正常的,但是一大包出来就会丢失一些文件,查了半天,发现是因为该文件没有被直接引用,是通过ScriptableObject.CreateInstance(typeName)这种形式动态创建的,所以最后打包之后被代码裁剪的过程去掉了。

解决方案也比较简单,在Assets目录下加一个link.xml,然后声明该程序集不可被裁减就好。

但是回过头来,我们还是要看一下,这个代码裁剪的逻辑以及为什么link.xml可以避免代码被裁减。

阅读全文 »

透明是游戏中经常使用的一种场景,在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道。当开启透明混合后,当一个物体被渲染到屏幕上,每个片元除了颜色值和深度值之外,它还有另一个属性,透明度。当透明度为1时,表示该像素完全不透明,当为0时,表示该像素完全不会显示。

在Unity中,我们通常使用两种方法来实现透明效果:第一种是使用透明度测试(Alpha Test),这种方法其实无法得到真正的半透明效果;另一种是透明度混合(Alpha Blending)。

阅读全文 »

之所以突然起了这篇文章,是因为这周工作中,使用单例模式实现了一个功能,,在code review的时候,被指出尽量不要使用单例模式,给了我几篇文章看,收获了一些内容,所以系统地总结下。

阅读全文 »
0%