
Unity
文章平均质量分 85
大叔才是主流
这个作者很懒,什么都没留下…
展开
-
Unity3D手游项目的总结和思考(6) - Xlua的使用心得
有一个项目做完快上线了,不是lua写的,能热更新的东西就特别少,如果遇到bug也很难在第一时间热修复,所以我就接入了Xlua这个插件,https://github.com/Tencent/xLua 原本只是想热修复一下的,后来领导要求把逻辑系统的C#代码全部换成了Lua,至于为什么,因为他们习惯了每天都更新和修改的开发模式...所以我们干了一件极其丧心病狂的事情,就是逻辑系统...原创 2018-05-21 17:57:59 · 4453 阅读 · 7 评论 -
Unity3D手游项目的总结和思考(5) - 植被摆动3DMAX工具
以前的博客有提到如何实现植被摆动的效果:https://blog.youkuaiyun.com/qq18052887/article/details/50995928核心问题就是,摆动的幅度是根据什么样的权重.我简单分为三种.1.UV坐标作为权重2.顶点到模型原点的距离作为权重3.顶点颜色作为权重 以CE3引擎来讲,整体摆动用第二种,细节抖动用第三种,两种结合使用,就可以实现完美的摆...原创 2018-05-21 12:09:53 · 2138 阅读 · 1 评论 -
Unity3D手游项目的总结和思考(4) - 梦幻的天空盒
Unity的天空盒,不够动态,要支持天气系统渐变的话,必须要改进,让天空盒梦幻一些.我的shader的高画质处理有个multi_compile开关叫_FANCY_STUFF,从Unity官方的某个shader看到的,这个名字我很喜欢,梦幻.天空盒我主要实现了以下几个功能:1.天空盒可以水平旋转 为什么要水平旋转呢,因为我自定义了一个太阳(月亮),旋转可以让他们和天空盒背景图更加匹配.甚至,你...原创 2018-05-21 11:32:55 · 2374 阅读 · 2 评论 -
Unity3D手游项目的总结和思考(3) - 自动生成的水面
前面两篇提到场景和角色渲染的技术,这一篇讲一下水面. 水面最开始是美术制作的,一个大的面片来实现,对于湖泊多的场景,这个面片甚至场景那么大,我觉得这种做法不是很好,虽然只有4个顶点,2个三角面,但是由于很大,像素填充率惊人,效率自然也不够好.后来要处理一些水面岸边渐变的效果,我觉得程序实现一个自动化的,不再让美术去操心这个事情. 我想尽可能地让这个水面完美,所以尝试做了以下...原创 2018-05-21 10:52:14 · 4839 阅读 · 8 评论 -
Unity3D手游项目的总结和思考(2) - 角色渲染
上一篇介绍了一下场景的渲染,这一篇准备分享一下角色的渲染. 项目一开始的时候,考虑到我们是多人同屏的游戏,沿用了以前项目最简单的角色制作标准,一张512贴图,1500面,随着手机硬件的发展和各种牛逼重度手游的出现,角色就需要新的shader来提升效果了.对于大量同屏的怪物,我们采用传统光照模型,对于重要的NPC和玩家,可以使用PBR.除了这些基本的,角色渲染还需要各种效果,比如...原创 2018-05-19 18:34:22 · 4025 阅读 · 5 评论 -
Unity3D手游项目的总结和思考(1) - 渲染技术
有朋友私信我问我为啥很久不更新博客,是不是转行了...我当然不可能承认自己懒啊,只能回复说太忙了.不过项目开发中,确实很难有时间和心力去总结和思考一些东西,不过现在忙完一些项目以后,我又回来了. 渲染技术这个东西,在项目前期我并没有投入太多精力去思考,在当时的环境下我更看中手游的性能,我做端游,可以无限地挖掘电脑的性能,比如多线程去处理角色的软件蒙皮之类,但是做手游,则要保护...原创 2018-05-18 21:56:54 · 8861 阅读 · 7 评论 -
Unity3D手游开发日记(11) - 基于共享骨骼简单高效的换装方案
游戏的换装,一般分为3种.换材质,骨骼挂接,共享骨骼.用的比较多的是骨骼挂接和共享骨骼.1.骨骼挂接没有动作的骨骼挂接,适合武器.有动作的骨骼挂接,适合坐骑.2.共享骨骼共享骨骼,适合身体部件.主模型(身体)包含整个骨骼,部件模型只包含自己部分的骨骼,应用的时候,部件模型的骨骼共享主模型的骨骼.这样的话,只需要播放主模型的动画,部件会跟着动.Unity的换装呢,你要原创 2016-09-24 12:04:41 · 10878 阅读 · 2 评论 -
Unity3D手游开发日记(10) - 资源打包的一些思考
Unity的资源打包,如果要做完美,其实是很复杂的.那么为什么资源要打包呢,因为我们要做资源更新.没办法啊.在我看来,完美的资源打包至少有以下几个方面要处理好:1) 资源分类设计合理.控制包粒度,单个包不能太大.2) 灵活的文件打包结构.支持文件和文件夹打包3) 共用资源的完美处理.防止重复打包.4) 快速增量打包.加快打包速度.具体来聊一下我的一些思考.原创 2016-09-19 12:30:37 · 3498 阅读 · 1 评论 -
Unity3D手游开发日记(9) - 互动草的效果
所谓互动草,就是角色跑动或者释放技能,能影响草的摆动方向和幅度.前面的文章早已经实现了风吹草动的效果,迟迟没有在Unity上面做互动草,是因为以前我在端游项目做过一套太过于牛逼的方案.在CE3的互动草的基础上扩展,效果好,但技术太复杂,效率开销也特别高. 如果在手机上,就得做一套简单高效的.实现效果:从任意方向碰一下草,草就应该来回晃动,晃动幅度逐渐减小.多次触碰,效果应该叠加.这原创 2016-07-05 18:30:06 · 11403 阅读 · 2 评论 -
Unity3D手游开发日记(6) - 适合移动平台的水深处理
市面上大部分的手机游戏,水面都比较粗糙,也基本没发现谁做过水深的处理.水深的处理把PC平台比较容易,因为很容易获得每个像素的深度,比如G-Buffer,有了像素的深度,就能计算出每个像素到水面的距离,实现水深alpha渐变.但是在移动平台,又是万恶的浮点纹理...导致此方案不行.但是方案都是人想出来的,我想了两种适合移动平台的方案方案1:用水面顶点颜色保存alpha值来做水原创 2016-03-28 12:19:18 · 5194 阅读 · 0 评论 -
Unity3D手游开发日记(8) - 运动残影效果
2D游戏的残影很简单,美术做序列帧图片就行了,那么3D游戏的残影美术做不了,得靠程序员动态创建模型来处理.实现原理也很简单:1.间隔一定时间创建一个残影模型2.对残影模型采用特殊的shader3.残影淡入淡出的处理namespace Luoyinan{ public class MotionGhost { public GameObje原创 2016-04-08 10:44:53 · 10077 阅读 · 6 评论 -
Unity3D手游开发日记(5) - 适合移动平台的植被随风摆动
一直再思考怎么让场景更有生机,我觉得植被的随风摆动时必不可少的.CE3引擎的植被bending就做得特别棒.我也准备在手机上做一套.先分析一下植被摆动常见的几种做法.其实不管哪种做法,核心就是让植被顶点做动画,有的顶点动的少(比如树根),有的顶点动的多(比如树顶),根据怎么样的权重来动?方案1: 用UV来做权重.这种方案对UV展开有要求,要从0到1,只适合面片草,这样原创 2016-03-28 11:36:33 · 11144 阅读 · 4 评论 -
Unity3D手游开发日记(7) - 适合移动平台的天气效果
腾讯的天涯明月刀的天气很棒,以前我也在CE3的基础上做了一个效果差不多的,但是在手机上,还是斜下固定视角的游戏,是否还需要一个天气系统?考虑了一下,觉得可以做一个简单高效的.以下雨天为例子.一阵风吹来,天色逐渐变暗,突然下起了雨来,雨越来越大,夹杂着雷声和闪电,过几分钟,雨逐渐消失...1.风前面文章已经实现了风引起植被的摆动2.天色这个比较麻烦,由于移动平台的场景用的基本原创 2016-03-29 17:10:30 · 10470 阅读 · 15 评论 -
Unity3D手游开发日记(1) - 移动平台实时阴影方案
自从去了某大公司,工作环境比较封闭,就没写过博客了,离开以后,开发移动游戏,相对自由,又可以重操旧业,分享一下自己的心得.阴影这个东西,说来就话长了,很多年前人们就开始研究出各种阴影技术,但都存在各种瑕疵和问题,直到近几年出现了PSSM,也就是CE3的CSM,阴影技术才算有个比较完美的解决方案.Unity自带的实时阴影,也是这种技术,在电脑上很成熟的.我也是目睹了阴影技术的发展,以前也自己写过原创 2015-12-19 14:26:59 · 17388 阅读 · 12 评论 -
Unity3D手游开发日记(3) - 场景加载进度条的完美方案
我以为做个进度条很简单,分分钟解决,结果折腾了一天才搞定,Unity有很多坑,要做完美需要逐一解决.问题1:最简单的方法不能实现100%的进度用最简单的方法来实现,不能实现100%的进度,原因是Unity加载完新场景立马就激活新场景了,无法显示最后的进度.解决办法就是使用allowSceneActivation来控制进入场景的时机.问题2:使用allowSceneActivation后原创 2016-01-04 16:33:16 · 6518 阅读 · 3 评论 -
Unity3D手游开发日记(4) - 适合移动平台的热浪扭曲
热浪扭曲效果的实现,分两部分,一是抓图,二是扭曲扰动.其中难点在于抓图的处理,网上的解决方案有两种,在移动平台都有很多问题,只好自己实现了一种新的方案,效果还不错.网上方案1. 用GrabPass抓图GrabPass在有的手机上是不支持的...效率也是问题,所以...代码可以看看:Shader "Luoyinan/Distortion/HeatDistortion" {原创 2016-01-04 19:00:46 · 12379 阅读 · 17 评论 -
Unity3D手游开发日记(2) - 技能系统架构设计
我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要10个,那么表格也得预留10个特效的字段.我是这么来抽象一个技能的,技能由一堆触发器组成,比如特效触发器,动作触发器,声音触发器,摄像机震动触发器等等,这些触发器到了某个条件就执行触发,触发条原创 2015-12-19 16:03:46 · 37157 阅读 · 18 评论 -
Unity3D手游项目的总结和思考(7) - ImageEffect后处理效果
ImageEffect后处理效果对于游戏画面的提升非常重要,但是要实现一些牛逼的效果并且保证性能,是一件很难的事情. 我把后处理效果按持续时间分两个类,常驻和不常驻.常驻就表示一直存在的,这种后处理一般只允许存在一个,这样才能保证性能.Unity的后处理链,叠加多个后处理,有非常大的开销,据说Unity较新的版本有优化这个.我们而不常驻的,用一下就会关闭的,由于存在时间短...原创 2018-05-22 15:30:23 · 6680 阅读 · 7 评论