随笔分类 - unity3D
摘要:The file 'MemoryStream' is corrupted! Remove it and launch unity again![Position out of bounds! 20 > 16]有时候我们会遇到这个报错,然后整个U3D就崩溃了,原因是在于某些Prefabs的脚本引用丢失...
阅读全文
摘要:当迩想把最小类库发上来,迩需要把Stripping Level设置为Use micro mscorlib这里是MICROLIB所能使用的包的类库列表:http://docs.unity3d.com/410/Documentation/ScriptReference/MonoCompatibility...
阅读全文
摘要:必须U3D版本为4.5以上,可以在Public目录下载。想实时调试IOS版本必须是MAC系统!优点:可以在不编译的情况下实时的去调试真实Android设备的各种情况,包括使用触摸功能(Remote接收的是Touch事件而不是Mousce事件),可以使用加速器,可以使用重力感应,当然还可以测试多屏幕分...
阅读全文
摘要:获取sprite像素的方法Vector2 GetPixelSize(tk2dSpriteDefinition def){ float w = def.untrimmedBoundsData[1].x; float h = def.untrimmedBoun...
阅读全文
摘要:可能是由于机器无法成功安装.NET 4.0的缘故
阅读全文
摘要:IOS上的反射是部分支持,支持使用反射读取源代码,但不支持使用反射动态生成可执行代码,下面是限制反射的命名空间:ProfilerReflection.EmitReflection.Emit.Save functionalityCOM bindingsThe JIT engineMetadata verifier (since there is no JIT)实施序列化和反序列化只是使用了反射机制去动态创建已经在编译时刻通知的类型,但不支持动态类型的创建,所以JSON的序列化和反序列化可以在IOS上执行。换句话说IOS支持的是Reflection的命名空间的部分方法,但不代表支持Emit下的命名
阅读全文
摘要:1、不能存在单独的点和面,重复的面和点,不能被玩家所看到的模型也不必制作。2、贴图要保证始终是2的倍数,但不必为正方形。3、移动平台,如IP4,应该每个模型一般不超过300-1500个面,同屏不应该超过7000个面,整个场景不应该超过20000个面。4、从3DS MAX导入的使用材质应该始终使用标准的材质,也包括了多维的标准材质。5、编辑好的3D模型导出之前最好坍塌先,这样可以起到优化多边面的目的。6、最好同一个人物要整个导出来,不要分几部分,这样可以节省面。7、导出建筑群时应该同类的建筑群放在一个文件时,切不可将不同类的放于一个模型中,不然想要其中某个模型的时候会引起重复的浪费。8、尽量以复
阅读全文
摘要:U3D的自动寻路插件是不少,但是其实U3D的PRO版本就提供了相当实用的自动寻路组件了,以下教程分别讲解自动寻路的路径选择优先,上楼梯跳下的条件判断等等实用方法,教程分三编,但这个教程没有讲到Navmesh Obstacle这个组件,这个组件其实就是一个动态的障碍物,也就是说不需要烘培进网格之中的,所以效率来讲比较低下,但胜在有灵活性,这个组件用法十分简单,随便拉一个在任意一个gameObject就可以了,然后NavMesh Agent会自动避开或被挡掉当碰到Obstacle时。unity自带寻路Navmesh入门教程http://liweizhaolili.blog.163.com/blog
阅读全文
摘要:内存优化:1、如果是开发2D游戏,尽可能的把图集做得不超过1024,最好是512,如果不断的把图集做成2048的话,会一直把内存撑爆,因为凡是加载其中一个图片,便会把整个2048的图集都加载进去了,除非这个是公共的图集,在哪个场景都会频繁用到,否则不应该把图集弄太太大。2、尽量不要一下子把所有的场景元素加载到场景中,凡是分开出现的应该从Resource.Load来进行加载,然后在不用的时候通过unLoad来进行清除资源。也就是说像太多对话框之类的不要一开始隐藏在场景中,而是要把它在固定的时候去加载它。减少运算压力而不减少内存大小:关于gameObject上挂载的脚本的激活状态区别,无论是激活状
阅读全文
摘要:在操作LayerMask时常令一些初学者摸不着头脑下面简单说一下层的开关方法:1.首先引入'|'、'&'、'~'的概念与(交集):10000001 & 10000100 == 10000000或(并集):10000001 | 10000100 == 10000101非(反转):10000001 == ~011111102.int myLayerMask = 1 myLayerMask == 00001000这时层级中的第3层被开启,其余层处于关闭状态另外,需注意的是,层的序号是从0开始计算的因此,上面的操作相当于使用二进制方法进行
阅读全文
摘要:注意:unity3d与原生代码的调用需要pro版本,此点注意了。一、IOS平台,由于IOS平台的原生应该是objectC,所以通讯起来非常的简单,1、原生代码调用u3d代码:1.1、在Xcode项目上调用unity3d自带的dll框架,使用其中的发消息命令(UnitySendMessage)就可以向u3d的代码里发送事件消息了,这里第一个参数便是u3d约定的gameObject对象名和函数名,第三个参数是额外的消息参数。1.2、然后是接收端,也就是unity3d这里的代码 ,这里需要在unity3d那里定义一个对象,对象的名称是xcode那里发消息事件所约定好的,然后在gameObject上挂
阅读全文
摘要:美术方面,也就是使用FLASH这里的用户,请注意以下几点,1、把相同的图案做成元件;2、凡是补间产生的动画物体,也要做成元件;以上便可以节省大量的空间,因为当迩把图案做成元件的话,UNISWF导入U3D时会把相同元件视为同一种图案而只在图集里显示一次。3、把整个动画做成一个元件,但除非必要,不可在主播放的动画元件中插入其它动画元件,因为这样一来便难以通过代码来控制具体的帧数,UNISWF会把所有被这个动画元件占据的帧数都为主动画元件的一帧。4、不能在FLASH中使用3D旋转或缩放,UNISWF现在暂时不支持此功能的导入。5、只支持在FLASH中导出元件,不支持按钮和影片的方式程序方面,在收到F
阅读全文
摘要:1、添加多一个UI ROOT对象2、把CAMERAER对象移至ROOT对象成为其直接子对象,3、为CAMERAER对象添加UIVIEWPORT组件,并把其SOURCE CAMERA设置为主相机,设置左上角和右下角的坐标,4、添加UIDRAGGABLE CAMERA组件,把ROOT设置为刚刚新建的ROOT对象,如果打算做水平滑动条请设置X为1,Y为0,反之亦然,设置滑动因子为-25、设置ANCHOR的UICAMERA对象为主相机 而不是当前相机,6、为PANNLE添加GUID组件,目的是为了动态加载时能自动排版,7、为滑动的子物品添加UIDRAG CAMERA属性,并把DRAGGABLE CAM
阅读全文
摘要:通常会报这样的错误System.EntryPointNotFoundException: Unable to find an entry point named 'gtksharp_list_get_data' in DLL 'glibsharpglue-2'.at GLib.List.gtksharp_list_get_data(IntPtr l)at GLib.List.GetData(IntPtr current)at GLib.ListBase.ListEnumerator.get_Current()at GLib.ListBase.CopyTo(Arr
阅读全文
摘要:如果一个类是从MonoBehaviour继承,而迩又不把它放在场景的gameObject上,而仅仅将这个类当做一个数据类型使用,使用New方法来实例化它,那么它的实例将会为空,但迩定义的数据类型一样可以调用,囧、基于这点、估计是MonoBehaviour实例化都是在Awake或者Start时实例化的,由于迩不把这个类添加在场景上的gameObject上,自然就没有实例化它的机会了,所以就造成了这种怪现象,迩用NEW实例化了它,能调用类成员变量,但它的实例仍然显示为NULL,囧。。。。。。。。。。。。。。。。
阅读全文
摘要:由于unity的destroy方法是有延迟的、也就是说他并不是马上就会摧毁、也就是说迩调用destroy方法后、实际上他还是存在的、如果迩是想执行一个操作把某个gameObject的物体下的子物体清空再添加新的子物体的话、先destory 再 add的方法是不行的、那么我们可以采取先把之前的物体隐藏然后再把它加入一个摧毁的数组里、这样就可以先添加新物体了、然后在添加完子物体后再集中去把摧毁数组里的gameObject都摧毁掉
阅读全文
摘要:大致的出错原因是什么版本未升级到最新检查以下目录(XP环境)C:\Documents and Settings\Administrator\Local Settings\Application Data\Unity\WebPlayer\mono\Release3.x.xC:\Documents and Settings\Administrator\Local Settings\Application Data\Unity\WebPlayer\loaderC:\Documents and Settings\Administrator\Local Settings\Application Data
阅读全文
摘要:1、直接打印smart fox的room实例变量再发送创建房间的请求会导致客户端崩溃
阅读全文
摘要:在android机器上使用google内购1、在开发者控制台不可添加相同bundle id的应用、也就是com.android.game之类的、因为此bundle id是google play唯一识别应用程序区别的标识、如果迩硬要添加、也是可以的、不过google play只认最先添加的、包括内购项目、也是直接连去最先添加相同bundle id的那个应用、即使其它android应用使用了其它的keystore、但依旧改变不了会连接至相同bundle id的第一个应用的事实上、此事非常有可能在迩添加了内购项目却始终显示找不到该文档的报错、所以务必保证相同bundle id只上传一个的原则2、注意
阅读全文
摘要:1、请在每次退出场景时注意把smartFoxServer的事件监听全部取消(调用RemoveAllEventListeners)、这种情况的问题是当迩的smartFoxServer是静态实例的话、在整个游戏中无论迩切换到哪个场景都是不会销毁的、但事件监听所调用的实例方法却是会随着场景的切换而销毁、所以这就造成了smartFoxServer的事件处理还不断的调用之前的事件监听、实例方法已经销毁而事件还在调用肯定就会报空引用的错误2、不要在unity3d中直接使用Debug.Log打印对象,像Smart fox的自有类型,sfsobj,Room类型,这类不是unity3d支持的原生类型,在unit
阅读全文
浙公网安备 33010602011771号