unity
阿高
只是个喜欢拿技术去炫耀的家伙
展开
-
C# 让字符串定长换行
百度和谷歌都搜了一番,感觉没有满意的,索性干脆自己写public class StringUtility { public static string BreakLongString(string SubjectString, int lineLength) { StringBuilder sb = new StringBuilder(SubjectString);原创 2012-12-18 15:36:05 · 3865 阅读 · 0 评论 -
Unity 显示Loading(加载)进度 对于网上流行的方法进行更正
实际上就是MOMO贴出来的方法其实是有问题的,用过的才知道。至于别的几乎不用找,根本一个抄一个,抄来抄去都是一样,没自己的东西。用过MOMO那个方法的都应该会发现了,当进度条开始显示的时候,基本上已经加载到80%了,可能也跟Unity版本有关,我的是4.3.4 。但是实际上Unity的工作原理差不多就那样,在Start里面直接开始加载的协程,实际上一开始就会阻塞,导致画面刚刚渲染出来的原创 2014-06-06 19:55:11 · 34110 阅读 · 5 评论 -
Unity用C#DLL拓展
虽然了解C#的都知道可以这样了,但是我是刚知道的,主要是最近知道了HOTween这个原创 2014-05-27 15:45:14 · 1909 阅读 · 0 评论 -
Unity的吐血巨坑之处 --- 发布版本和编辑器的纹理显示不一致
缓存。编辑器的缓存和正式发布的shh原创 2014-07-13 16:28:14 · 5343 阅读 · 0 评论 -
Uniy开发笔记&注意事项
SendMessage会长同一帧调用Init原创 2014-05-24 00:54:24 · 1762 阅读 · 2 评论 -
使用iTween需谨慎 --- 内存泄露
iTween虽然各种性能不尽人意,但是用起来算是相当的傻瓜,可是为了方便使用,f原创 2014-09-13 02:37:08 · 5249 阅读 · 1 评论 -
C#利用反射动态加载DLL(C#)并调用其中的接口
看了很多文章都说反射怎么怎么慢啊,明显就是对于反射的理解不够。的确你可以方便的去调用一个DLL的函数(虽然我从来不觉得用函数名作为字符串去调用是方便的),就像C++也可以动态调用DLL里面的函数一样,但是用过C++的人都知道傻逼才自己去声明回调去一个一个调用里面的函数,除非你真的闲的蛋疼。但是C++有头文件可以include,这样编译器就知道这样行得通,而C#该怎么实现这样的Include?最原创 2015-01-22 18:39:18 · 11231 阅读 · 2 评论 -
Unity 使用C/C++ 跨平台终极解决方案(PC,iOS,Android,以及支持C/C++的平台)
PC的其实根本不用说,毕竟C#和C++交互的文章已经够多了,当然我自认为经过几次折腾后,几乎所有游戏需要到的操作我都掌握了(各种传参方法,各种坑,不懂的可以留言问,虽然基本上没人看,哈哈)废话不多说,我们主要来讲两大平台——iOS和android——与unity的native代码交互这里啰嗦一下就是去网上搜都是各种蛋疼的东西,比如如果要调用unity C#的原创 2015-08-22 23:19:37 · 22965 阅读 · 11 评论 -
[笔记]Unity5(5.1.2f1)中多边形碰撞器Polygon Collider 2D无法编辑
必须把物体的z轴置于0才可以编辑,在子级里面是0也没用,必须世界坐标是零才可以, 我的父级是z=500,于是我把物体的z改成-500就可以编辑了。Unity5 bug真是一堆堆 。。。原创 2015-09-01 22:43:01 · 7458 阅读 · 1 评论 -
[笔记][unity]Runtime(运行时)将Texture转到Sprite
这个问题一搜索就能找到将Texture2D专为Sprite的方法,直接调用Sprite.Create即可,但是如果你是从网络下载下来的纹理,将会只是Texture而不是Texture2D,这让我想起以前做Java的时候可以将低级的直接强转成高级的然后使用,当时学的浅并不知道原理,只是Unity显然是不行的。这里我只找到了使用WWW下载的处理方法,其实WWW就有LoadImageInto原创 2016-02-21 14:21:47 · 10032 阅读 · 0 评论 -
[uLua]关于ulua打包到安卓后无法加载Global的简易解决方法
在这里我想吐槽ulua自己网站上的(非官方)回答,那根本不能叫回答,说什么熟悉打包的人都会知道,我只想说既然知道为何不顺便科普一下或者拿出解决方案。下面开始唧唧歪歪,不像麻烦的直接看这里 http://pan.baidu.com/s/1kTP9sTD 使用前记得先gen lua wrap file实际上熟悉Unity的人确实会知道是怎么回事,但是就算知道解决起来不简原创 2016-02-24 16:47:53 · 2721 阅读 · 0 评论 -
[Unity]Android(安卓)代码安卓APK时,使用系统安装器安装的[最正确]办法(不弹出选择打开的程序)
关于这个办法的搜寻,又是只能找到一篇被到处转又没卵用的文章,我时相当气愤的。经过Google大法,最终找到正确的打开方式先来看看错误的打开方式String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent原创 2016-02-18 13:54:53 · 4949 阅读 · 7 评论 -
[Unity]关于Unity5.5以及5.4.x中的UGUI在安卓中出现Image不显示的BUG的解决办法
使用Instantiate创建UGUI的元件,就有可能会出现看不到的情况,这种看不到不只是看不到,连事件本身也是无法接收,如果调试会发现物体是在场景中存在的。如果Canvas设置成overlay就不会有这个问题,但是这个不是解决办法,因为总有需要设置摄像机的时候。其实目前最简单的办法就是Instantiate后设置gameObject.SetActive(false)再设置原创 2016-12-27 14:05:21 · 3010 阅读 · 0 评论 -
Unity中巧用协程(Coroutine)做状态机
虽然这个其实在看了2dtoolkit的demo才知道的,我就简化一下让原创 2014-05-09 18:56:56 · 7686 阅读 · 4 评论 -
使用SVN对Unity进行版本控制(Unity 3.5 and SVN, now easy and free for all!)
原文地址:http://blog.teamthinklabs.com/index.php/2012/04/11/unity-3-5-and-svn-now-easy-and-free-for-all/先吐个槽。关于这个国内各种简单到家的文章让人搞不懂,而且场景合并,prefab合并等关键问题都说没法解决,其实本质就是因为它们都是二进制文件,所以SVN没法对其合并,但事实上Unity是支翻译 2013-07-27 18:10:53 · 3701 阅读 · 0 评论 -
unity给自己的模型加上镜面效果
首先着色器来自这里:http://game.ceeger.com/forum/read.php?tid=3162没有账号的童鞋可以到这里下载这个着色器和脚本:http://pan.baidu.com/share/link?shareid=149713&uk=3087344852具体使用方法看上面的发的地址。如果你已经开始使用了这个着色器,就会发现一个严重的问题,原创 2012-12-26 11:39:47 · 10135 阅读 · 0 评论 -
unity3d 中让JS访问C#脚本的方法
由于是完全不同的两种语言,所以“语言不通”也是很正常的事情。但最终编译后他们都是一样的,所以虽然做不到相互访问(虽然不知道访问这个说法对不对不过这种细节就不要在意了),但是单向访问还是没问题的。网上很多中说法,官方其实帮助文档也有说了,不过是全英文的,国内也有翻译,不过那个质量就不评论了。然后进入正题:1、把C#脚本都放到Standard Assets文件夹里,如果没有原创 2012-12-15 21:30:23 · 2904 阅读 · 2 评论 -
Unity3D一些优化经验
转自http://www.cnblogs.com/oldman/articles/2400533.html模型的优化。 现在的图形显卡可以很好的支持很多的多边形,但是他们他们还是有一些瓶颈的。所以如果你有一个有100个三角形的MESH,它渲染起来所需要花费的运算跟1500个面数的物体是没有多大差别的。因此最佳的渲染设置时每个模型大约1500-4000个三角面。 所以再次重复,转载 2012-12-26 11:13:58 · 1305 阅读 · 0 评论 -
U3D中实现游戏存档
这是从一个叫LevelSystem的工程里看到的,其实工程本身简单到不行,不过也看到了点有用的东西。public static void SaveData () { if (_maxLevels == 0 && _unLockLevels == 0) {//³õÊŒ»¯ _maxLevels = 11; _unLockLevels = 1; } PlayerPrefs.S原创 2012-12-27 14:45:29 · 3598 阅读 · 0 评论 -
Unity3d中的属性(Attributes)整理
转自http://blog.sina.com.cn/s/blog_5b6cb9500101857b.htmlAttributes属性属于U3D的RunTimeClass,所以加上以下的命名空间是必须的了。其它倒没什么需要注意的。本文将所有运行属性过一遍罢了。using UnityEngine;using System.Collections;1.Ad转载 2013-01-22 00:18:54 · 1367 阅读 · 0 评论 -
U3D简单的滚轮控制摄像机远近 与 监听双击事件(全屏)
if (Input.GetAxis("Mouse ScrollWheel") != 0) { transform.position += Vector3.forward * Input.GetAxis("Mouse ScrollWheel") * speed; } void OnGUI() { Event Mou原创 2013-03-07 14:30:06 · 4039 阅读 · 0 评论 -
Unity的动画倒播
按理说倒播应该直接把播放速度设置成-1就行了,不过实际上因为一些情况,动画的时间点并不在末尾,所以倒播就直接结束了,比如我的动画是once不循环,播放完以后time自动回到0,所以为了正确播放就必须设置时间,这个是在这里看到的http://bbs.9ria.com/thread-162756-1-1.html原创 2013-03-13 13:41:16 · 3859 阅读 · 0 评论 -
Unity3D BMFont使用图片自定义字体(无需字体文件)
网上搜BMFont做字体,很多都是从一个字体文件读取,然后选择需要的字,然后保存成图片文字,这个对于一般的文字的确很实用,因为Unity本身不支持中文,所以只好这样了。但是做过游戏的都知道,策划总是喜欢用一些乱七八糟的数字字体,而美工丢给你的也只有图片文件,像这样:于是最开始我就自己实现了一个类,来处理这种情况,不过实际上使用起来还是挺麻烦。因为字体这种东西别人都已经实现了,我这是原创 2013-03-21 11:49:34 · 26800 阅读 · 14 评论 -
关于Unity资源异步加载的研究
异步加载资源是现在的主流技术,于是先废话一段。先从DX说起最早的想法是即使Unity 不支持异步加载,也可以用C#的多线程机制自己实现,不过这个想法明显行不通。玩过DX的都知道异步加载需要涉及到显示设备的管理问题,管理不好就会直接崩溃。从磁盘到文件这点做异步是一点问题也没有,最早我自己尝试的时候也是这样,后来发现没多少用处,因为最费时的其实不是加载,而是资源的初始化!是的,从内原创 2013-04-09 14:25:26 · 17679 阅读 · 0 评论 -
Unity动态(Runtime)加载脚本
之前在群里跟人谈到脚本更新问题,于是就突然发现因为U3D对资源进行了打包,所以很难更新资源。说实在,我现在还没找到资源更新的办法,不过知道了资源可以从网络下载实时加载。后来看到有人说可以动态加载脚本,于是就去研究了。途中各种蛋疼不提也罢。其实基本原理就是使用到了C#的反射,熟悉反射的应该很简单就能解决。var fs = new FileStream(@"D:\Personal\My原创 2013-04-09 20:12:33 · 11430 阅读 · 0 评论 -
unity里面获取cmdline
因为有些时候要用到cmdline,如果是C++,那么很容易就从winmain那里获取到了,但是unity不知道怎么搞,去找了API没找到了,后来直接Google一下,其实只要去问.NET要就好了function GetCommandLineArgs() : String[] { Debug.Log("CommandLine: {0}" + System.Environment.Com原创 2013-04-20 16:25:11 · 2266 阅读 · 0 评论 -
Unity调用WebService的方法,支持IL2CPP
关于这个话题,网上也是有不少了,不过只从iOS需要IL2CPP后,那些方法基本上都没用了,因为C#原本的办法是通过生成代理类来进行访问,那个代理类都是使用C#反射,自然没法用,如果知道原理的话其实都很容易自己去实现,不过哪有那么多时间去学习那个玩意的原理,省下来的时间购泡几个妹纸了正题开始使用 http://easywsdl.com/WsdlGenerator 这个玩意就可以很容易原创 2016-12-27 14:39:36 · 1261 阅读 · 3 评论