随笔分类 - Unity
摘要:问题 最近处理unity资源打包问题时候经常遇到的一个问题就是平台切换和Bundle编译。一般情况下,平台转换我需要依赖Cache Serbver加快转换速度,但是在Build Bundle的时候我又不想打开Cache Server,因为会非常非常慢(bundle文件超过2000个)。每次都记得这个
阅读全文
摘要:这篇实现来的有点墨迹,前前后后折腾零碎的时间折腾了半个月才才实现一个基本的shadow map流程,只能说是对原理理解更深刻一些,但离实际应用估计还需要做很多优化。这篇文章大致分析下shadow map的基本原理、Unity中实现ShadowMap阴影方式以及一些有用的参考。 1 . Shadow
阅读全文
摘要:"Gizmos 类" 可以在代码中绘制一些输出结果或者中间输出内容,比如计算后的包围盒等等 类变量 | 方法| 作用| | | | |color | 控制输出颜色 | |matrix| Set the gizmo matrix used to draw all gizmos.| |DrawCube
阅读全文
摘要:这篇是自己看shadow map是的一些笔记,内容稍稍凌乱,如有错误请帮忙纠正 1.常见阴影处理方式 Shadow Map : using Z Buffer [Shadow Mapping 的原理与实践][] Shadow Volume : using stecil Z Buffer [Shadow
阅读全文
摘要:感觉使用Unity之后总能看到各种各样解决混排的方案,只能说明Unity不够体恤下情啊。这篇文章主要讲一下个人在使用过程中方案选择和优化过程,已做记录。顺便提下,开源很多意味着坑,还是要开实际需求。 1. 方案选择 1 TextMeshPro Unity 最近公布收购了TextMeshPro并且免费
阅读全文
摘要:在PostImage中经常会用到物体本身的位置信息,但是Image Effect自身是不包含这些信息的,因为屏幕后处其实是使用特定的材质渲染一个刚好填满屏幕的四边形面片(四个角对应近剪裁面的四个角)。这篇文章主要介绍几种在Image Effct shader中还原世界坐标的方式。这个问题在《Shad
阅读全文
摘要:Unity中 Image Effect 是Post Processing的一种方,Unity自身也提供很多Effect效果供使用。Image Effect的使用官方文档做了很多介绍,这里重点Post Processing 做一些介绍。 1. Post Processing workflow Rend
阅读全文
摘要:Shader的调试有点蛋疼,最近在测试Image Effect中深度还原时,不知道输出的结论是否正确,后面就采取了这种策略。在物体上世界坐标位转换区间到[0,1],然后作为颜色进行输出。然后Image Effect shader中也采用类似的方式进行输出,通过颜色进行比较。需要注意的是: 颜色区间
阅读全文
摘要:Unity提供了很多Image Effect效果,包含Global Fog、DOF、Boom、Blur、Edge Detection等等,这些效果里面都会使用到摄像机深度或者根据深度还原世界坐标实现各种效果,这篇文章主要介绍Unity中获取相机深度的方式。 1. Camera Image Effec
阅读全文
摘要:很多Shader中都会定义RenderType这个类型,但是一直搞不明白到底是干嘛的,官方文档是这样结解释的: "Rendering with Replaced Shaders" Rendering with Replaced Shaders shader通过camera中 Camera.Rende
阅读全文
摘要:很多游戏Logo中可以看到这种流光效果,一般的实现方案就是对带有光条的图片uv根据时间进行移动,然后和原图就行叠加实现,不过实现过程中稍稍有点需要注意的地方。之前考虑过 "风宇冲" 的实现方式,但是考虑到shader中太多的计算,还是放弃了。 基础版本 需要注意的点: 1. 时间间隔问题 offse
阅读全文
摘要:今天在写编辑器面板的时候,突然发现如果面板参数变化的时候,不能实时修改表现效果(参数没有生效)。 就像上面的代码,只在启动的时候的会修改变量的数值,运行中修改编辑器中参数不会再去执行Awake的.... 解决思路 (1) MonoBehavior.OnValidate() his function
阅读全文
摘要:NGUI直接在UILabel组件中接入了Shadow、Gradient和outline选项,但在UGUI中是通过另外的组件单独提供,比如outline、shader等。这篇文章主要记录这几个文字效果实现的思路和流程。 1. 实现思路 1. UGUI源码分析 UGUI 的 Text 渲染的过程是由 T
阅读全文
摘要:现在项目的框架是在2015年设计的,那时候Ulua还处于1.03版本,现在回头再看,Ulua已经迭代到1.25版本,中间引入带有wraper的cstolua,而后转向现有的toLua 版本。 随着版本更新性能提升了很多(当然也看人为因素),代码的清晰度也越来越清晰,但是引入的项目本身可能不需要的东西
阅读全文
摘要:不管是C++中还是在C 中,在都绕不开一个问题:类对象怎么在Lua中使用的问题,还好Lua提供了Userdata以及ligh Userdata结构类型,通过扩展可以处理这方面的问题。现在的很多框架也大致类似的方式进行处理。 在前面的一些笔记[][1]中提到过几个使用宿主类对象中的问题: 1. 数据内
阅读全文
摘要:游戏开发中有些场合,ETC或者说PVRTC压缩质量不满足的情况下,RGBA32(原图)对美术而言肯定可以满足的,但是RGBA32是不管是对内存占用内存太厉害. RGBA16/RGB16会减少内存的占用,但是Unity中并没有处理色阶的问题,看起来会使这样: [之前有文章][3]提到过使用对图片预先进
阅读全文
摘要:Unity中使用WebView @(设计) 需求,最近游戏中需要引入H5直播页面和更新比较频繁的赛事页面,需求包括:加密传参数、和Unity交互,在Unity框架下其实有几种方案: 1. 内置函数Application.OpenURL()接口 2. 引入的Apollo自带的OpenUrl(引入了LB
阅读全文
摘要:NGUI元素的遮挡情况是不依赖空间关系,所以在NGUI上添加特效有时候特别蛋疼,特别是美术同学还要依赖空间关系来控制特效效果,那先看看看NGUI的层级是怎么处理的,不过下面的描述都是针对单个相机下的Panel,如果存在多个相机当然还要考虑相机的前后关系。在写之前,还是记录下这篇随笔参考的资源:[《N
阅读全文
摘要:1 "渲染流程" NGUI的渲染流程其实就是把Widget组件生成Mesh所需要的缓存数据,然后生成对应的DrallCall组合对应数据,生成渲染需要的Mesh数据,提交渲染。 Widget(数据) UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,
阅读全文
摘要:问题 Unity中有些配置信息并不想在发布之后给其他人看到,所以在打包的时候进行了简单的编码处理,然后保存为.bytes类型,读取的时候再进行解码处理。今天遇到的很奇葩的问题是: 如果bytes文件UTF8,Unity使用Resources.Load()后进行XML解析直接崩溃,使用不带BOM的UTF8格式就没问题。 如果文件后缀使用xml, 数据内容不变,进行上述流程就没有问题。 问题就...
阅读全文