Unity
文章平均质量分 58
无敌懵哥
这个作者很懒,什么都没留下…
展开
-
unity平台的预处理
在开发中,特别是unity的跨平台中,我们常常会在各个平台游走,如安卓版,苹果版,PC版......。在此不同的平台上,有可能我们须要做不同的操作。然而我们就能够用unity的自带的平台宏定义方式来做平台的推断。Unity帮我们定义了例如以下平台预处理: 名称 描写叙述UNITY_EDITORDefine for call转载 2015-06-20 21:59:43 · 428 阅读 · 0 评论 -
C#Socket服务器开发(Unity)
之前一直在做客户端,没怎么关注网络这部分。最近在学服务器开发的一个实战教程。刚好可以总结下Unity客户端游戏下的网络部分开发。(平时事情太多了。先起个头 ,待周末写)原创 2015-06-03 19:50:11 · 613 阅读 · 0 评论 -
Socket的三个功能类TCPClient、TCPListener 和 UDPClient (转)
应用程序可以通过 TCPClient、TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务。这些协议类建立在 System.Net.Sockets.Socket 类的基础之上,负责数据传送的细节。(也就是说TCPClient、TCPListener 和 UDPClient 类是用来简化Socket) TcpClient转载 2015-06-07 16:34:50 · 630 阅读 · 0 评论 -
Json数据结构
什么事Json(对于JSON更多详细解释可以看Json的官方网站:http://www.json.org/):JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - De转载 2015-06-10 16:11:52 · 653 阅读 · 0 评论 -
XML、JSON数据结构解析
解析的基本概念XML数据结构JSON数据结构XML与JSON两种数据结构的优缺点进行XML数据结构解析时使用到的SAX工具,DOM工具进行JSON数据结构解析时使用到的第三方框架解析的基本概念:所谓“解析”:从事先规定好的格式中提取数据解析的前提:提前约定好格式、数据提供方按照格式提供数据、数据获取方则按照格式获取数据iO转载 2015-06-10 16:10:38 · 521 阅读 · 0 评论 -
C#解析json文件的方法
C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript语法标准的一个子集。 JSON采用完全独立于语言的文本格式,可以很容易在各种网络、平台和程序之间传输。JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成。JSON与XML的比较◆可读性 JSON和XML的转载 2015-06-10 16:13:21 · 394 阅读 · 0 评论 -
Unity项目内各种文件的作用
.meta文件是版本控制文件,在新加入项时,Unity3D会产生一个同名的.meta文件,这个文件记录了此项一个唯一的64位的guid,协作开发时这个文件必须上传,否则会出现各种缺失的异常情况原创 2015-06-11 15:29:08 · 2140 阅读 · 0 评论 -
T博士开讲 你听过却不懂的CPU专业名词
转自:http://cpu.zol.com.cn/271/2712025_all.html#p2712025本文导航第1页:你听过却不懂的CPU专业名词第2页:“主频”和“缓存”是啥意思第3页:“核心/线程”的含义第4页:“插槽”和“总线”的定义1你听过却不懂的CPU专业名词 新的一年到了,笔者为了帮助DIY转载 2015-06-12 11:02:25 · 630 阅读 · 0 评论 -
双核CPU和双CPU的区别
双核心并不是一个新概念,而只是CMP(Chip Multi Processors ,单芯片多处理器) 中最基本、最简单、最容易实现的一种类型。换言之双核心处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。这样就将两个物理处理器核心整合入一个核中,在任务繁重时,两个核心能相互配合,让CPU发挥最大效力。两个能互补的核心运行起来性能是非常不错的,例如使用Intel奔腾D双核处理器就转载 2015-06-12 10:29:39 · 4537 阅读 · 0 评论 -
Unity 5事件系统
打算自己写一个事件系统,Unity 5之后的版本事件系统和之前有不少改变的地方,这几天研究下,慢慢的会把东西发上来。代码写在另外一台没网络的电脑上 0.0原创 2015-06-13 22:51:58 · 542 阅读 · 3 评论 -
Unity逻辑热更新
声明:原博链接: http://blog.csdn.net/janeky/article/details/17652021只是把自己研究实践的过程记录下来先直接上代码:两个类,一个检测资源更新,有更新则下载到本地(ResUpdate),一个是逻辑热更新(LogicUpdate)一、资源对比更新并下载。资源是否更新了是通过比对服务器与客户端的 资源版本表: version.txt该文本文档内容为:转载 2016-05-17 10:08:44 · 987 阅读 · 0 评论 -
Type.GetType()与 typeof跨程序集反射
原博地址:http://www.cnblogs.com/hyl8218/archive/2010/02/19/1667440.html 上一篇的热更新还不够完善,所以另外查了下相关资料,准备做一个完整的热更新系统。 在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetTyp转载 2016-05-17 10:10:55 · 1224 阅读 · 0 评论 -
详述面相对象编程思想
面向对象思想----不看后悔! 前言: 整理这份资料的目的是为了帮助朋友们能够更直观的理解面向对象的编程。让后来者能够少走一些弯路。但其中不免有许多漏洞及错误,也还请前辈提出宝贵的更改意见,毕竟交流会让我们不断的进步。 技术是日新月异的,他不会等待你的成长。技术要拿出来于别人交流,自己学是自己主观意识上的理解,有对有错!交流会让进步变得更快。我认为如果计算机 的体系结构不发生革命性的变化,我们现在转载 2016-05-19 14:13:05 · 1174 阅读 · 3 评论 -
堆栈和托管堆 c#(2)
C#中栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小线程堆栈:简称栈 Stack托管堆: 简称堆 Heap使用.Net框架开发程序的时候,我们无需关心内存分配问题,因为有GC这个大管家给我们料理一切。如果我们写出如下两段代码:代码段1:转载 2016-05-19 15:41:46 · 427 阅读 · 0 评论 -
堆栈和托管堆 c#(1)
堆栈和托管堆 c#转自:http://www.cnblogs.com/shenfengok/archive/2011/09/06/2169306.html首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack堆栈中存储值类型。堆栈实际上是向下填充,即由高内存地址指向低内存地址填充。堆栈的工作方式是先分配内转载 2016-05-19 12:39:35 · 323 阅读 · 0 评论 -
Unity中的C#内存管理(一)
本系列文章的第一部分讨论了.Net/Mono和unity内存管理的基本知识。第二部分深入介绍了Unity Profiler和CIL相关知识,以发现C#代码中不必要的内存分配。第三篇文章即本文将介绍对象池。到目前为止,我们一直关注的是堆分配。现在我们还想要避免不必要的内存释放,以至于在游戏运行时不会因为垃圾回收器(GC)回收内存而产生帧率下降。对象池是解决这个问题的理想方案。我将转载 2016-05-19 15:45:09 · 325 阅读 · 0 评论 -
Unity中的C#内存管理(二)
在本系列教程的第一篇中,我们讨论了.Net/Mono和unity的内存管理的基础知识,并提供了一些避免不必要的堆内存分配的技巧。第三篇文章将深入介绍对象池。让我们仔细看看找到项目中非必须堆分配的两种方法。第一种方法非常简单,使用工具Unity Profiler。第二种,反编译.Net/Mono 程序集成公共中间语言(CIL)之后检查。如果你之前从未看过反编译的.Net代码,试着阅读转载 2016-05-19 15:46:01 · 411 阅读 · 0 评论 -
在项目中使用单例和静态方法的选择
最近挪了窝。新项目中大量单例和静态方法混合使用,两者在使用场景上已经没有什么分别。所以在这里我来捋一捋这两者的区别。区别一:是否需要限制唯一对象单例,GOF对单件的第一句场景解释就是“如果需要唯一实例”。而静态方法,是可以很多该对象公用的。任性使用静态方法易造成耦合性增加原创 2016-07-20 09:11:39 · 983 阅读 · 0 评论 -
浅谈Draw Call和Batch的区别
开发游戏时,一定被时时提醒要减少 Draw Call,当然Unity也不例外,打开Game Window里的 Stats,可以看到 Draw Call 与 Batched 的数字。但到底什么是 Draw Call?影响的效能是来自 CPU?还是 GPU?浅谈Draw Call和Batch的区别首先,让我们定义何为 “Draw Call”:“一个 Draw Call,等于转载 2016-07-30 15:06:00 · 701 阅读 · 0 评论 -
uninty环境下socket网络总结
一、关于协议类型,有三种:1、自定义结构体。这种情况扩展性不好,当后端增改协议内容,而前端暂时不需要改的时候,前端也必须要一起修改,否则会报错,这种情况在上线运营后会比较烦。2、xml、json。数据量会比较大,对网络带宽造成压力,一般不使用。3、google的protobuf。比较完美的解决方案。二、socket1、连接和断开连接:连接要经过三次握手;断开连接要经过四原创 2016-08-02 23:08:09 · 329 阅读 · 0 评论 -
几种资源加载的区别
1、Resourcce.Load2、www3、CreatfromCache原创 2016-08-18 18:09:34 · 356 阅读 · 0 评论 -
C#小数点格式化用法小结
本文实例讲述了C#小数点格式化用法。分享给大家供大家参考,具体如下:1.ToString()方法?123doubled=12345678.2334;Console.WriteLine(d.ToString("F2"));//1234.23Console.WriteLine(d.T转载 2016-08-19 14:12:03 · 1102 阅读 · 0 评论 -
c# 小数取整
向上取整math.ceiling(1) = 1math.ceiling(1.1) = 2math.ceiling(1.5) = 2向下取整math.float(1) = 1math.float(1.1) = 1math.float(1.5) = 1C#取整函数实例应用详解C#取整函数的相关使用是我们在实际开发应用中经常会碰到的具体的实用性概念,那转载 2016-08-19 14:15:03 · 2477 阅读 · 0 评论 -
数据存储,资源管理和加载
数据存储PlayerPrefs 游戏存档作用:在游戏会话中储存和访问游戏存档。存储路径:Mac OS X: ~/Library/Preferences/Unity/WebPlayerPrefsWindows: %APPDATA%\Unity\WebPlayerPrefs一个游戏存档文件对应一个web播放器URL并且文件大小被限制为1MB。如果超出这个限制,SetInt、Se转载 2016-08-19 17:43:07 · 533 阅读 · 0 评论 -
unity小知识集合帖
1、开发中和发布版本的资源加载方式 /// /// 加载一个资源 /// /// "AssetBundle/A.Prefab" private void LoadRes(string name) { GameObject loadObj;#if UNITY_EDITOR loadObj = UnityEdi原创 2016-08-18 07:59:12 · 254 阅读 · 0 评论 -
内存优化总结
在C#中,托管资源都会通过GC机制被自动回收。而一些非托管资源如sqlonnect、stream等需要通过using或者dispose手动释放通常不建议使用析构函数,不恰当的使用析构函数反而会对性能造成影响原创 2016-08-03 11:42:44 · 255 阅读 · 0 评论 -
监听Hierachy、Project等视图结构变化的事件
最近我发现了一个更好的方法来监听Project视图变化,欢迎大家前来看看 Unity3D研究院之监听Project视图结构变化的事件以前就有人问我怎么监听Hierarchy视图中创建或删除变化的事件,当时因为有别的事情就没研究这块。刚好最近有这一类的需求我就学习学习。网上发现了一个日本人写的文档,实现的原理很有意思,内容不错我就翻译一下。原文:http://anchan828.ha转载 2016-09-03 11:44:35 · 461 阅读 · 0 评论 -
在Dll中使用Unity预编译宏的问题
今天在封装Debug的时候,因为要把封装函数写在Dll中才能在项目中双击定位,然后我就想在Dll中使用预编译宏,但是在项目中使用的时候,这个宏是永远不存在的现在解决办法是把这个宏放到项目中去了出现这种问题有可能这个预编译宏是在编译期间起作用,但是Dll却是运行时的,所以这样做是没用的原创 2016-08-24 20:44:20 · 2022 阅读 · 0 评论 -
unity中的meta和mainfest文件
meta和mainfest都是记录资源信息的文件·其中meta是用于资源版本管理,导入资源的时候,unity会会为每个资源自动生成一个meta文件,记录这该资源的guid和一些资源引用信息,但是同样的资源,在不同的电脑上生成的meta文件是不一样的,那如果在多人开发中,你上传了meta的资源,别人用了你的,或者meta文件缺失了,就有可能导致资源出问题。一般多人开发不应该上传meta文件。原创 2016-08-25 14:27:33 · 1040 阅读 · 1 评论 -
C#中的数字格式化、格式日期格式化
字符串格式化这部分内容是我们经常用到的,如“2008-03-26”日期格式、“28.20”数字格式。 举一个例子,我们有时需要将订单号“12”显示为“00000012”这种样式(不足8位前面补0),就可以使用下面的方法: int originalCode = 12; Response.Write(string.Format("{0:00000000}", originalCode)转载 2016-08-26 14:56:33 · 11495 阅读 · 0 评论 -
C#格式化字符串,日期,时间,货币
时间格式化有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globaliz转载 2016-08-26 15:00:51 · 19521 阅读 · 0 评论 -
日期格式化
1、将Double类型的格式化为 00:00:00double sTime = 10;TimeSpan.FromSeconds(leftPKTime).ToString()// 00:00:10原创 2016-08-26 15:23:20 · 363 阅读 · 0 评论 -
让unity的编译速度在快一些
转自:http://forum.china.unity3d.com/thread-13028-1-1.html如下图所示,先来看看unity生成的4个DLL 8b0d88d5gw1eymq61vjnej20hy096mza.jpg (86.65 KB, 下载次数: 15)下载附件2015-12-13 11:11 上传我们实际项转载 2016-12-11 12:38:50 · 5394 阅读 · 0 评论 -
快速查找Unity中的死循环
1、编写一个死循环方法,然后运行调试vs2、运行Unity执行到死循环的时候,Unity编辑器会卡死如图:3、切换到vs界面,点击调试-窗口-线程如图:4、出现线程窗口,并暂停调试5、双击调试窗口中的方法,这时就会自动定位到死循环位置原创 2016-12-05 15:28:19 · 6903 阅读 · 0 评论 -
socket与http的区别
转自:http://blog.csdn.net/zeng622peng/article/details/5546384相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提转载 2016-12-05 16:02:25 · 218 阅读 · 0 评论 -
Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包
转自:http://blog.csdn.net/yupu56/article/details/52916782最近比较忙,有段时间没写博客拉。最近项目中需要使用HTTP与Socket,雨松MOMO把自己这段时间学习的资料整理一下。有关Socket与HTTP的基础知识MOMO就不赘述拉,不懂得朋友自己谷歌吧。我们项目的需求是在登录的时候使用HTTP请求,游戏中其它的请求都用Socket请求,转载 2016-12-05 16:33:17 · 521 阅读 · 0 评论 -
Unity性能优化专题---腾讯牛人分享经验
转自:http://mp.weixin.qq.com/s?__biz=MzA4MDc5OTg5MA==&mid=209776006&idx=2&sn=d56d0bf4819493fa4fc452e36042890f&scene=5#rd这里从三个纬度来分享下内存的优化经验:代码层面、贴图层面、框架设计层面。一.代码层面。1.foreach。Mono下的foreach使用需谨转载 2016-12-05 17:41:25 · 1590 阅读 · 0 评论 -
使用bat 在win10环境下Lua开发环境的配置
1、在菜鸟教程上找到环境配置章节,下载luadist2、下载下来的Lua为绿色版,这里随便放到哪里 。我的目录是:E:\Game\PatrickLua\Binaries-LuaDist-batteries-0.9.8-Windows-x863、配置环境变量,环境变量其实是操作系统遍历的一个全局变量,操作系统会在这些环境变量中遍历找到你输入的程序名称。百度上是这么说的:当要求系原创 2016-12-09 11:21:57 · 5173 阅读 · 0 评论 -
Unity 脚本生命周期流程图
渲染OnPreCull: 在相机剔除场景之前调用此函数。相机可见的对象取决于剔除。OnPreCull 函数调用发生在剔除之前。OnBecameVisible/OnBecameInvisible: 在对象对于相机可见/不可见时调用此函数。OnWillRenderObject: 如果对象可见,则为每个相机调用一次此函数。OnPreRender: 在相机开始渲染场景之前调用此函数转载 2016-12-15 06:57:07 · 369 阅读 · 0 评论 -
寻路最终版哦
转自:http://blog.csdn.net/yxriyin/article/details/40902063相信大家用Unity3D自带navmeshagent寻路的时候,一定会碰到多人寻路相互挤压的问题。这个我已经解决了,而且已经应用到我们的项目中,感觉还不错。首先提下问题的原因:navmeshagent在寻路的时候,并不会把别人当成障碍物,而是在即将和其他agent碰撞的时候,转载 2016-12-15 07:40:01 · 453 阅读 · 0 评论