
unity3d
文章平均质量分 72
xfnjlove
这个作者很懒,什么都没留下…
展开
-
Android设备连接Unity Profiler性能分析器
Unity提供两种方式让Developer的Android设备连接Profiler进行性能分析:1、通过wifi,Android设备和计算机处于同一个Wlan中。2、通过USB ADB一般情况我们的计算机都是网线,所以我们采用ADB的方式。相比与wifi,ADB也更及时的反应设备性能。官方的英文文档如下:[html]转载 2015-05-05 16:25:08 · 502 阅读 · 0 评论 -
在Unity3d中解析Lua脚本的方法
由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过。对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此。水平有限,欢迎批评指正。 网络上关于Lua脚本和Unity3d的配合使用的资料不多,例子工程大多相同。大概了解到针对性的插件有uLua、UniLua、KopiLua三种。试用了前两种,抛开效率与安全性不说,感觉uLua试用起来比较简单,本转载 2014-09-23 17:56:12 · 924 阅读 · 0 评论 -
uLua FAQ
1. DoFile 文件加载方式修改 既然要热更新,肯定不能只加载Resources目录下的lua文件,所有uLua里面使用了Resource.Load 进行lua文件加载。这样无法读取到非Resources目录,所以牵扯到Resources.Load(filename) as TextAsset 的地方都要替换成自己的文件加载函数。做到运行时从persistentDataPath目转载 2014-09-23 17:48:20 · 985 阅读 · 0 评论 -
uLua最新的Unity+Lua热更新解决方案!!!
看了坛子上同学用Kopilua,以为真的跨平台没问题,就实验了安卓手机,然后就开始铺游戏框架,干了一星期到昨晚想起来到ipad上跑跑,然后我跟我的小Demo一起崩溃了。今天搜索luajit,终于在u3d官方论坛终于发现了真正支持IOS+安卓(老外说web也支持,没测试)的插件,有些小兴奋,还是半信半疑的心态测试了下,果不其然运行在我的ipad2上面了,至少我运行代码非常正常。免费给大家上传我测试过转载 2014-09-23 17:47:30 · 3192 阅读 · 0 评论 -
PoolManager5 使用
前几天我在博客里面分享了为什么unity实例化很慢的原因,并且也分享了一个缓存池的工具。有朋友给我留言说PoolManager插件非常好用,我抽空研究了一下确实很好用。PoolManager目前的最新版本是5.5.2 我有幸在网络上找到了破解版本,文章最后我会放出来不过还是希望大家支持正版嘿嘿。 PoolManager5 介绍: https://www.assetstore转载 2014-09-22 11:34:25 · 1311 阅读 · 0 评论 -
C# PInvoke(DllImport使用) 进阶教程(一)
目录导航:1.前言2.编写目的3.原理庖析4.使用P/Invoke一、前言(引用截图) 二、编写目的 我们曾经熟悉的WindowsAPI, 我们曾经花费了大量精力写的代码,难道我们就要轻易放弃吗 不过当下微软已经把向下兼容性放在很重要的位置. C#程序员使用已有的代码来作为自己程序的一部分是很普通的事情.所以NET转载 2014-09-22 15:19:16 · 1276 阅读 · 0 评论 -
Unity 在IOS設備上的資源優化
最近一段時間一直在做Unity 在IOS設備上的資源優化,結合Unity的官方文檔以及自己遇到的實際問題,我把自己認为一些重要的信息罗列在下面,並盡可能對將其量化,以方便更多需要做優化的朋友。 1、角色每個角色盡量使用一個Skinned Mesh Renderer這是因为當角色僅有一個Skinned Mesh Renderer時,Unity會使用可見性裁剪和包圍體更转载 2014-09-10 17:55:30 · 540 阅读 · 0 评论 -
Unity3D项目程序加密1——在Unity3D里使用自己的dll
如果稍微关注过这方面知识的朋友,应该知道Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的呈现出来。由于.net本身没什么加密的措施,所以我们一般都是使用混淆代码的方式来对程序进行一定的加密。接下来2篇博客,阿赵将会简单的讲一下我自己在Unity3D的程序加密做法。首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二篇会转载 2014-08-15 10:24:38 · 1261 阅读 · 0 评论 -
自定义的委托 事件
直接进入今天的主题-事件在我们所接触到的事件一般分两种:一种是自定义的,自定义的事件需要自己对其进行赋值。一种是控件提供方定义的,如:ngui,控件事件只需要查找控件定义的事件列表,选择所需要的进行操作即可。当然,我们的话题是上面第一种啦。 实例模拟场景为:游戏战斗中,猪脚在指定的一片区域中,存在4只怪物,他的目的就是一只一只找到并消灭该区域的怪物。 简易流程:查询目标转载 2014-09-22 11:33:14 · 779 阅读 · 0 评论 -
unity3D做项目处理卡顿问题
unity3D做项目有三个地方处理不好游戏整体就会出现卡顿的问题。1.NGUI直接打开界面卡2.角色放技能的时候卡 尤其是放群体攻击技能时, 因为每个人身上都要产生一个技能特效。技能都是用粒子特效做的,虽然Unity中粒子特效也是一个GameObject.但是 Particle System这个组件太特殊了。 Instanti转载 2014-09-22 11:29:24 · 33545 阅读 · 0 评论 -
Unity AssetBundle爬坑手记
这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷! AssetBundle是Unity推荐的资源管理方式,官方列举了诸如热更新,压缩,灵活等等优点,但AssetBundle的坑是非常深的,很多隐藏细节让你使用起来需要十分谨慎,一不小心就会掉入深坑,打包没规划好,20MB的资源“压缩”到了转载 2014-09-19 18:22:54 · 792 阅读 · 0 评论 -
Unity3D - AssetBundle 在Android机子上进行读取
我看到官方文档中说明:Note that bundles are not fully compatible between platforms. A bundle built for any of the standalone platforms (including webplayer) can be loaded on any of those platforms but not on转载 2014-09-19 11:46:43 · 1078 阅读 · 0 评论 -
Character Controller
Character Controller: 用来模拟人的,但是又不遵循Physic 的规则,因为Physic里面的规则不太适合于人类。Character Controller 首先它也是一个Collider ,只不过它自己不接受任何的Physic事件的影响,完全用来模拟人的。有height, radius 属性,还有slope limit小于多少度的坡,这个人物才能爬上去,一般对于转载 2014-08-22 12:08:25 · 965 阅读 · 0 评论 -
Unity3D 优化
用UNITY开发手机游戏,背景图片和UI图片显示的比PC机上模糊很多,怎么解决??在unity里选中资源 1.TextureType 改成 Advanced2.NonPower of 2 改成 non3.把 generate Mip maps 的勾去掉4.Format压缩格式 选中rgba32bit5.保存下 apply http://www.xuany转载 2014-06-17 12:48:52 · 2197 阅读 · 0 评论 -
Unity Find GetComponent
Unity提供了多种获得物体的方法,其中Find是效率最低的一种,我记得文档中应该有提到过尽量少用。最快的获取物体的方法是直接引用:public GameObject select;void Update(){ // do sth with select}复制代码然后C#的GetComponent系列函数应该是仅转载 2014-06-17 12:37:46 · 4824 阅读 · 0 评论 -
unitye3d OnMouseDown android 不能用
最进一直在学习unity3d的Android平台的开发,发现一些在PC平台下可以用的函数在Android开发是是不可以用的。主要是因为输入设备的不同,比如我们用W,A,S,D控制物体移动,在Android平台上就不可以这么写。应为他没用键盘设备。惊天我们就看下在Android平添下怎么通过点击屏幕来选择物体的。我们都知道在pc平台选择一个物体时非常简单的。只要给物体添加一个碰撞组件。然后就可以用O转载 2014-06-16 15:47:37 · 2305 阅读 · 0 评论 -
Unity3D - AssetBundle 在Android机子上进行读取
我看到官方文档中说明:Note that bundles are not fully compatible between platforms. A bundle built for any of the standalone platforms (including webplayer) can be loaded on any of those platforms but not on转载 2014-09-16 11:19:45 · 496 阅读 · 0 评论 -
关于Unity3D中Resources动态加载NGUI图片的方法!!!
在NGUI中有些图片我需要动态进行变更或者加载,怎么办?首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~NGUI加载图片的方法其实是加载NGUI生成的atlas,大家可以看看NGUI的图集文件(一个material、一个prefab,一张图集),我们要做的就是动态加载这个prefab(它有UIAtlas属性)转载 2014-09-16 11:39:01 · 747 阅读 · 0 评论 -
Unity3D如何减少安装包大小
译官方文档:http://docs.unity3d.com/Manual/ReducingFilesize.htmlPDF文档:http://www.rukawa.cn/Uploads/Attachment/ReducingFilesize/ReducingFilesize.pdf原文地址:http://www.rukawa.cn/index.php?s=/转载 2015-04-08 10:01:27 · 2766 阅读 · 0 评论 -
Unity ShaderLab学习总结
Unity ShaderLab学习总结Why Bothers?为什么已经有ShaderForge这种可视化Shader编辑器、为什么Asset Store已经有那么多炫酷的Shader组件可下载,还是有必要学些Shader的编写?因为上面这些Shader工具/组件最终都是以Shader文件的形式而存在。需要开发人员/技术美术有能力对Shader进行功能分析、效率评估、选转载 2015-04-13 15:35:24 · 787 阅读 · 0 评论 -
【Unity Shaders】Shader中的光照,shadersshader
自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已。当然,我相信这是因为我们写得少。。。不过这也是由于官方文档对这方面介绍很少的缘故,导致我们无法自如地处理很多常见的光照变量。这篇我们就来讨论下Unity内置的一些光照变量和函数到底怎么用。以下内容均建立在Forward Rendering Path的基础上。自转载 2015-04-13 14:49:31 · 1272 阅读 · 0 评论 -
基于cocos2dx的2D手游美术资源制作技术选型(1)--UI、纹理格式、动画制作 - 宏波.王
一、在屏幕尺寸和分辨率变化不一的情况下,UI如何做机型适配?UI是应用的门户,相对来说IOS分辨率较为简单,但考虑到retina与非retina,iphone与ipad, ipad mini,则IOS的分辨率也要支持4种,而Android机型是典型的碎片化,屏幕从小到3.5寸大到到6.5寸都有手机,再加上的android平板,其分辨率屏幕组合多达几十种。UI做机型适配,需要很多的取转载 2015-03-25 11:36:53 · 726 阅读 · 0 评论 -
Unity3D 游戏引擎之IOS Android支持中文与本地文件的读取写入
前几天有个朋友问我为什么在IOS平台中可以正常的读写文件可是在Android平台中就无法正常的读写。当时因为在上班所以我没时间来帮他解决,晚上回家后我就拿起安卓手机真机调试很快就定位问题所在,原来是他文件的路径写错了。开发中往往一道很难的问题解开的时候发现原来真的非常的简单,哇咔咔。 刚好在MOMO的书中也有涉及到文件的读取与写入,那么本节我将书中的部分内容搬到博客中为大家讲解一下。废话我就不多转载 2014-10-27 10:52:01 · 747 阅读 · 0 评论 -
unity3d开发需要知道的一些常量
android下测试结果:Application.persistentDataPath:非调试模式下得出的路径名:/data/data/com.xxx.xxx/files在调试模式下(即打开Development Build)得出的路径名:/mnt/sdcard/Android/data/com.xxx.xxx/files这个关键在于一个设置转载 2014-10-27 17:23:19 · 1527 阅读 · 0 评论 -
Unity3D研究院之手游开发中所有特殊的文件夹
这里列举出手游开发中用到了所有特殊文件夹。1.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放转载 2014-10-27 10:53:29 · 550 阅读 · 0 评论 -
Unity3D研究院之IOS&Android收集Log文件
开发项目的时候尤其在处理与服务器交互这块,如果服务端程序看不到客户端请求的Log信息,那么无法修改BUG。在Windows上unity会自动讲Log文件写入本地,但是在IOS和android上确没有这个功能,所以我想了个办法,把Log信息写在手机的客户端里。把如下脚本挂在任意游戏对象上即可。[AppleScript] 纯文本查看 复制代码?0转载 2014-10-23 19:24:59 · 669 阅读 · 0 评论 -
Unity3D研究院之Android全自动打包生成apk
unity自动打包android其实要比IOS容易得多,因为Android不用先生成java工程,然后在构建.apk包,我先说说Android打包的步骤。1.把sdk拷贝至Plugins/Android下。 如下图所示,如果你做过Android源生开发,我相信下面的东西你不会陌生。可是如果你没做过Android原生开发,我还是详细说明以下。 An转载 2014-10-23 19:18:18 · 2162 阅读 · 0 评论 -
Unity3D研究院之IOS全自动打包生成ipa
接着上一篇文章, 自动生成framework,这篇文章我把shell自动化打包ipa整理了一下,希望大家喜欢,嘿嘿。。 建议大家先看一下上一篇文章。http://www.unitymanual.com/thread-21475-1-1.html 首先我们要先搞清楚nity全自动打包的重要步骤。1.自动生成xcode工程。2.自动生成.ipa和dsym文件。转载 2014-10-23 19:20:58 · 1540 阅读 · 0 评论 -
Unity3D研究院之IOS全自动编辑framework、plist、oc代码
unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了。。而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生成的oc代码,每次打包都要修改的话,那太累了。。这篇文章就是全自动打包的第一步。。建议使用XUPorter,我在它的基础上拓展了两个类,一个用来修改plist,一个用来修改unity生成出来的OC代码转载 2014-10-23 19:19:23 · 1114 阅读 · 0 评论 -
unity3d优化总结
此总结由自己经验及网上收集整理优化内容 包括:1.代码方面;2.函数使用方面;3.ngui注意方面;4.数学运算方面;5.内存方面;6.垃圾回收方面 等等...本着相互交流 共同进步的原则希望大家看后 有其他或者更好的优化方案 欢迎跟帖。好了,总结如下:1. 尽量避免每帧处理,可以每隔几帧处理一次比如:[C#] 纯文本查看 复转载 2014-09-04 10:41:58 · 1454 阅读 · 0 评论 -
Unity3D研究院之Android高通骁龙800以上CPU随机crash
Android上的奇葩问题真的是太多了,开始测试反馈说游戏在某些Android手机上随机crash,后来经过详细的测试发现随机闪退的手机都是搭载了高通骁龙800以上的CPU。然后连上真机当crash的时候错误的日志是:signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 6ed5c800然后打印出了一大堆的内存信息,今天记录一下转载 2014-09-17 17:37:10 · 925 阅读 · 0 评论 -
[Unity3D]Lua中使用协程coroutine和计时器timer
习惯了unity3d的协程用法,那么我们在Unity里面怎么使用:StartCoroutineStopCoroutineWaitForSeconds首先lua也有coroutine,其实lua中的协程真的是暂停,用法和unity并非相同的概念,我的母的实现就是为了在lua中使用上述和c#统一的协程接口类。在C#端需要写一个接口缓存lua的func转载 2014-09-16 12:03:27 · 2167 阅读 · 0 评论 -
Platform Dependent Compilation 多平台兼容性使用注意事项
目地:今天想修改公司重要模块兼容PC\MAC 和Android,因为涉及到硬件连接,所以以前偷懒分别做了2个项目,因为在这个项目里面需要增加一些通用的模块,UI显示。重复制作会带来麻烦。刚好我知道Unity3D支持Platform dependent compliation。想让在Android和桌面平台使用不同的连接方式假如我想让除了Android端外的平台执行某段代码:#i转载 2014-09-16 11:54:01 · 478 阅读 · 0 评论 -
Unity3D总结:关于射线碰撞
方法一:Physics.Raycast 光线投射1.static function Raycast (origin : Vector3, direction : Vector3, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : bool一个静态的发射射线的方法,在场景中投转载 2014-06-16 16:29:09 · 1137 阅读 · 0 评论 -
Unity3D脚本教程7:碰撞描述类 collision
来源:第三维度 碰撞描述类 collision Collision 信息被传递到Collider . OnCollisionEnter , Collider . OnCollisionStay和Collider.OnCollisionExit事件。参见: ContactPoint. 变量 ◆var collider : Collider // 描述:转载 2014-06-16 16:06:29 · 2727 阅读 · 1 评论 -
[Unity3d]u3d中定时器的使用
在游戏设计过程中定时器是必不可少的工具,我们知道update方法是MonoBehavior中一个人人皆知的定时器方法,每帧都在调用,那还有其他什么定时器的方法呢,这里介绍一下。1.Invoke(string methodName,float time)在一定时间调用methodName函数[csharp] view plaincopyprint?转载 2014-06-24 14:15:39 · 826 阅读 · 0 评论 -
Unity3D教程:静态调用C#的dll
就像使用.net自带的那些程序集一样,添加Reference,然后使用即可。由于windows环境下的Unity编译脚本时,本质上还是生成.net程序集,而且其C#脚本编程其实就是.net C#语言编程。用Visual Studio 编写脚本工程是,我们可以直观地看到Unity工程所引用的程序集。既然能引用.net框架的程序集,自然也能引用自己编写的程序集。步骤如下:1、编转载 2014-06-05 16:11:47 · 2126 阅读 · 0 评论 -
Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
声明: 本博客文章翻译类别的均为个人翻译,版权所有。出处: http://blog.youkuaiyun.com/ml3947,个人博客:http://www.wjfxgame.com。 译者说明:这是一个系列教程,通过只是用Unity3D和一些免费插件来开发2D游戏。为本人业余时间翻译,仅供大家学习参考。由于原版教程中会有一些“废话”(写博客的人的一些通病,有时候喜欢写写近况啊,瞎扯转载 2014-05-22 11:08:49 · 2136 阅读 · 0 评论 -
Unity手游:自动寻路Navmesh入门
现在的大部分mmo游戏都有了自动寻路功能。点击场景上的一个位置,角色就会自动寻路过去。中间可能会有很多的障碍物,角色会自动绕过障碍物,最终达到终点。使用Unity来开发手游,自动寻路可以有很多种实现方式。第一种比较传统的是使用A星寻路,它是一种比较传统的人工智能算法,在游戏开发中比 较常用到。大部分的页游和端游都用到这种技术。在Unity游戏也可以用这种技术,Asset Store上面已经有相关的转载 2014-05-21 17:43:44 · 976 阅读 · 0 评论 -
Unity3D 实现表内对象排序(C#)
// Sort by distance in descending orderprivate void SortTargetsByDistance () {targets.Sort(delegate(Transform t1, Transform t2) {return Vector3.Distance(t1.position, myTransform.position).Compar转载 2014-06-03 19:15:11 · 1615 阅读 · 0 评论