求助,用unity 好看的ui特效做ui特效

Unity项目中UI美术需要知道什么 - 知乎专栏
{"debug":false,"apiRoot":"","paySDK":"/api/js","wechatConfigAPI":"/api/wechat/jssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"contributes":[{"sourceColumn":{"lastUpdated":,"description":"||独立游戏开发者社区,让我们来聊点实际的。","permission":"COLUMN_PUBLIC","memberId":,"contributePermission":"COLUMN_PUBLIC","translatedCommentPermission":"all","canManage":true,"intro":"||独立游戏开发…","urlToken":"indieace","id":4791,"imagePath":"8a94f50b9ef","slug":"indieace","applyReason":"","name":"IndieACE","title":"IndieACE","url":"/indieace","commentPermission":"COLUMN_ALL_CAN_COMMENT","canPost":true,"created":,"state":"COLUMN_NORMAL","followers":3115,"avatar":{"id":"8a94f50b9ef","template":"/{id}_{size}.jpg"},"activateAuthorRequested":false,"following":false,"imageUrl":"/8a94f50b9ef_l.jpg","articlesCount":56},"state":"accepted","targetPost":{"titleImage":"/71b2e7a4cb686cce15c9096_r.jpg","lastUpdated":,"imagePath":"71b2e7a4cb686cce15c9096","permission":"ARTICLE_PUBLIC","topics":[],"summary":"本文是开发者@DonaldW 写给UI美术同事的一篇文章,原文题为《Unity项目中UI同学需知的程序相关要点》。背景和目的 本文的背景是《独立防线》(Killer)项目已进行到了一定阶段。虽然之前定下了UI制作规范,但中途也更新了规范,但程序和美术没有具体面对面…","copyPermission":"ARTICLE_COPYABLE","translatedCommentPermission":"all","likes":0,"origAuthorId":634396,"publishedTime":"T12:52:52+08:00","sourceUrl":"","urlToken":,"id":183106,"withContent":false,"slug":,"bigTitleImage":false,"title":"Unity项目中UI美术需要知道什么","url":"/p/","commentPermission":"ARTICLE_ALL_CAN_COMMENT","snapshotUrl":"","created":,"comments":0,"columnId":4791,"content":"","parentId":0,"state":"ARTICLE_PUBLISHED","imageUrl":"/71b2e7a4cb686cce15c9096_r.jpg","author":{"bio":"","isFollowing":false,"hash":"eec6e5f7d0aef013b68f","uid":84,"isOrg":false,"slug":"hongchajunxd","isFollowed":false,"description":"微信公众号:bbklings;世界万物什么都聊;","name":"红茶君","profileUrl":"/people/hongchajunxd","avatar":{"id":"f80a261ce","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"memberId":634396,"excerptTitle":"","voteType":"ARTICLE_VOTE_CLEAR"},"id":267303}],"title":"Unity项目中UI美术需要知道什么","author":"hongchajunxd","content":"本文是开发者@DonaldW 写给UI美术同事的一篇文章,原文题为《Unity项目中UI同学需知的程序相关要点》。背景和目的本文的背景是《独立防线》(Killer)项目已进行到了一定阶段。虽然之前定下了UI制作规范,但中途也更新了规范,但程序和美术没有具体面对面沟通,也没有阐述规范的原因和落地方法。所以,本文目的是为UI美术同事介绍:1、手游性能相关的标准是什么;2、具体制作时需要注意什么;3、什么样的UI流程是高效的。注,以下内容并非要求UI美术同学都掌握、或者要求UI美术单独去处理。而是希望UI美术同学能知道有这些一回事需要考虑。最重要的是:在设计之初,能意识到可能有问题,需要找程序去沟通。体验和性能极端的体验和极端的性能都不现实。在手游平台上,我们应该追求的是体验和性能平衡。性能评估标准游戏中,任一元素(UI图片、特效、模型等)对性能的影响都可以拆分为以下4种影响:CPU消耗、GPU消耗、外存消耗和内存消耗。现就UI相关的影响进行举例如下。CPU消耗CPU负责把UI界面的逻辑结构进行更新、汇总,并负责把这些数据准备好。最后把这些信息传给GPU。UI一般影响CPU的因素包括:界面结构复杂度界面结构变化频率动画复杂度GPU消耗GPU负责最终画面的绘制、渲染。因为渲染是复杂的流程、且运算量巨大、且手机GPU固有的硬件限制(核心数少、浮点运算速度慢),手游的性能瓶颈往往都发生在GPU。也就是说,GPU消耗是性能优化的重中之重。UI一般影响GPU的因素包括:绘制次数(drawcall),和单张图片的数量等因素相关图片最终在屏幕所展现的面积图片是否透明shader的复杂度重绘度(overrdraw,单位像素的重新绘制次数)其中,特别值得注意的是drawcall和重绘复杂度。drawcall每一个不同“材质”的东西都需要占用一个drawcall。每多一个drawcall必然带来额外的CPU消耗和GPU消耗。可以简单认为,当两个东西的材质的shader相同,且纹理相同,则它们是同一个材质,在渲染它们的时候,引擎会进行优化,会合并drawcall为1个。overdrawoverdraw表示单位像素的重新绘制次数右部表示overdraw的程度,越“亮”的区域表示overdraw的程度越高,也就越消耗GPU。外存消耗外存消耗指的是资源在用户“硬盘里占用了多少多少M”。如果外存过大,可能导致用户不愿意下载,或者下载安装后,硬盘空间不够,安装不成功。一般影响外存的因素包括:图片数目图片的分辨率大小图片是否压缩另外,优化了外存,内存往往也会从中受益。内存消耗内存消耗指的是“游戏在实际运行时,占用多少M”。如果内存过大,可能会导致用户游戏体验不流畅,甚至crash。一般影响内存的因素包括:图片数目图片的分辨率大小图片的分辨率是否是2的N次方,图片是否压缩UI制作要点UI输出的图片,可在Unity里设置为新的等比缩放分辨率正因如此,UI美术同学在输出UI贴图时,一般情况下按美术示意图的原分辨率输出即可。单独调分辨率的工作,目前是由开发同学进行。最理想的工作流程,是UI美术同学在导图到Unity的时候,就单独按需设置分辨率(和特效场景模型同学的工作流程一样)。至于什么情况下需要进行降分辨率操作,见下文。低频变化的图片的分辨率可以很小本方法能为GPU、外存、内存带来好处低频变化的图片指的是纯色的、渐变等变化比较平缓的图片。低频变化的图片拉伸后仍能表现非常类似的效果,这是因为GPU在图片采样时会进行相邻像素的插值,从而能大概还原之前的平滑度。总而言之,低频变化的图片的分辨率可以很小。实例如下。低频变化图片:原图512x512:低频变化图片:输出给程序的图片缩小为32x32:低频变化图片:程序在使用时将32x32拉伸为512x512:“好”的UI可以拉起“不好的”UI的表现本方法能为GPU、外存、内存带来好处“好”的UI可以拉起“不好的”UI的表现这句话可以有以下的理解:不压缩的UI可以拉起压缩的UI表现高分辨率的UI可以拉起低分辨率的UI表现高频率变化的UI可以拉起低频率变化的UI表现如上图的放射线部分,它实际是由两张不同的放射线图上下叠加而成。下层的放射线顺时针转动,上层的放射线逆时针转动。由于上层的放射线作为表现的主体所以采取了“好”的设置(分辨率高、非压缩),那么作为表现的衬托部分的下层图,就算采用比较“不好”的设置(分辨率低,压缩),也不容易察觉。所以,针对这种多UI同时或同位置出现的情况,可以酌情调低某些UI的设置。当然,这个例子中,上下两层采取同一张高品质的图也是解决方案之一。输出图片的分辨率可以酌情低于视网膜的分辨率本方法能为GPU、外存、内存带来好处从iPhone4开始兴起了视网膜级别的PPI。这让手机的任意App的任意界面的任意一帧,都看不出任何像素感,提高了App的用户体验。但在游戏中,游戏有以下特点:游戏的UI资源是独立原创的(App的UI资源有可能直接使用操作系统自带的资源,节省外存),会带来非常客观的外存、内存消耗游戏是动态的游戏的一帧内,最吸引玩家眼前的往往是一个局部再根据上面提到的“好”的UI可以拉起“不好的”UI的表现所以在游戏中,可以酌情将特定非重点的UI图片的分辨率降低。游戏中具体处理的例子:表现的主体是视网膜分辨率的,而它下面的弹出框背景作为表现衬托,采取了低于视网膜分辨率也察觉不出。去除UI图片中不必要的通道、不必要的区域本方法能为GPU、外存、内存带来好处如上图。地球UI图片是没必要有透明通道的,因为它一直以整张底图的形式存在于游戏。地图UI图右部是可以斟酌是否需要存在的,因为它在游戏中一直都被带有背景的排名列表UI挡住。UI图片一般情况下都不需要mipmap本方法能为外存、内存带来好处mipmap会生成多张小图来避免缩小图片时没必要的GPU采样消耗。但使用mipmap的图片会比不使用的图片多占用约三分之一的外存和内存。由于《独立防线》项目以iPhone4作为目标分辨率进行制作,且认为此分辨率是需支持的最小分辨率,也就是说,UI图片很少有缩小的情况出现,所以《独立防线》项目的UI图片都不需要mipmap,减少没必要的外存、内存消耗。其他项目如果需兼容更低分辨率的设备,则要按需选择mipmap。多张UI图片可以打包在一起本方法能为GPU带来极大好处,但可能为外存、内存带来坏处操作很简单,选择需要打包的图了之后,在属性面板里键入任意同一英文字符串即可。这样了之后,多张图被打包在一张图里面。由于多张图片打包在了一起,根据上面提过的合并drawcall的原因,会大幅减少这些图片带来的GPU消耗。打包之后,会产生多余的透明区域,所以打包可能带来的坏处就是增大了外存、内存。所以,关键是选择哪些图片进行打包。来规避透明区域的出现。选择规则如下:不用的图不打包。因为打包的图,就算从不使用,也还是会进入到最终的ipa或者apk里;小的图尽可能打包大图(比如大于512x512,常见的有UI底图)不打包。因为大图会很有可能产生透明区域;降低需要打包中的分辨率最大的图。不打包的单张UI图片分辨率必须是偶数、很有可能需要是2的N次幂本方法能为GPU、外存、内存带来好处按照上面的多张UI图片可以打包在一起做了之后,不打包的图应该是少量的。但由于这些图是独立存在于内存,所以有更严格的要求:单张UI图片分辨率必须是偶数。单张UI图片当有以下任一特点时,分辨率必须是2的N次幂需压缩的单张UI图片。需tiled的单张UI图片。tiled即图片平铺,常用于四方连续UI图。需mipmap的单张UI图片。即多层图片。一般情况下,UI的图片都不需mipmap,所以不用考虑这个。@程序同学:现在大部分移动设备GPU是支持非2的N次方的。即NPOTSupport.Full或者Restricted的。Full的GPU对任意分辨率的纹理都能直接访问;Restricted的GPU,一般情况下对任意分辨率的纹理都能访问,但对于mipmap、tiled的纹理会把它pad成POT。所以,mipmap、或tiled的非打包单张纹理需强制POT。笔者身边的红米、三星、华为等手机,都支持NPOTSupport.Full,只发现小米3支持NPOTSupport.Restricted,小米3W支持NPOTSupport.Full。@程序同学:ETC1(4bit/pixel)成功压缩的要求是POT且不带透明通道,否则将以16bit/pixel的方式压缩保存;PVRTC成功压缩的要求是POT且方形,否则将以true color(32bit/pixel)不压缩保存。常用的方案是,把UI图片打包到一张大图,且大图同时满足ETC1和PVRTC的要求,即POT、且透明通道拆分到大图的下半部、且方形。这需要有特殊的shader对这张大图进行采样:RGB取原本uv、A取uv向下偏移0.5。下半部的Alpha部分可以把Alpha值除以3平均分部到RGB通道,采样时把RGB相加作为Alpha,这样有利于ETC1压缩的效果。因大图的制作需要上半部是UI图片的RGB部分、下半部是UI图片的Alpha部分。所以需要自研或获取适合的atlas算法对UI图片进行排版。此时上面提到的Unity自带的Sprite Packer方法将不再适用。排版后的大图的可容忍浪费分辨率是原图的16bit/4bit=4倍,或32bit/4bit=8倍。打包的UI图片的分辨率可以是任意的但依然推荐输出偶数分辨率,避免未来带来不可知的麻烦。UI最好能用九宫格+局部装饰实现本方法能为GPU、外存、内存带来好处九宫格已经是非常常用的UI制作方法。九宫格UI几乎是百利无一害,所以希望UI同学能用九宫格的尽量用九宫格。使用九宫格有以下几个值得注意的技巧:九宫格UI图片可以做得很小只给正方形的图,而并非上面一个长条形的图如果UI图片内部是低频变化(人话:比较平滑的纹理),依然可以使用九宫格如果UI图片内部是高频变化(人话:比较细的复杂纹理),一般情况下就不能使用九宫格了但可以把这些高频变化的纹理设计成只在边缘出现,让九宫格十字架内依然是低频变化,那这种UI图依然可以九宫格切九宫格时,边缘部分应尽量细、内部十字架部分应该尽量饱满。这样可以确保这个UI能够使用于非常小的场合而不穿帮字体选择方案本方法能为外存、内存带来好处,可能为GPU带来好处在选择游戏字体的时候,除了确保美观程度之外,还需考虑:字体种类:应当保持在2类以内:用于标题的中文偏设计的字体、用于正文的中文偏正式的字体。如需,可额外加入英文偏设计的字体;字体编码类型:如果是中文字体,需考虑是否GB2312编码甚至是GBK编码。避免字体出现有些常用中文字没有的情况;在选择字体时,应留意在手机上的表现。比如一些字体比较细,在手机上看不清,到后面需要都加粗加描边,带来没必要的消耗,也带来了之后额外的繁琐的字体相关工作。制作流程UI同学和程序同学一起维护Unity UI资源文件夹当前的工作流程是美术同学输出了UI图片后,传到FTP,通知程序同学具体路径,程序同学从FTP拷贝资源到UnityUI资源文件夹,为了版本一致,程序同学可能需要对它进行重命名,才用上了一张新资源。Unity UI资源文件夹里存放着真正采用到游戏的文件夹。这个文件夹事实上已经存在了,但只有程序同学在维护。现在需要UI美术同学、程序同学一起来维护它。这样有以下好处:Unity的文件夹里,可以直接存放任意格式的图片甚至是psd。Unity在构建时才将这些图片转为需要用的格式可以直接在Unity看到图片在手机里内存、外存的真正占用方便查找真正在用的UI资源由于这个文件夹的资源是正式且确保资源不重复,所以方便美术同学间协作,防止信息不对称制作了重复资源当有UI小幅修改时,美术直接修改即可。而不是走一个美术修改、传给程序、程序替换的臃肿流程给资源重用落地提供基础事实上,我们的特效、场景、模型都已经是这样做了,一起维护一个真正采用到游戏的文件夹资源组件重用老生常谈、不得不谈。资源重用可以节省策划同学工作量、美术同学工作量、程序同学工作量,节省外存、内存,也节省用户体验学习成本,。如果减法百利无一害,何必狂做加法吃力不讨好。一个可以帮助资源重用的思考流程大致是这样的:UI美术同学如果在接到新UI需求;先想UI的某个组件能不能用资源库里已有UI资源组件来完成;如果能,则重用,仅仅在Photoshop里制作示意图,不输出该UI组件资源(此时,如果可以形成工具和规则,帮助UI美术同学将psd导出成prefab,将有效提高UI合入效率。《独立防线》项目组正在往这个方向尝试);如果不能,才设计新UI组件资源;同时,新资源也遵循可重用规则;新资源归档回资源库;多次重复1-5步后,资源库会越来越容易满足未来的新UI的需求。适配设备分辨率的UI制作思路最近新出的手游为了更好的体验,都采取了填满设备屏幕的分辨率适配的UI方案。所以要求策划同学、UI同学在设计时,就要考虑分辨率适配问题。而并不能仅仅瞄准一款热门设备比如iPhone5进行设计。Unity UGUI有很好的UI适配方案。概括描述如下:矩形的原点都在左下角。3个重要的矩形:实在存在的父矩形、用于辅助的anchor矩形、实在存在的子矩形(当前矩形)。父矩形内部包含了anchor矩形和子矩形。下列图中,外框表示父矩形、“四叶花瓣尖”组成anchor矩形、蓝点表示子矩形。图:anchor矩形四角跟父矩形四角一一对应。即归一化距离(即距离占父矩形宽或高的比例)固定。对应的两个角之间就好像用橡皮筋绑起来一样。比如图中左上花瓣跟左上角距离总是50%宽、60%高。注意到,图中anchor矩形四角聚在一起,这样父矩形大小变化时,anchor矩形大小不会变化。图:anchor矩形四角跟父矩形四角一一对应。即归一化距离(即距离占父矩形宽或高的比例)固定。对应的两个角之间就好像用橡皮筋绑起来一样。比如图中左上花瓣跟左上角距离总是50%宽、60%高。注意到,图中anchor矩形四角聚在一起,这样父矩形大小变化时,anchor矩形大小不会变化。图:anchor矩形四角跟父矩形四角一一对应。对应的两个角之间的归一化距离(即距离占父矩形宽或高的比例)固定。对应的两个角之间就好像用橡皮筋绑起来一样。比如图中左上花瓣跟左上角距离总是10%宽、50%高。注意到,图中anchor矩形四角各自分开,这样父矩形大小变化时,anchor矩形大小也会变化。图:anchor矩形四角跟父矩形四角一一对应。对应的两个角之间的归一化距离(即距离占父矩形宽或高的比例)固定。对应的两个角之间就好像用橡皮筋绑起来一样。比如图中左上花瓣跟左上角距离总是10%宽、50%高。注意到,图中anchor矩形四角各自分开,这样父矩形大小变化时,anchor矩形大小也会变化。图:子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。对应的两个角之间就好像用铁棒锁起来一样。比如图中左上蓝点跟左上花瓣的距离总是80像素宽、30像素高。注意到,图中anchor矩形四角聚在一起,这样父矩形大小变化时,由于anchor矩形大小不会变化,所以子矩形大小不会变化。图:子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。对应的两个角之间就好像用铁棒锁起来一样。比如图中左上蓝点跟左上花瓣的距离总是80像素宽、30像素高。注意到,图中anchor矩形四角聚在一起,这样父矩形大小变化时,由于anchor矩形大小不会变化,所以子矩形大小不会变化。图:子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。对应的两个角之间就好像用铁棒锁起来一样。比如图中左上蓝点跟左上花瓣的距离总是40像素宽、20像素高。注意到,图中anchor矩形四角各自分开,这样父矩形大小变化时,由于anchor矩形大小也会变化,所以子矩形大小也会变化。图:子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。对应的两个角之间就好像用铁棒锁起来一样。比如图中左上蓝点跟左上花瓣的距离总是40像素宽、20像素高。注意到,图中anchor矩形四角各自分开,这样父矩形大小变化时,由于anchor矩形大小也会变化,所以子矩形大小也会变化。总之,anchor矩形四角跟父矩形四角一一对应,对应的两个角之间的归一化距离(即距离占父矩形宽或高的比例)固定;子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。通过这样的关系,就可以实现各种不同的适配方案。比如以下这些。当四花瓣聚在一起时,父矩形改变大小,子矩形大小不会改变。位置会锁定在归一化距离。横向纵向皆不拉伸横向纵向皆不拉伸当四花瓣格子横向分开时,父矩形改变大小,子矩形横向大小会相应改变。横向拉伸、纵向不拉伸横向拉伸、纵向不拉伸当四花瓣格子横向纵向皆分开时,父矩形改变大小,子矩形横向纵向大小皆会相应改变。横纵向皆拉伸横纵向皆拉伸","updated":"T04:52:52.000Z","canComment":false,"commentPermission":"anyone","commentCount":0,"collapsedCount":0,"likeCount":107,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","titleImage":"/71b2e7a4cb686cce15c9096_r.jpg","links":{"comments":"/api/posts//comments"},"reviewers":[],"topics":[],"adminClosedComment":false,"titleImageSize":{"width":900,"height":500},"href":"/api/posts/","excerptTitle":"","column":{"slug":"indieace","name":"IndieACE"},"tipjarState":"inactivated","annotationAction":[],"sourceUrl":"","pageCommentsCount":0,"hasPublishingDraft":false,"snapshotUrl":"","publishedTime":"T12:52:52+08:00","url":"/p/","lastestLikers":[{"bio":"","isFollowing":false,"hash":"beaaf73920ff","uid":80,"isOrg":false,"slug":"ceng-xx-13","isFollowed":false,"description":"","name":"曾XX","profileUrl":"/people/ceng-xx-13","avatar":{"id":"2257f68ed","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"用户体验设计师","isFollowing":false,"hash":"bfca8da76fe9ba5","uid":782400,"isOrg":false,"slug":"zhang-yao-83-81","isFollowed":false,"description":"","name":"张耀","profileUrl":"/people/zhang-yao-83-81","avatar":{"id":"2d948db5ccab8cea4c8fcec33c88cb88","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"加油哦~","isFollowing":false,"hash":"7b57af4be6","uid":96,"isOrg":false,"slug":"ling-ling-94","isFollowed":false,"description":"世界那么大,我也想看看~","name":"玲玲","profileUrl":"/people/ling-ling-94","avatar":{"id":"d8b484131","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"画画的","isFollowing":false,"hash":"4dce9a89cafba76","uid":28,"isOrg":false,"slug":"chole-ho-81","isFollowed":false,"description":"","name":"Chole Ho","profileUrl":"/people/chole-ho-81","avatar":{"id":"59f87eca57df9a63c50aad","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"量产型盒装分布式计算装置","isFollowing":false,"hash":"153a46f973ea379e549cc3","uid":147700,"isOrg":false,"slug":"benpigchu","isFollowed":false,"description":"量产型盒装分布式计算装置\n什么都能玩,一起来玩吧\n","name":"benpigchu","profileUrl":"/people/benpigchu","avatar":{"id":"v2-d6ada8d449d389cccfcc58","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false}],"summary":"本文是开发者@DonaldW 写给UI美术同事的一篇文章,原文题为《Unity项目中UI同学需知的程序相关要点》。背景和目的 本文的背景是《独立防线》(Killer)项目已进行到了一定阶段。虽然之前定下了UI制作规范,但中途也更新了规范,但程序和美术没有具体面对面…","reviewingCommentsCount":0,"meta":{"previous":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/50/3bcf2039df3_xl.jpg","links":{"comments":"/api/posts//comments"},"topics":[],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"独立游戏开发者","isFollowing":false,"hash":"eb4132dbcc9ef3a0e9cfcdb","uid":96,"isOrg":false,"slug":"yizhimao","isFollowed":false,"description":"本体其实是一只猫(头像即本人)。","name":"小玉","profileUrl":"/people/yizhimao","avatar":{"id":"a9d6a00d321a770c114e3f","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"indieace","name":"IndieACE"},"content":"为了支持独立游戏开发者,每年的东京游戏展上,都会有一片名为Indie Game Area的特别展区留给独立游戏。由于有索尼的赞助,独立开发者们可以免费得到一个1平方米的展位。借用去年禹石游戏的《剑无生》参展的照片,展位大概是这样的。根据官网公布的信息,申请在Indie Game Area参展的独立团队需要满足以下要求:法人:作品年收入在50万美金以下;个人:作品年收入在10万美金以下;资金相对独立,比如没有接受过大公司的注资等。参展的必须是完全原创的作品,不接受二次创作作品申请参展。申请时需要提交游戏视频观看地址、游戏官网和游戏截屏等材料,去年带着《微观战争》去参展的饭盆同学表示,游戏视频是比较重要的一个材料,大家要用心准备。申请截止日期是日(周五),离截止日还有不到2个月的时间,有作品想要带去TGS展出的开发者们,可以好好规划时间,准备起来了。主办方在对申请作品进行审查后,会在7月上旬到中旬通知申请者结果,如果大家成功申请到展位,9月份就可以带着你的作品出现在TGS上了。由于是日本的展会,建议大家提前准备好游戏的日语介绍和操作说明,以便日本的玩家试玩。带着自己的独立游戏参加世界级的大型展会是一个非常好的交流机会,既可以和来自世界各地的独立开发者们互相学习,也能够借机测试国外玩家对游戏的反馈,还可能因此得到一些商务合作机会。所以我们一直建议各位开发者,要多在这样的活动上展示自己的游戏。申请方法打开Tokyo Game Show网站:;查看申请要求,填写材料进行申请。欢迎关注IndieACE微信公众号:IndieAce,可以看到IndieACE定期分享的好内容。需要转载IndieACE的文章请与我们私信联系。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T12:39:53+08:00","url":"/p/","title":"带着你的独立游戏去参加东京游戏展吧","summary":"为了支持独立游戏开发者,每年的东京游戏展上,都会有一片名为Indie Game Area的特别展区留给独立游戏。由于有索尼的赞助,独立开发者们可以免费得到一个1平方米的展位。借用去年禹石游戏的《剑无生》参展的照片,展位大概是这样的。根据官网公布的信息,申…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":0,"likesCount":5},"next":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/50/ad92e45ae706_xl.jpg","links":{"comments":"/api/posts//comments"},"topics":[],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"独立游戏开发者","isFollowing":false,"hash":"eb4132dbcc9ef3a0e9cfcdb","uid":96,"isOrg":false,"slug":"yizhimao","isFollowed":false,"description":"本体其实是一只猫(头像即本人)。","name":"小玉","profileUrl":"/people/yizhimao","avatar":{"id":"a9d6a00d321a770c114e3f","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"indieace","name":"IndieACE"},"content":"本文根据去年11月IndieACE沙龙上禹石游戏的蔡建毅先生的分享整理。禹石游戏是《剑无生》的制作团队,他们对动作游戏的理解十分有意思,无论你是游戏开发者,还是单纯的动作游戏爱好者,这篇文章都值得看一看。文章比较长,但非常值得看完。独立游戏的重点在于做小做精,规模不应该太大,但是国内的团队、尤其是动作游戏团队,容易把游戏规模越做越大,这是个常见的问题。而我个人觉得,我们讨论动作游戏时,大多处于“只见树木不见森林”的状态,这个演讲就希望从整体上对动作游戏的设计方法做一个介绍。动画师们都知道,在制作动画时,有两个必须遵循的条件:Time(时间)和Space(空间),动作游戏的设计也是如此。比如在动作游戏中有取消(Cancel)和硬直(Stun)的概念,前者是新动作取代当前动作的机制,后者是行动不能的时间惩罚,这就是动作游戏中时间上的玩法;而空间上的玩法则涉及移动(Movement)和范围(Range),玩家在游戏时需要进行空间上的预判,这对游戏爽快感有很大影响;而范围则涉及我们常说的判定框,判定框有的和打击有关,有的和防御有关,判定框的大小和出现的时间点是游戏好玩不好玩的关键。如果我们继续演绎Time和Space这两个条件,就会发现加入机制是必要的。因为动作游戏不是纯考验感觉和反应能力的游戏,而是重视机制的。剪刀石头布就是我们常见的简单机制,这种互相克制的机制在动作游戏中也常常出现。三方相克的机制是一种静态平衡,确保游戏中不会有哪一方能够由于先天优势一直赢下去;但如果这个静态平衡的规律一直成立,游戏也就无聊了,所以我们需要加入一些balance breaker,使更多的选择出现,比如发生破坏时加入补偿之类,这种动态的平衡会让游戏更加耐玩。我们在经典动作游戏中会看到动作的帧数表,帧数优势定义了角色特色和游戏系统,反过来,通常还会加入反击系统,作为帧数优势的补偿,因为不是所有人都对时间判定那么敏感。我们来看一种互相克制机制的改进思路。首先,在动作游戏中有快速攻击克制慢速攻击的特点存在,谁先打谁会获得先机的优势,但如果单纯强调这种克制,游戏就会让玩家陷入走位大战:抢先攻击成了唯一目标,没有游戏深度。针对这一点,设计师进行改进,加入回避和防御的机制,可以克制先出手对后出手的占优地位,让回避或者防御成功的一方可以利用反击达成反制效果——但这样又会让双方陷入龟缩大战中,玩不下去;进一步改进,设计师就加上了回避风险和防御风险的设计,比如在猎天使魔女中,你不能无限闪躲下去,闪躲5次就会有1次僵直,让敌方有机可乘;常见的防御到达一定次数会被破防的设定,也是出于这个考虑。再加上一些克制设置:比如攻击克投掷、投掷克防御,会让游戏内的克制达到比较平衡的状态。顺便说一下,动作游戏里的防御机制并不适应于所有游戏,一些追求快节奏的动作游戏,甚至会把这个要素砍掉,因为防御会破坏游戏的节奏感。鬼泣和猎天使魔女都是几乎不要防御的,全是回避,让人觉得流畅爽快。这种游戏玩的是策略或运气,你需要在回避后预测对方的动作做出相应操作。以上的设计只是静态的平衡,那么动态平衡是如何产生的呢?举个例子,有个动画叫赌博默示录,这个动画里给剪刀石头布加上了个有趣的变化,把剪刀石头布变成了卡牌游戏:每种卡牌的数量固定,每种类余下卡牌的数量会显示在记分板上,这样就把玩运气的剪刀石头布变成了玩策略的游戏。这就是静态平衡加上有意义的条件,会产生有趣变化的例子。动作游戏中一般是什么情况呢?这里有一个表。表里把防御分为上段和下段,攻击分为上段下段和投掷,再加上跳跃,我们可以看到在这种情况下,下段防御的失败几率是0%。玩家玩到一定次数,就会总结出这个表,发现一个比较高赢率的玩法。为了让游戏多一些变化,我们加上一个条件——中段攻击(威力强、容易连招的攻击),这个表就成了这样。于是没有哪种防御是占绝对优势的,上段防御成了玩家必须考虑的选择,并且出现了一些高风险高回报的玩法。这样是为了造成一个动态效果,让玩家有更多策略选择,这时,干扰对方预判的假动作玩法也会出现,游戏会更加好玩。所有的动作游戏都包含类似设计,游戏设计师在填写这个表的时候很花心思,会认真考虑什么元素才是自己游戏表现的重点,所以每个游戏玩起来感觉都不太一样。然后要说的是动作游戏另一个重要的设计——帧数优势。在攻防过程中,防御成功可以让攻击方陷入硬直,防御方获得帧数优势,可以进行反击。玩街霸的时候一个常见的战法:轻攻击用于试探,一旦对方出现硬直就用大招——这就是一个例子,这是街霸核心的东西。这样的设计会出现一种状况:通常情况下防御方是有利的,但出大招或者破防的话,防御方就崩溃了。在动作游戏中,硬直时间通常通过停止或者动画来表现,2D游戏可以通过停止来表现,3D就必须通过动画了。3D游戏另一个常见的做法是玩连招,由于防御会让连招节奏改变,所以这种游戏会把防御要素的影响缩小,比如在连招中间对方没法防御。另一个是反击系统。一般情况下,对帧数非常敏锐的高手很少,为了解决帧数优势系统学习曲线过高的问题,动作游戏加入了反击系统。这时玩家不需要在意时间、不需要背帧数表,只需要看对方的动作表现,然后按对按键就可以。以猎天使魔女为例子,闪躲成功后,敌人进入慢动作模式,想怎么打就怎么打,很有爽快感。出招方式也是一个重要概念,在以前,根据输入内容决定出招(俗称搓招)是一种常见的出招方式,现在这种方式已经略显麻烦,再加上3D游戏中这种方式应用困难,所以现在变成了根据条件判定出招(当在空中时发什么招、当在地上时发什么招等),这种处理可以缓冲掉对出招表的记忆,也可以使出招更加直观,减轻玩家在输入上的负担,让轻度玩家也可以接受,但仍旧可以保留玩法深度,不会变成无脑打法。接下来讲一下攻击中的动作,在日本是用下图中的这个东西来说明的。攻击动作从Neutral状态开始,Neutral是待机状态,接下来是准备攻击的状态,然后就是蓄力、蓄势动作,之后则是Impact,这是攻击动作中最大、最帅的部分;接着是用完力量、力量消失的过程,Stop是力竭阶段的停止时间。在蓄势状态时的动作,是在告诉玩家敌人会用什么招打你,比较友好的游戏蓄力时间会比较长,另外,一些假动作和变化也出现在这个时间;攻击判定的开始和结束位置,则可以暗示玩家攻击判定框有多大,这一点做不到位,玩家会觉得莫名其妙。而在Stop状态会有个强调重量感的停顿。这三段时间的长短会影响动作表达的感觉。攻击还涉及攻击效果。攻击的对敌效果包括造成伤害和硬直,以及受击效果;攻击的范围涉及判定框的设置,攻击方向可以是水平、垂直、斜向或者冲刺,范围形状包括点、线、面、圆柱体等等都有;攻击距离也分为远、中、近等。顺便说一下追尾的设计。我们知道在怪物猎人里面,玩家攻击的时候,游戏是不会自动做调整的,所以对玩家在攻击时对准的要求高,但战神这种游戏就会帮忙调整,在玩家开始动作之后,主角会追着敌人打,以此带来爽快效果。追尾的距离、角度和速度的参数对游戏体验影响很大,是3D动作游戏里很重要的一块。受击反应。这部分和动画师关联很大,因为是通过动画来表现的。需要通过符号化的方式,来让玩家知道敌人受击力度的大小(而不是通过物理拟真的方式),否则玩家会迷惑、无法辨析造成伤害大小。冲击的方向和打击感有关系,攻击动作如果和受击动作吻合度高,即使不用特效,也会有很棒的打击感。这里需要和动画师说清楚,敌人会受到来自哪些方向的、怎样的伤害,要让玩家觉得打到敌人时,敌人觉得痛,这样效果才会好。然后才是拟真化的部分,比如我们可以让击飞击倒时的感觉贴合真实的自然感觉,但这里是纯粹演出的部分,不涉及反馈表现。在受击种类的部分尝试在表现上做一些变化,比如击退、击倒、击飞等,就能让玩家在攻击成功时能采取对应的方式达成连击。一些特殊的状态,比如击倒重置、受击免疫、坚硬无敌等等,也会让游戏充满变化性。这部分设计得好,表现不用特别华丽,游戏感觉也会很好。理解了以上方法的原理,国内团队在做动作设计的时候,就没有必要生搬硬套国外动作游戏大作的具体设计了,而可以做一些符合实际情况的原创设计。比如设计一个彪形大汉的敌人可以这样:蓄力长,但active时间短,以此表达强力的感觉;追尾不强,但攻击判定大,攻击造成强制的击飞击倒效果等。甚至我们可以用这些原理把中国武术剑术融合进来。再说一下一对多时的敌人配置。在动作游戏中,杂鱼的作用是让玩家宰、让玩家爽,而小BOSS是给玩家一个小挑战,BOSS则是玩家必须尝试抓住规律、全力干掉的敌人。这些和动作、数值、关卡设计相互结合,会产生一些功能分担上的改变,比如游戏中后期,原来的小BOSS变成杂鱼兵之类的。动作游戏大多没有等级概念,玩家的成长就在这些地方体现。用组合的方法来配置敌人,这种方式是国内的团队比较少使用的。如果你记得鬼泣1代的话,可能会记得鬼泣1的敌人种类并不多,但前期的怪物在后期出现,还是会让你觉得有挑战性,这就是因为挑战组合配置得好。动作游戏不是要折磨玩家,这些设计的目的是给玩家挑战。常见的组合比如远攻、近攻组合,近处怪物攻击,远处法师放法术;效果组合,地方一些怪物把主角石化之后,弱小的杂鱼也能消灭你,组合可以造成意外性,给玩家新鲜感,同时让玩家去思考如何去克制敌人。用这种方法,我们不需要制作很多的资源,也可以造成很丰富的游戏变化。团体AI则可以让敌人变得有组织性,比如在敌人群攻时,玩家打一个敌人的时候,其他敌人会等着,这样的感觉会让玩家觉得挑战是接二连三出现的,不会太混乱;而多个敌人同时攻击的情况,则可以鼓励玩家使用群体攻击,让玩家觉得爽。敌人补充的方式,常见的也有两种,一种是敌人死一个就补一个,还有一种是阶段性的补,到一定时间就会补充,强迫玩家在一定时间内干掉所有敌人。在补充的过程中加入多种类切换,补充不同种类的敌人,也会让玩家觉得感觉不一样。用群体AI来指挥怪物站位,则可以防止敌人凑着站一堆显得傻,让玩家觉得敌人有组织性。利用多种变化和组合,就可以使用少量的怪来产生丰富的变化。最后,则是关卡、镜头、BOSS和叙事演出的部分,这些部分处理好也很加分。比如灵游坊的作品,他们能说出一个完整的好故事,就是游戏的亮点。现在这个时代,纯动作的3D动作游戏已经不是潮流所向了,因为在纯动作方向上的技术探索可能已经达到一个瓶颈。我们就希望研究在这种状况下,如何让动作游戏能够老树发新芽,做出些不一样的东西,同时让国内玩家能够更好地享受动作游戏这个品类的作品,这些是我们今后要做的事。欢迎关注IndieACE微信公众号:IndieAce,可以看到IndieACE定期分享的好内容。需要转载IndieACE的文章请与我们私信联系。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T12:12:37+08:00","url":"/p/","title":"动作游戏的设计语法","summary":"本文根据去年11月IndieACE沙龙上禹石游戏的蔡建毅先生的分享整理。禹石游戏是《剑无生》的制作团队,他们对动作游戏的理解十分有意思,无论你是游戏开发者,还是单纯的动作游戏爱好者,这篇文章都值得看一看。文章比较长,但非常值得看完。独立游戏的重点在…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":4,"likesCount":118}},"annotationDetail":null,"commentsCount":0,"likesCount":107,"FULLINFO":true}},"User":{"hongchajunxd":{"isFollowed":false,"name":"红茶君","headline":"微信公众号:bbklings;世界万物什么都聊;","avatarUrl":"/f80a261ce_s.jpg","isFollowing":false,"type":"people","slug":"hongchajunxd","bio":"","hash":"eec6e5f7d0aef013b68f","uid":84,"isOrg":false,"description":"微信公众号:bbklings;世界万物什么都聊;","profileUrl":"/people/hongchajunxd","avatar":{"id":"f80a261ce","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false,"badge":{"identity":null,"bestAnswerer":null}}},"Comment":{},"favlists":{}},"me":{},"global":{"experimentFeatures":{"ge3":"ge3_9","ge2":"ge2_1","nwebStickySidebar":"sticky","newMore":"new","liveReviewBuyBar":"live_review_buy_bar_2","liveStore":"ls_a2_b2_c1_f2","isOffice":"false","homeUi2":"default","answerRelatedReadings":"qa_recommend_with_ads_and_article","remixOneKeyPlayButton":"headerButton","qrcodeLogin":"qrcode","newBuyBar":"livenewbuy3","newMobileColumnAppheader":"new_header","zcmLighting":"zcm","favAct":"default","appStoreRateDialog":"close","mobileQaPageProxyHeifetz":"m_qa_page_nweb","iOSNewestVersion":"4.2.0","default":"None","wechatShareModal":"wechat_share_modal_show","qaStickySidebar":"sticky_sidebar","androidProfilePanel":"panel_b"}},"columns":{"next":{},"indieace":{"following":false,"canManage":false,"href":"/api/columns/indieace","name":"IndieACE","creator":{"slug":"yizhimao"},"url":"/indieace","slug":"indieace","avatar":{"id":"8a94f50b9ef","template":"/{id}_{size}.jpg"}}},"columnPosts":{},"columnSettings":{"colomnAuthor":[],"uploadAvatarDetails":"","contributeRequests":[],"contributeRequestsTotalCount":0,"inviteAuthor":""},"postComments":{},"postReviewComments":{"comments":[],"newComments":[],"hasMore":true},"favlistsByUser":{},"favlistRelations":{},"promotions":{},"switches":{"couldAddVideo":false},"draft":{"titleImage":"","titleImageSize":{},"isTitleImageFullScreen":false,"canTitleImageFullScreen":false,"title":"","titleImageUploading":false,"error":"","content":"","draftLoading":false,"globalLoading":false,"pendingVideo":{"resource":null,"error":null}},"drafts":{"draftsList":[],"next":{}},"config":{"userNotBindPhoneTipString":{}},"recommendPosts":{"articleRecommendations":[],"columnRecommendations":[]},"env":{"edition":{},"isAppView":false,"appViewConfig":{"content_padding_top":128,"content_padding_bottom":56,"content_padding_left":16,"content_padding_right":16,"title_font_size":22,"body_font_size":16,"is_dark_theme":false,"can_auto_load_image":true,"app_info":"OS=iOS"},"isApp":false},"sys":{},"message":{"newCount":0},"pushNotification":{"newCount":0}}

我要回帖

更多关于 unity3d ui特效 的文章

 

随机推荐