Unity特效学习:动画

Unity动画创建 选中物体后按Ctrl+6可以开启动画编辑器。 点击Add Property可以选中你要编辑的物体对象上的属性。可以看到几乎物体上所有组件的可编辑的属性都可以通过动画来编辑。这也意味着很多东西不需要编码来完成,比如你要做物体transform的变化、要做shader属性的变化等。以往可能需要进行代码编辑,在update或者某个corroutine...

Unity特效学习:粒子

参数 只记录一些特别的参数 Prewarm: 预热,效果是直接播一个周期后的效果。也就是呈现一个周期的最终效果。目前来看应该是用到一些一开始就呈现效果的场合。 StartSpeed:这个是很常规的参数,但是当为负数时粒子方向会相反。值得留意。 Color: Gradient:梯度,更像是设定一个颜色的变化范围。但是某个粒子从创建之后颜色不会变化。 ...

每天一点UWA:第十八周

AssetBundle 最近的项目使用了AssetBundle的资源管理方案,对于Shader的部分全部放到了Always include里面(这里不仅是系统内置的Shader,还包括自定义的Shader),然后打Bundle资源的目录里是不包含任何Shader的。但是现在发现,Shader还是被作为依赖关系打进了最终的Bundle里,而且造成了冗余,问问大家有没有遇到这个情况呢?我的Uni...

每天一点UWA:第十七周

AssetBundle 当一个Texture被一个material和sprite都引用的时候,将三者分别打包,出现texture内存重复问题。 原文较长,总结一下就是:如果一个贴图一方面被当成Sprite使用,另一方面被当成Texture使用(譬如RawImage或者Material),就会断开引用产生多份。目前解决办法是保证用Sprite的Prefab及Material打包在一个As...

Gamma校正与线性空间

前言 近期看了一篇文章,主要讲了如何处理lightmap在Android平台下下偏暗的问题。引发了对gamma校正的好奇。 Gamma校正的由来和计算方式 所谓Gamma校正指的是在传统的拍摄相机中会对照片中的亮度进行修正,计算公式为Lout = pow(Lin, 0.45) ,说白了就是如果某个像素的亮度为0.5,那么保存后的照片的亮度就是0.5的0.45次方,即0.73...

Unity Android二次开发经(血)验(泪)谈(史)

主要参考的是这篇文章,不过在这个期间遇到了各种的问题,在这里写出来,希望看到的人能够少走弯路。 准备工作 安装Android Studio(以下用AS代替),然后通过它下载Android SDK和tools。 AS目前已经是3.0版本,在3之前不支持java8,也就是说没有lambda和一些新的特性。 从AS上可以下载到的build-tool是27,但是最新的tools是un...

PHP的OOP

在类中可以使用public(公有),protected(受保护)或 private(私有)来修饰属性和方法。如果不修饰默认是public。 类中用var定义变量,var $name,使用方式$this->name 构造函数function __construct(),析构函数function __destruct() 继承class Child_Site extend...

每天一点UWA:第十六周

Texture 如何处理ETC压缩完图片质量模糊和ARGB32内存占用太大这种关系? 使用ETC压缩的图片尽量减少过渡,这是美术制作时需要注意的,很多情况下并不需要明显的过渡,只是需要半透明而已; 当然,有部分过渡色是必须的,这时候就要把相关小图整合到一张RGBA32的图片上; 在资源管理上入手。一般情况下,我们是允许部分资源使用RGBA32,但是要注意,及时卸载掉不使用的资...

每天一点UWA:卡通渲染笔记

描边的方法 基于视角的勾边 PS:这个是最简单的绘制边界的做法。计算方式就是dot(viewDir, normal)。根据 三角函数的定义值越小说明视角与模型某个点的表面法线的夹角越大,夹角为90°时说明这个triangle是视角看不到的,也就是边界了。 基于几何生成方法的描边 shell method 首先在绘制结束正常的模型后,将需要描边的物体改用正面剔除再绘制一遍,在V...

每天一点UWA:第十五周

AssetBundle 我们想请教一个Unity的普适性的资源管理问题。举个例子,我们现在的一个特效Prefab包含的贴图打成AssetBundle时没有单独拆分出来,就会存在一个问题,这个特效AssetBundle会存在重复加载的问题进而导致重复的特效贴图在内存中。(针对“重复加载”说明下:我们首先通过AssetBundle出来一个Object,这个Object会缓存一段时间,在这段缓存时...