
Unity3D开发
文章平均质量分 66
langresser
这个作者很懒,什么都没留下…
展开
-
Unity原生平台插件开发简介(Android/iOS)
一、Unity如何调用c#之外的语言的内容1、c/c++可以编译成.so动态库(android平台下),.dll动态库(window平台和编辑器下),.a静态库(iOS平台下),.bundle包(Mac平台下和编辑器下) 把编译好的东西放在Plugins目录下的指定平台目录下即可。比如iOS平台就放在iOS文件夹下面。Android平台根据cpu架构不同放在对应文件夹下面,比如A原创 2017-02-25 15:08:26 · 4837 阅读 · 0 评论 -
Unity如何在Editor下执行协程(coroutine)
在处理Unity5新的AssetBundle的时候,我有一个需求,需要在Editor下(比如一个menuitem的处理函数中,游戏没有运行,也没有MonoBehaviour)加载AssetBundle。而加载AssetBundle的时候又需要使用yield return www;这样的协程用法。 所以就有了一个需求,在Editor下执行协程。我从网上找到一个EditorCorout原创 2015-03-13 18:12:39 · 10369 阅读 · 4 评论 -
Unity自动更新、AssetBundle整理
这篇文章梳理了我现在所理解的Unity的AssetBundle、自动更新的流程和知识点。一、关于AssetBundle 如果不是为了自动更新的话,其实完全可以避免掉AssetBundle,全部资源放到Resources目录下或者在Scene中直接引用。这样可以避免掉很多坑。但是考虑到手游的自动更新,AssetBundle就非常有必要了。它相当于一个小的资源包,提供了在游戏完整原创 2015-09-28 11:07:53 · 6249 阅读 · 1 评论 -
Unity中uGUI的控件事件穿透逻辑
1、正常来说Image和Text是会拦截点击事件的,如果添加EventTrigger的话,就可以响应对应的交互事件。2、如果Image和Text是一个Button的子控件,那么虽然其会显示在Button上面,但是并不会拦截点击事件。除非是Selectable的,否则子控件不会影响到父控件的点击。3、如果是跨Panel或者是同级的Image和Text,是会拦截点击事件的,即如果Image在某原创 2015-08-21 11:02:25 · 12483 阅读 · 2 评论 -
Unity中uGUI的多分辨率处理
1、通过RectTransform中的Anchors和Pivot来进行控件和窗体的布局适配Anchors控制当前Panel相对于父窗体的布局位置,可以设置为居中或者左上角,当父窗体拉伸的时候当前Panel可以自动布局到正确位置。同时这里可以设置拉伸,比如主界面一般是全屏拉伸的,这种情况可以在这里处理。Pivot是当前控件坐标系的锚点位置,通过代码调整坐标位置的时候需要注意这个的设置原创 2015-07-30 14:35:15 · 3199 阅读 · 0 评论 -
Dota2技能系统设计分析
前两周写完了新游戏的技能系统。虽然也算灵活,但是跟Dota2的技能系统设计比起来,就差了很多。无论从灵活性还是功能实现上,其技能系统设计的都相当漂亮。如果早一些分析它的技能系统的话,我想我可以实现的更快更好。 与之类比还有一些游戏,其技能系统设计的也很漂亮,比如魔兽争霸3 火炬之光2 星际争霸2,它们都很灵活,从其众多的MOD就可以看出来,甚至MOD的作者可以做出游戏开发者原创 2015-07-06 17:35:01 · 9972 阅读 · 0 评论 -
手游帧同步的研究
网络游戏的同步可以做的很简单,也可以做的很复杂。简单来说就是通过Http或者Socket来跟服务器同步数据。而如果往复杂了说,可以有p2p、帧同步、航位预测等等高级课题可以研究。 因为我们的项目需求----几百个独立单位的实时同步(带pvp的rts),所以研究了下帧同步。不过后来发现它其实有很多问题,所以具体如何还要看其他同事的研究成果。以我个人来说,修改游戏方案反而是最合理的解原创 2015-07-04 17:18:26 · 16053 阅读 · 7 评论 -
Unity客户端框架笔记二(组件实体开发模式的思考)
Unity的Entity-Component-System实现的非常漂亮,非常灵活。很多文章也对这种组件实体的开发模式倍加推崇。因为它契合这么一条规则:优先使用组合而不是继承。 但是实际开发过程中,限制于我的个人能力,想实现一个同样漂亮的基于组件的MMO框架是非常困难的一件事情。 这篇文章是个人开发过程中的一些思考,实际上,所谓漂亮的框架是因人而异的,并且不一定原创 2015-06-02 11:40:13 · 5395 阅读 · 1 评论 -
Unity客户端框架笔记(状态模式和策略模式在游戏中的应用)
最近花了几天时间梳理了一下新游戏的客户端框架,虽然本身就有相对明确的方向,但是在一开始写的时候还是有些混乱,不过最终梳理完成后,个人感觉代码清爽很多。 这篇文章不是设计模式的教学,而是自己的一些想法和实践,我把代码梳理成自己喜欢的结构,保证逻辑和结构的清晰,但是这并不意味者它是符合所有人习惯的。 我之前有写过一两篇文章讨论客户端的结构,也吐槽过一些其他人的设计。原创 2015-05-17 19:41:14 · 3960 阅读 · 1 评论 -
Unity中直接使用transform和gameObject的效率测试
尽信书不如无书,更何况是网上开发者的博客。这里也包含我自己的博客,有的时候回过头来看是有错误的地方,但是我也懒得改了,而且很多时候我们看到的文章还不一定是原始地址,而是被各个网站七转八转的,更加不可能保证准确性。 这里测试了这么一个说法:“不要在脚本中直接使用transform或者gameObject,而应该在一开始缓存成成员变量如_transform和_gameObject来访原创 2015-05-16 12:06:08 · 5894 阅读 · 0 评论 -
Unity热更新方案(uLua vs sLua)
首先附上这两个项目的地址,这两个项目都是比较完善的lua解决方案,从效率和使用方式上说都不相伯仲,我最终选择了ulua,但是并不是说其具有压倒性优势。 uLua:http://ulua.org/index.html sLua:https://github.com/pangweiwei/slua 引入lua,基本上就是为了热更原创 2015-04-18 13:50:09 · 21832 阅读 · 1 评论 -
COSMOSBOX手遊制作手册
20140712版版本号Version日期Date作者Author变更主要原因描述Brief Description1.02014-4-26陈霈霖初稿2.0 非常不错的文档,赞同其大部分内容。原文地址:http://www.cnblogs.com/mrkelly/p/39转载 2015-03-31 18:08:27 · 1973 阅读 · 0 评论 -
Unity4.6新UI系统初探(uGUI)
原文地址:https://github.com/jareguo/unity-ugui/tree/master/overview引言Unity终于在即将到来的4.6版本内集成了所见即所得的UI解决方案(视频)。事实上从近几个版本开始,Unity就在为这套系统做技术扩展,以保证最终能实现较理想的UI系统。本文试图通过初步的介绍和试用,让读者对这套系统有大体的了解,以便更进一步评转载 2015-03-31 17:08:13 · 1722 阅读 · 0 评论 -
为什么Unity5打的空包有17mb?
今天在论坛上看到有人提到Unity5的诸多“罪状”,其中一条就是打出来的空包竟然有17mb,而之前的版本是9mb。我很好奇,难道是IL2Cpp搞的鬼? 因为好奇,我特意准备了Android环境(之前的环境太老了,不得不重新弄),打了一个空包试验了下。其实原因很简单,因为考虑到兼容性Unity5默认情况下同时打了armv7a和x86的动态库。于是空包的大小就增加了几乎一倍。原创 2015-03-28 21:39:19 · 4371 阅读 · 2 评论 -
Unity5中lightmap的坑
Unity5中光照系统替换为Enlighten是非常大的革新。但是对手游来说,好处还未享受到,坑先踩上了。并且是我研究了两天都没有很好的解决办法的深坑。 我并没有系统的学过图形学,所以以下所说的内容都是自己的理解,可能存在错误的地方,敬请见谅。 所谓lightmap,就是用一组预先烘焙好的贴图来替代运行时光影计算。在Unity5之前使用的是beast系统,Uni原创 2015-10-05 17:07:48 · 15103 阅读 · 2 评论 -
在Unity中使用uGUI绘制自定义图形(饼状图 雷达图)
饼状图或者是雷达图是根据属性自动生成的自定义图形。这里展示了如何使用uGUI完成这一功能。 先附上我制作雷达图的控件的代码 UIPropWidget.csusing UnityEngine;using System.Collections.Generic;using UnityEngine.UI;/* * * 2 6 * *原创 2015-07-17 15:53:46 · 19390 阅读 · 5 评论 -
Unity的UGUI中使用CustomFont(BMFont)
Unity的UGUI的文字渲染效率应该是挺高的,一般来说用默认的Text控件,TTF的Font就满足需求了。不过有时候需要渲染艺术字体的时候还是需要用到BMFont。一、BMFont的基础使用,创建fnt字体的步骤就不多说了。这里额外提一下就是BMFont是支持命令行的。这里贴一下我使用的脚本,更新字体比较方便。 bmfc文件是BMFont的配置文件,使用BMFont的GU原创 2015-11-21 14:07:28 · 12539 阅读 · 2 评论 -
Unity发布到iOS平台后的相关问题
1、iOS支持luajit,但是不支持其jit模式。luajit编译出来的bytecode是平台相关的。即64位和32位的luajit程序编译出来的bytecode是不兼容的。如果没有留意这点的话,可能发布出来的游戏会不兼容iPhone5及以下设备。 iPhone5S,iPad Air之后的设备都是64位的cpu。2、声音千万不要选Load In Background选项。否则在部分iOS设备原创 2016-11-01 15:30:51 · 3150 阅读 · 0 评论 -
Unity的UGUI中使用ETC1+Alpha的格式
Unity5.3之后,Android平台的默认压缩纹理改为ETC2。ETC2支持半透明,使用也很方便,不过问题是尚未普及,尤其是低端机是不支持ETC2的。Unity对不支持ETC2的机子,在加载图片的时候会解压为RGBA,不过这样就会造成极大的内存浪费,也会严重影响加载速度。 对于没有透明色且为2的整次幂的正方形图片,Unity会转为ETC1,所以模型的纹理是可以用默认的压缩格式原创 2016-10-08 19:50:51 · 13007 阅读 · 4 评论 -
华为手机指定android:installLocation为preferExternal后游戏无法安装
android:installLocation可以为auto internalOnly preferExternal。默认为internalOnly。在Unity中这个值可以在Player Settings里面进行设置。设置为preferExternal后,华为手机App安装失败,而当我把游戏资源都删掉减少安装包大小后是可以正常安装的。怀疑是Android或者是华为定制系统计算剩余空间原创 2016-10-28 12:38:22 · 4288 阅读 · 0 评论 -
Unity5 AssetBundle资源管理
最近在开发的过程中,断断续续的踩了很多的坑,这里记录一些经验或者心得。1、打包使用LZ4格式,加载使用LoadFromFile,这个在之前的文章里面已经分享过了。 这个应该是兼顾内存、加载速度、包体大小的通用方案了。如果更加关注加载速度,可以考虑使用不压缩的assetbundle,自己使用zip压缩,然后解压到sd卡(外存)。不太推荐lzma的压缩格式,仅仅提高了20%左右的压缩比,但是内存和原创 2016-10-17 00:41:32 · 2653 阅读 · 0 评论 -
Unity中Shader和AssetBundle结合使用的注意事项
1、我们一般把资源和代码作为两个工程。资源工程导出assetbundle供代码工程使用。这么做主要是防止资源过多导致代码工程启动速度慢,影响开发效率。2、尽量避免使用Resources文件夹。这个文件夹就相当于一个系统默认的AssetBundle。只不过不能增量更新。它会严重影响打包速度。我们把资源从Resources移出来后,打包时间从半个多小时,减少到2~5分钟。2、Shader都要加原创 2016-10-14 19:46:52 · 9843 阅读 · 1 评论 -
Unity导出XCode工程的时候自动修改工程设置添加依赖
代码如下#if UNITY_IOS || UNITY_EDITOR // ios版本xcode工程维护代码 [PostProcessBuild(999)] public static void OnPostprocessBuild(BuildTarget BuildTarget, string path) { if (BuildTarget ==原创 2016-10-23 22:19:29 · 10145 阅读 · 2 评论 -
Unity5的AssetBundle系统在mmo中的使用经验
先推荐三篇不错的文章http://blog.uwa4d.com/archives/ABTheory.html http://blog.uwa4d.com/archives/ABtopic_2.htmlhttp://www.cnblogs.com/murongxiaopifu/p/5629415.html基本上核心的知识点上面的文章都涵盖了,讲述的非常清楚,这里原创 2016-08-20 11:49:49 · 9387 阅读 · 0 评论 -
实时pvp(皇室战争)网络同步研究
皇室战争实时pvp网络同步原创 2016-05-06 13:13:25 · 16437 阅读 · 12 评论 -
Unity实现残影特效
实现效果如上图所示。代码如下:using UnityEngine;using System.Collections;using System.Collections.Generic;using System.Linq;// 残影效果public class AfterImageComponent : ActorComponent{ class AfterImage原创 2016-03-24 23:03:51 · 13930 阅读 · 3 评论 -
Unity5的uGUI中实现文字渐变效果(Gradient)
代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;[AddComponentMenu("UI/Effects/Gradient")]public class Gradient : BaseMeshEffect{ [Ser原创 2015-12-03 11:23:47 · 15415 阅读 · 0 评论 -
Unity5中灯光烘焙(lightmap)的一些注意事项
之前自己研究了下lightmap,不过并没有关注效果和细节,只是关注了使用流程。 今天配合美术测试了下Unity5中的lightmap,有一些经验心得。 首先推荐一篇文章,将的非常不错 http://www.edy.es/dev/docs/unity-5-lighting-cookbook/1、灯光烘焙的速度非常慢。在Unity5中尤其慢(可能是因为效果和原创 2015-12-15 18:16:07 · 43829 阅读 · 0 评论 -
Unity中T4M插件的使用,以及针对5.0的修改
T4M插件是一个高效的地形制作插件,最强大的地方在于可以像Unity刷地形一样,刷一个模型。比如多数情况下,地面就是一个平面,如果用Unity的地形系统,可能会因为一些细节导致DrawCall增多,顶点增多。这个时候美术通常会在3DMax中直接制作好模型(地形)。 然后通过T4M可以在上面刷出细节丰富的地表,可以支持多个贴图之间的混合。 Unity5中T4M的2.5版本会有一些Bug原创 2015-11-27 12:12:23 · 13798 阅读 · 2 评论 -
Unity换装的实现
关于Unity的换装,网上有几篇文章,我之前也简单的描述过实现。不过那个时候只是粗略的试验了下。今天好好梳理了下代码。 先上代码(自己的游戏项目,不是公司的,所以放心的贴上项目代码了,部分引用到其他的功能文件,但是核心代码无影响,这里主要看一下细节和思路)using UnityEngine;using System.Collections;using System.Col原创 2015-03-10 20:24:30 · 7857 阅读 · 2 评论 -
Unity5新的AssetBundle系统使用心得
Unity的AssetBundle系统是对资源管理的一个扩展,动态更新,网页游戏,资源下载都是基于AssetBundle系统的。但是不得不说,这个系统非常恶心,坑很深。至于有多深,请看这篇文章: http://www.cnblogs.com/ybgame/p/3973177.html 原先的AssetBundle系统需要自己写一大坨导出的代码(BuildPipeline),这个新原创 2015-03-11 23:54:48 · 21116 阅读 · 11 评论 -
在Jenkins的Python脚本中模拟用户输入
这个需求很少见,但是好不容易试验成功了,所以要记录下来备忘。 我们使用Jenkins+TexturePacker进行资源的自动打包和转换。 TexturePacker首次运行需要在命令行中输入agree进行版权声明的用户确认。而Jenkins的系统环境是独立于桌面系统的,所以在Jenkins里面要再一次输入agree。于是就有了一个非常恶心的情况,Jenkins原创 2015-03-09 19:45:02 · 3648 阅读 · 0 评论 -
使用Blender批量导出/转换模型
2.4版本的Blender API和2.5以上版本的API有很大的不同,这里只是提供了思路和2.4版本的导出方案。先提供一个脚本,这个是由Blender调用的,用于转换Ogre的Mesh文件的脚本import Blenderimport bpyimport sysimport os,globsys.path.append(r"D:\Program Files\blender-2.4原创 2014-07-03 11:32:28 · 12635 阅读 · 0 评论 -
使用Unity3D是创业团队失败的原因吗?
第一个项目虽然失败了,但是最起码成功上线,并且获得了一定的收入(虽然杯水车薪),也因为第一个项目拉来了投资。但是第二个项目就彻彻底底的胎死腹中了。 没有检讨、没有总结,大家自然而然而又兴高采烈的开启了第三个项目。 我感到有些悲哀。如果我们都不知道自己的弱点在哪里,不明白自己的优势在哪里,如何能够扬长避短?一个创业团队难道靠硬推能推出一款游戏吗?原创 2014-07-18 14:30:54 · 4467 阅读 · 8 评论 -
创业一年半的失败总结,什么样的团队能够创业成功
继一年前的创业半年的总结之后,创业一年半的“失败”总结也新鲜出炉了。还是一样的配方、还是一样的味道。我除了失望之外,另外多了一些幸灾乐祸的情绪。不是我没心没肺,也不是我没脸没皮。当失望了一次又一次,当被无视了一次又一次,生出一些负面情绪合情合理。更何况我最讨厌的就是“热脸贴冷屁股”,我兴高采烈的提出我的想法和看法,直接被无视掉,或者点点头然后不了了之。我想要做一个成功的游戏,我努力把事情做到最好,原创 2014-07-18 14:29:13 · 3222 阅读 · 11 评论 -
漫话Unity3D(一)
经常看到有人问我该用Cocos2d-x还是Unity?或者我该学习Cocosd-x还是Unity? 这些问题并没有一个统一的答案,而我有我自己的看法。原创 2014-05-18 03:36:17 · 1843 阅读 · 0 评论 -
火炬之光模型导出(Unity加载火炬之光的模型)
先说明几点,导出方案可行,测试通过。 python和blender的版本一定要用下文中所说的。新的Python或者是新的Blender版本都无法完美导入。 导入导出脚本可以选择 (http://code.google.com/p/torchlight-to-blender/)这里下载,也可以使用下文中的那个,差别不大。注意,链接中的资源导入脚本其实有两套,一套原创 2014-05-19 00:30:27 · 5142 阅读 · 0 评论 -
漫话Unity3D(四)
Unity游戏开发中的实际问题和解决方案原创 2014-05-18 20:51:00 · 2581 阅读 · 2 评论 -
漫话Unity3D(三)
Unity的预制和AssetsBundle讲解原创 2014-05-18 16:29:24 · 3196 阅读 · 0 评论 -
漫话Unity(二)
Unity基础功能介绍、核心元素、基础脚本开发原创 2014-05-18 15:10:43 · 1914 阅读 · 0 评论