自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天生爱赞美的博客

我们只用技术说话,眼界决定境界,定位决定地位。。。

  • 博客(27)
  • 收藏
  • 关注

转载 GitHub查找优秀的开源项目和一些资源福利

GitHub 我大概了解了,Git 也差不多会使用了,但是 还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率?GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目,你没事的时候刷刷微博、知乎,人家没事的时候刷刷 GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大,那么如何发现优秀的开源项目呢?这篇文章我就来给大家介绍下。1. 关注一些活

2016-10-31 18:22:57 24195 9

转载 socket通信简介(概念、函数、原理)

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?

2016-10-31 17:16:37 1146

原创 【数据结构】树与树的表示、二叉树存储结构及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树与哈夫曼编码、集合及其运算

1、树与树的表示什么是树?客观世界中许多事物存在层次关系人类社会家谱社会组织结构图书信息管理分层次组织在管理上具有更高的效率!数据管理的基本操作之一:查找(根据某个给定关键字K,从集合R 中找出关键字与K 相同的记录)。一个自然的问题就是,如何实现有效率的查找?

2016-10-31 10:09:12 3913 1

原创 【Unity】学习Shader中常用的函数方法

今天给大家列出来shader中常用的一些函数,函数后面有释义,大家可以打印出来,或者在写shader的时候来这篇文章查阅,看看你需要用到哪些。Cg提供了一系列内建的标准函数。这些函数用于执行数学上的通用计算或通用算法(纹理映射等), 有些函数直接和 GPU 指令相对应,所以执行效率非常高。这些函数来源于文档,我为大家筛选出了常用的,去掉了基本用不到的函数。数

2016-10-31 10:03:39 20515 1

原创 【Unity】查看与显示游戏帧数FPS

关于FPS,在PC端来说,游戏帧数跑得越高越好,FPS跑得越高游戏就越流畅,当然太高也没什么必要。 不过在手机平台上,游戏帧数跑高了,CPU和GPU负荷相应则会增大。CPU和GPU负荷大的话那代表着其发热量也相应会大很多。发热大可是很糟糕的事情,极大影响游戏体验。 所以也并非帧数越高越好。只要玩起游戏来不卡的话,我觉得这个帧数就可以了。 60帧是非常流畅的帧数,所有最高设为60帧则足够了。30帧的

2016-10-28 13:24:22 5179

原创 【Unity】制作圆形进度条

0. 背景最近有个在Unity中制作圆环进度条的需求,并在圆中显示进度数值,类似于图1:  图1. 圆环进度条平时制作直线的进度条比较多,突然要求做个圆环的有些不适应。不过,这个需求google一下其实大量的解答就出来,关键字"unity circle progress bar",于是我采用了 Unity5 Radial Progress Bar Tut

2016-10-28 11:45:24 7530

原创 【Unity】加载Loading场景进度条slider平滑问题

背景通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的进度。在Unity中可以通过调用Application.LoadLevelAsync函数来异步加载游戏

2016-10-28 11:40:41 6798 1

转载 【Unity】场景异步加载进度条的制作

[csharp] view plain copyusing UnityEngine;  using System.Collections;  using UnityEngine.UI;  ///   /// 脚本位置:Main Camera  /// 脚本功能:场景异步加载的进度条显示  ///   public class Loadin

2016-10-28 11:40:04 1816

原创 Unity中surfaceShader的处理机制和finalColor

Unity Surface Shader的背后隐藏着比较神秘的机制,之所以说神秘,是因为不了解,了解了就不神秘,Unity Surface Shader在Unity 3.0的时候被开放给公众使用,但是貌似只能从官网的doc里面去了解一知半解,似乎在我们的项目里面没有怎么用到它。虽然它比较神秘,但是我们可以通过Unity来查看生成的CG代码,实际上Surface Shader是封装了CG语言,隐藏了

2016-10-27 14:21:29 4302

原创 Unity中什么情况下适用静态变量

下面的示例解释了为Unity3D引擎编写脚本的时候如何来使用静态变量.本文示例的脚本使用C#编写,同样的适用于javascript。 在深入主题之前,必须要清楚地是我们应该尽量避免使用静态变量,有大量的缘由可以很容易在网上找到.大部分时候使用单例更好。了解了上面的东西之后,这里有一个对静态变量的简单定义:它们是属于类的变量,不属于对象或类创建。这意味着静态变量始终保持同样的

2016-10-26 17:58:44 5800

原创 Photon服务器入门教程二

上一讲中主要介绍了服务器的简单知识,配置服务器和客户端连接.第二讲介绍客户端请求服务器,服务器响应操作,我们就以一个简单的用户登录为基础介绍吧一、服务器端按照上一篇教程我们配置好简单的photon服务器,但是只能用于连接服务器和断开服务器操作,其他的基本没有提到,今天是要在上一讲基础上添加内容.主要是在MyPeer.cs类的OnOperationRequest方法中实现,代码如下:

2016-10-26 11:46:14 1374

原创 Photon服务器引擎入门教程一

Photon是一款非常不错的游戏服务端引擎,但是网上的入门教程太少了,特别是中文版的。下面一系列是对Photon Server的研究过程,如有哪个地方写的有误,望指教。首先去https://www.photonengine.com/en/OnPremise/Download下载服务器端SDK,需要登录的,就先注册一个账号吧.解压出来是四个文件 deploy:主要存放photon的服

2016-10-26 11:45:07 2710

原创 Unity3D面试题整合

第一部分1.请简述值类型与引用类型的区别2.C#中所有引用类型的基类是什么3.请简述ArrayList和List的主要区别4.请简述GC(垃圾回收)产生的原因,并描述如何避免?5.请描述Interface与抽象类之间的不同6.下列代码在运行中会产生几个临时对象?7.下列代码在运行中会发生什么问题?如何避免?8.请简述关键字Sealed用在类声明和函数声明时的作用

2016-10-26 11:43:09 1871

原创 Unity高频面试题总结

高频问答的问题:一.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。 二.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是

2016-10-26 11:40:13 10451

原创 unity3d事件函数整理(事件,回调函数)消息处理

Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。 Awake当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。Start当前控制脚本第一次执行Update之前调用。Update

2016-10-26 11:33:52 706

原创 Unity中颜色空间(Color)HSV,HSB,HSL

作为一名程序猿,也需要了解一下美术相关的一些知识,其实不用了解很多了,一点点就足够了,了解一下HSV,HSB,HSL的定义其实就OK了。一 . 概念HSL 模式和 HSV(HSB) 都是基于 RGB 的,是作为一个更方便友好的方法创建出来的。HSB 为 色相,饱和度,明度,HSL 为 色相,饱和度,亮度,HSV 为色相

2016-10-26 09:52:58 10147

原创 Unity3d 必备的几种优秀的设计模式

unity编程众所周知,它是属于脚本化,脚本没有一个具体的概念跟架构, 导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本, 结果,就造成了一片混乱,不好管理。 更有甚者,自己的写的代码闲置一段时间后,再去想找某个功能的实现,都要在视图中翻来覆去找半天。 哎!请容许我在此感叹一声,这还是你写的东西么? 因此,一个好的设计模式是多么的重要啊, 那么,我们在使用Un

2016-10-26 09:48:38 2234

原创 Unity中常用的几种设计模式

23种设计模式,实在是太多了,而且其中有一些看着还貌似差不多,让人很费解,好不容易理解了每一种设计模式的含义,并且看了一堆伪代码之后,高高兴兴的合上了书本去玩几把LOL,赢了几把之后脑袋里关于那23种设计模式的概念就剩下80%了,然后接下来的每日工作中,基本写代码的时候也用不到啊!老板催着让你做功能,你就还哪里记得去使用设计模式啊,就开始乱写吧,日复一日,23种设计模式基本就和你拜拜了,再见了。

2016-10-26 09:42:39 21464 1

原创 Unity协程(Coroutine)之yield和迭代原理分析

协程其实就是一个IEnumerator(迭代器),IEnumerator 接口有两个方法 Current 和 MoveNext() ,前面介绍的 TaskManager 就是利用者两个方法对协程进行了管理,只有当MoveNext()返回 true时才可以访问 Current,否则会报错。迭代器方法运行到 yield return 语句时,会返回一个expression表达式并保留当前在代码中的位置。 当下次调用迭代器函数时执行从该位置重新启动。

2016-10-26 09:30:16 7571

原创 Unity关于Time.timeScale详解

Time.timeScale变化后会影响谁?大多数的回答都是:“Time.timeScale可以控制Update 和LateUpdate 的执行速度,FixedUpdate还是按正常时间来执行。”这就是理解错误了,一定要纠正一下错误的观点,正确的应该是:1:“timeScale不会影响Update和LateUpdate的执行速度”2:“FixedUpdate是根据时间来

2016-10-26 09:24:14 32345 1

原创 Unity中的Attribute使用总结

Attribute是C#的功能,在Unity中可以使用Attribute来给变量和方法增加新的特性或者功能。举两个例子,在变量上使用[SerializeFiled]属性,可以强制让变量进行序列化,可以在Unity的Editor上进行赋值。在Class上使用[RequireComponent]属性,就会在Class的GameObject上自动追加所需的Component。以下

2016-10-25 16:48:54 2155

翻译 Unity内存管理——对象池(Object-Pool)

Unity3D内存管理——对象池(Object Pool) 从一个简单的对象池类开始说起对象池背后的理念其实是非常简单的。我们将对象存储在一个池子中,当需要时在再次使用,而不是每次都实例化一个新的对象。池的最重要的特性,也就是对象池设计模式的本质是允许我们获取一个“新的”对象而不管它真的是一个新的对象还是循环使用的对象。该模式可以用以下简单的几行代码实现:public class

2016-10-25 16:38:45 1195

原创 Unity性能优化方法总结

一共9招。 1 资源分离打包与加载   游戏中会有很多地方使用同一份资源。比如,有些界面会共用同一份字体、同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等。可以在制作游戏安装包时将这些公用资源从其它资源中分离出来,单独打包。比如若资源A和B都引用了资源C,则将C分离出来单独打一个bundle。在游戏运行时,如果要加载A,则先加载C;之

2016-10-24 15:02:33 6070 1

原创 Unity性能优化之DrawCall

图形引擎渲染画面的过程Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:1. 可见性测试1. 引擎首先经过简单的可见性测试,确定摄像机可以看到的物体2. 准备好物体的数据2. 然后把这些物体的顶点(包括本地位置、法线、UV等),索引(顶点如何组成三角形),变换(就是物体的位置、旋转、缩放、以及摄像机位置等),相关光源,纹理,渲染

2016-10-24 14:58:38 12093

原创 unity Profiler性能分析

A. WaitForTargetFPS:       Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间    B. Overhead:       Profiler总体时间-所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善Profiler的统计。         C. Physics.Simulate:       当前帧物理模拟的CPU占用时间。

2016-10-22 13:22:15 778

翻译 Unity 5 中的全局光照技术详解

本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING(文章较长,请耐心阅读)简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算。同一场景里:没有照明(左),只有直接

2016-10-21 17:47:06 1783 1

原创 Json和Xml优缺点比较

1、JSON定义(JavaScript Object Notation)   一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。2、XML定义   扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结

2016-10-21 13:19:37 614

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除