Author: walkingfat

基于Animator状态控制的UGUI开发规范

介绍我前几年整理的一套UGUI美术开发流程,用于剥离美术和程序的依赖关系。让美术,动画特效和程序可以分别工作,划清责任。 Unity3D是个简单好用的引擎,UGUI也越来越完善,但是开发复杂项目的时候还是会遇到很多坑,项目越做越复杂,UI资源缠在一起,变成个烂摊子。所以需要一开始就制定好合理的开发模式。这些年我总结了一套比较好用的UI开发流程,在以往几家公司的项目中都验证过,例如mihoyo的崩坏3的部分界面。我会用几篇文章分几部分讲述。 首先说说我在各个公司看到的“传统做法”存在的问题: Prefab的命名规范和结构目录没有严格统一,带来如下问题: UI动画直接控制每个实体对象,这么做有一大堆缺点: 程序和美术都会去控制UI的动效,结果代码和美术资源粘在一起...

Unity3D里的截图:Camera渲染到PNG文件

之前有场景美术要我做个这样的引擎内截屏功能,其实做法很简单,但是帮他省了好多体力活。这工具对于不会代码的美术还是挺有用的。 有些项目会用到截屏功能,例如把战斗地图截屏做成雷达地图,或者是美术要用游戏截屏做宣传资料,用传统的系统截屏功能可能像素不够,因为电脑屏幕尺寸就那么大,总不能截好几张拼一起吧,多累啊。 好了现在详细介绍一下具体用法: 完整C#代码:

Unity渲染Lowpoly风格的模型硬边

Lowpoly风格的一大特色是模型硬边,这片文章探讨一下几种不同的实现方式。 做法1:拆分Mesh顶点 把polygon的edge设成硬边,导入到Unity里,硬边的Polygon会自动变成拆分顶点的网格(每个三角面完全独立)。渲染的时候每个三角面会有独立的法线信息,所以最终显示的边缘是硬边。 这样做的缺点就是会增加顶点数。基本上翻了3倍。在早期的低端智能手机上跑2万顶点就会开始卡了,现在当然好很多了,10万顶点也毫无压力。 有以下几种方式实现: 1,在3D软件里把需要硬边的部分的Edge设置成HardEdge...