自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 adb操作命令详解及大全

adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行

2016-11-24 16:28:49 456

转载 unity3D的面试题

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

2016-11-16 16:04:12 14705 2

原创 Unity3D游戏开发之详解 Animation类和Animator类

Animation类animation组件用于播放动画。可以指定动画剪辑到动画组件并从脚本控制动画播放。在的动画系统基于权重并且支持动画融合,叠加动画,动画混合,标签和完全控制动画播放的各个方面。如果想播放一个简单的动画,可以使用Animation.Play;如果想在动画之间交叉淡入,可以使用Animation.CrossFade;如果想改变动画模式(循环,一次,乒乓),可以改变动画导入设

2016-11-16 14:25:46 2742

原创 unity自带寻路Navmesh入门教程(三)

继续介绍NavMesh寻路的功能,接下来阿赵打算讲一下以下两个例子,先看看完成的效果:  第一个例子对于喜欢DOTA的朋友应该很熟悉了,就是不同小队分不同路线进攻的寻路,红绿蓝三个队伍分别根据三条路线进攻。第二个例子是动态的控制道路的开关。当吊桥打开时,道路不通,当吊桥放下时,道路可以通行。先来说说第一个例子吧,第一个例子其实很简单,只需要在之前两节的基础上

2016-11-16 11:47:10 423

原创 unity自带寻路Navmesh入门教程(二)

上一节简单介绍了NavMesh寻路的基本用法,这次来介绍一下稍微复杂一点点的高低落差以及跳跃的做法,首先来看看这次的目标:  由于博客相册上传GIF有限制,所以我把整个过程切开了2部分上传,第一部分是爬楼梯,第二部分是横向跳跃和往下跳落      不管是爬楼梯,还是跳跃,NavMesh都是通过了OffMeshLink来做的。创建OffMeshLink的方法有两种,接

2016-11-16 11:45:03 424

原创 unity自带寻路Navmesh入门教程(一)

unity自从3.5版本之后,增加了NavMesh寻路的功能。在此之前,unity用户只能通过第三方插件(如Astar寻路插件)等做寻路功能。阿赵我也使用过A*寻路插件,A*的原理并不复杂,有兴趣的朋友可以自己百度一下。不过由于不是自带的功能,所以在设定网格和烘焙的过程难免会出现很多不便。NavMesh作为unity自带的功能,用法和之前的LightMapping烘焙或者遮挡剔除Occlusion

2016-11-16 11:43:25 1242

原创 Unity3D之太空大战二

接下来,我们要使飞船能发射子弹,所以我们要创建子弹模型,在资源中找到rocket.fbx模型文件,拖到Hierarchy中,这样就创建了子弹的游戏体,当然对于重复使用的游戏体,我们要做成预设体Prefab,我们打开菜单栏Assets->Create->Prefab,来创建一个新的预设体,如下图:我们命名为Rocket,那么子弹,飞船要发射,所以我们新建一个cs脚

2016-11-11 15:51:32 916

原创 Unity3D之太空大战一

这是一个简单的太空大战DEMO,整个游戏两个部分,开始游戏界面跟游戏主界面,敌人分为两种,一种是简单的敌人,只会去触碰主角,还有一种是复杂点的敌人,可以发射子弹,,OK,下面我们一步步来。首页我们导入相关的资源,在Assets里单击弹出选择框,选择Import Package->Custom Package,如下图:接下来,我们要创建一个开始游戏场景,点击菜

2016-11-11 15:49:36 2639

原创 unity3D游戏开发十八之NGUI动画

我们先来看下帧动画,顾名思义,就是一帧帧的图片组成的动画,我们需要用到UISprite Animation组件,它的属性如下:Framerate:播放速率,也就是每秒钟播放的帧数Name Prefix:图片名字的前缀,可以用来过滤图片集中的图片,从而指定你需要的图片Loop:循环按照前面文章创建UI的步骤,我们创建一个sprite,一个button,通过

2016-11-11 15:43:14 364

原创 unity3D游戏开发十七之NGUI四

接下来我们讲解下UIGrid,UIGrid是用来轻松的排列众多widget到固定大小格子的脚本。 编辑时和运行时都可以使用。如果想使用可变的格子单元大小,你可以使用UITable,属性如下图:Arrangement的值决定了子节点的摆放位置。Horizonta让子节点向右排列,Vertical向下排列。Max Per Line属性控制Horizontal排列时候的最大有多少

2016-11-11 15:41:12 333

原创 unity3D游戏开发十六之NGUI三

接下来我们看下ProgeressBar,进度条,它是UISlider和UIScrollBar的基类,属性如下图:Value:百分比Alpha:透明度Steps:步阀阈值Appearance:特性a.Foreground(前景图片)b.Background(背景图片)d.Direction(滑动方向)On Val

2016-11-11 15:39:26 289

原创 unity3D游戏开发十四之NGUI一

在Unity中,可以使用代码控制其自身所携带的GUI来实现图形界面的搭建。但是这些组件的搭建效率很低,而且已经无法满足现在市场对图形用户界面美感的要求,所以,引入了NGUI来增加所要开发的图形用户界面的美感。NGUI是一个功能强大的UI系统,其事件处理通常由开发人员编写C#脚本完成,并且是一个严格遵循KISS原则的Unity框架,该框架具有干净、简约的代码。现在NGUI的各个版本很多,我这

2016-11-11 15:36:22 568

原创 unity3D游戏开发十三之GUI

GUI在游戏的开发中占有重要的地位,游戏的GUI是否友好,使用是否方便,很大程度上决定了玩家的游戏体验。Unity内置了一套完整地GUI系统,提供了从布局、控件到皮肤的一整套GUI解决方案,可以做出各种风格和样式的GUI界面。在Unity中使用GUI来完成GUI的绘制工作,目前Unity没有提供内置的GUI可视化编辑器,因此GUI界面的制作需要全部通过编写脚本代码来实现,如果游戏有比较多的界面制作

2016-11-11 15:34:57 741

原创 unity3D游戏开发十二之疯狂的小球

下面我们通过一个具体的实例来了解如何使用物理引擎,该实例通过第三人称视角控制游戏中的小球对象,游戏通过是否与钻石碰撞来界定是否寻找到钻石并获得积分,获得积分满10分后,赢得游戏,当小球冲出跑道时,游戏失败,并提示是否重新开始游戏。依次打开文件夹Assets-》object,在object文件夹下找到Runway.fbx文件,拖进场景中,如下图:选择Runwa

2016-11-11 15:33:44 1499

原创 unity3D游戏开发十一之物理引擎

Unity内置了NVIDIA的Physx物理引擎,Physx是目前使用最为广泛的物理引擎,被很多游戏大作所采用,开发者可以通过物理引擎高效、逼真地模拟刚体碰撞、车辆驾驶、布料、重力等物理效果,使游戏画面更加真实而生动。Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才能受到重

2016-11-11 15:32:11 2242

原创 unity3D游戏开发十之粒子系统

Shuriken粒子系统是Unity3.5版本新推出的粒子系统,它采用模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种缤纷复杂的粒子效果。依次打开菜单栏中的GameObject->Greate Other->Particle System,在场景中新建一个粒子游戏对象,如下图:粒子系统的控制面板主要由Inspector视图中的Particle Sys

2016-11-11 15:31:18 1708

原创 unity3D游戏开发九之雾效、水效和音效

开启Fog(雾效)将会在场景中渲染出雾的效果,在Unity中,可以对雾的颜色、密度等属性进行调整。开启雾效通常用于优化性能,开启雾效后远处的物体被雾遮挡,此时便可选择不渲染距离摄像机较远的物体。这种性能优化方案需要配合摄像机对象的远裁切面设置来使用。通常先调整雾效得到正确的视觉效果,然后调小摄像机的远裁切面,使场景中的距离摄像机对象较远的游戏对象在雾效变淡前被裁切掉。在Unity中,开启雾

2016-11-11 15:30:16 1386

原创 unity3D游戏开发八之天空盒

Unity中的天空盒实际上是一种使用了特殊类型Shader的材质,该种类型材质可以笼罩在整个游戏场景之外,并根据材质中指定的纹理模拟出来类似远景,天空等的效果,使游戏场景看起来更完整。依次打开菜单栏Assets->Import Package->Skyboxes,如下图:为项目工程导入Skyboxes.UnityPackage,导入时会弹出Importing packa

2016-11-11 15:29:09 1022

原创 unity3D游戏开发七之创建基本游戏场景四

这篇文章中我们简单介绍下角色控制,依次打开菜单栏中的Assets->Import Package->Character Controller,如下图:导入角色控制资源包,如下图:资源包被导入后,资源包中包含两个预设体,分别是第一人称角色控制预设体、第三人称角色控制预设体,预设体可以直接拖进项目工程中任何场景中直接使用,如下图:下面我们直接

2016-11-11 15:27:53 638

原创 unity3D游戏开发六之创建基本游戏场景三

这篇文章中,我们来详细介绍下Unity的地形编辑器,Unity拥有功能完善的地形编辑器,支持以笔刷绘制的方式实时雕刻出山脉、峡谷、平原、高地等地形。Unity的地形编辑器同时提供了实时绘制地表材质纹理、树木种植、大面积草地布置等功能。Unity中的地形编辑器支持LOD(Level of Detail)功能,能够根据摄像机与地形的距离以及地形起伏成都调整地形块网格的疏密程度。远处或平坦的地形使用稀疏

2016-11-11 15:26:49 806

原创 unity3D游戏开发五之创建基本游戏场景二

光源是每一个场景的重要组成部分,网格模型和材质纹理决定了场景的形状和质感,光源则决定了场景环境的明暗、色彩和氛围。每个场景中可以使用一个以上的光源,合理地使用光源可以创造完美的视觉效果。uniity提供了4种类型的光源1、Directional light:方向光源,类似于自然界中日光的照明效果2、Point light:点光源,类似灯泡的照明效果3、Spotlig

2016-11-11 15:25:43 1100

原创 unity3D游戏开发四之创建基本游戏场景一

Unity创建游戏的理念可以被简单地理解为,一款完整的游戏就是一个Project(项目工程),游戏中不同的关卡/场景对应的是项目下面的Scene(场景)。一款游戏可以包含若干个关卡/场景,因此一个项目工程下面可以保存多个Scene。我们可以点击File菜单->New Project来创建一个新的工程,可以设置project的目录,然后可以选择需要导入的包,如下图:点Cr

2016-11-11 15:24:40 854

原创 unity3D游戏开发三之unity编辑器二

下面我们介绍下GameObject,游戏对象/物体,通过游戏对象我们可以创建游戏对象,如灯光、粒子、模型、GUI等。GameObject菜单通过Create Other,我们可以创建系统自带的一些游戏对象,具体如下:Particle System:创建粒子系统Camera:创建摄像机GUI Text:创建GUI文本GUI Texture:

2016-11-11 15:20:24 378

原创 unity3D游戏开发二之unity编辑器一

通过官网我们可以下载最新的unity版本,这里我们是基于Mac OS系统的,安装步骤很简单,这里就略过了。安装完成后,打开unity,主界面如下:下面我们来看看它的界面布局,Unity界面主要包括菜单栏、工具栏以及相关的视图等内容。1、Scene视图2、Game视图3、Hierarchy视图(显示的都是游戏对象)

2016-11-11 15:18:34 717

原创 unity3D游戏开发一之初识unity

刚开始看到unity的编辑界面,确实给了我很大的震撼,相对于cocos2dx来说,强大了太多,当然cocos2dx主要是面对2D游戏的开发,unity主要是面对3D游戏的开发,当然它的范围不仅仅是游戏。下面简单介绍下unityUnity是由Unity Technologies公司开发的跨平台专业游戏引擎,它打造了一个完美的游戏开发生态链,用户可以通过它轻松实现各种游戏创意很三维互动开发,创

2016-11-11 15:14:00 1514

原创 unity3D游戏开发十五之NGUI二

接下来我们讲解下UILabel,UILabel是用来显示文本的脚本,继承自UIWidget。我们创建一个label,属性如下图:所有的label都需要Font才可正常工作。这个字体可以使Dynamic的(引用Unity Font),也可以是Bitmap字体——嵌入到Atlas里面的字体。动态字体更稳固因为它不需要你预先创建符号,但是Bitmap字体可以和你atlas的其他东西渲

2016-11-11 15:07:17 317

转载 如何制作一个简单的游戏 Cocos2d-x 2.0.4

本文实践自 Ray Wenderlich 的文章《How To Make A Simple iPhone Game with Cocos2D 2.X Tutorial》,文中使用Cocos2D,我在这里使用Cocos2D-x 2.0.4进行学习和移植,前者是用Object-C所写,所以移植到Cocos2D-x会有些差异,比如某些函数、某些功能不能跟原文一样直接实现,需另转换方法实现。之前已经对

2016-11-04 10:17:20 822

原创 Unity 脚本生命周期流程图

渲染OnPreCull: 在相机剔除场景之前调用此函数。相机可见的对象取决于剔除。OnPreCull 函数调用发生在剔除之前。OnBecameVisible/OnBecameInvisible: 在对象对于相机可见/不可见时调用此函数。OnWillRenderObject: 如果对象可见,则为每个相机调用一次此函数。OnPreRender: 在相机开始渲染场景之前调用此函数

2016-11-04 10:05:39 310

原创 Unity手游之路<十三>手游代码更新策略探讨

之前我们已经学过手机游戏的资源热更新策略了。在实际手游的开发运营中,我们需要经常修复bug,增加新玩法。这些通常都涉及到代码的更新。unity游戏代码的更新比较复杂,也存在不同的更新策略,各有优缺点,在不同的平台上做法也不尽相同。这里主要谈一些比较常用的策略和各大手机平台上的策略。大家有更好的思路,欢迎探讨。反射大部分编程语言都是支持反射的,利用反射,可以动

2016-11-04 10:02:20 289

原创 Unity手游之路<一>C#版本Protobuf

一个游戏包含了各种数据,包括本地数据和与服务端通信的数据。今天我们来谈谈如何存储数据,以及客户端和服务端的编码方式。根据以前的经验,我们可以用字符串,XML,json...甚至可以直接存储二进制。各种方式都有各自的优劣,有些性能比较好,但是实现方式比较麻烦。有些数据冗余太多。简介今天我们来学习一种广泛使用的数据格式:Protobuf。简单来说,它就是一种二进制格式,是google发起的

2016-11-04 10:00:13 332

原创 Unity手游之路<五>虚拟摇杆之Unity内置插件实现

手机游戏,尤其是mmo类的有,都少不了虚拟游戏摇杆。今天我们来学习如何利用Unity3d自带的摇杆组件,实现利用摇杆来控制角色的移动。今天所用到的例子参考了网上的一个教程(http://www.unitymanual.com/thread-5189-1-1.html),原文用JavaScript实现了。我这里用c#来实现                       具体步骤

2016-11-04 09:58:46 1221 1

转载 Unity手游之路<三> 基于Unity+Java的聊天室源码

项目介绍这是一个简单的Unity项目,实现最基本的聊天室群聊功能。登录聊天室后,用户可以输入信息进行发言,其他人可以收到消息。玩家还可以更改昵称。项目详细描述的前后端Socket通信,编码,解析二进制流的过程。这个项目的主要目标有几个:          1.实现Unity的前后端通信进制          2.学习Protobuf的应用最终的效果前端

2016-11-04 09:57:39 456

原创 Unity手游之路<六>游戏摇杆之Easy Touch 3教程

之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单。但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材;能指定在某个区域显示,或者只有在该区域触摸时才出现等等。而这些功能,Easy Touch插件都已经帮你实现了。全部是可配置。大家可以从Asset Store上购买,或者使用free版。                          

2016-11-04 09:56:30 492

原创 Unity手游之路<十二>手游资源热更新策略探讨

上一次我们学习了如何将资源进行打包。这次就可以用上场了,我们来探讨一下手游资源的增量更新策略。注意哦,只是资源哦。关于代码的更新,我们稍后再来研究。理论上这个方案可以使用各种静态资源的更新,不仅仅是assetbundle打包的。原理现在的手游安装有几种方式。一种是安装的时候就把程序和资源安装到本地。另外一种是只安装程序和少量的必要资源,然后在启动的时候再把缺少的资源下载完整

2016-11-04 09:55:27 361

原创 Unity手游之路<八>自动寻路Navmesh之入门

现在的大部分mmo游戏都有了自动寻路功能。点击场景上的一个位置,角色就会自动寻路过去。中间可能会有很多的障碍物,角色会自动绕过障碍物,最终达到终点。使用Unity来开发手游,自动寻路可以有很多种实现方式。第一种比较传统的是使用A星寻路,它是一种比较传统的人工智能算法,在游戏开发中比较常用到。大部分的页游和端游都用到这种技术。在Unity游戏也可以用这种技术,Asset Store上面已经有相关

2016-11-04 09:54:08 337

原创 Unity手游之路<十一>资源打包Assetbundle

在手游的运营过程中,更新资源是比不可少的。资源管理第一步是资源打包。传统的打包可以将所有物件制成预设Prefab,打包成场景。今天我们来一起学习官方推荐的Assetbundle,它是Unity(Pro)提供的资源打包策略。利用AssetBundle,可以将几乎所有的资源都打包封装,便于客户端更新下载新的资源。创建AssetBundle1.创建一个空的Prefab,命名Cub

2016-11-04 09:52:54 230

原创 Unity手游之路<七>角色控制器

我们要控制角色的移动,可以全部细节都由自己来实现。控制角色模型的移动,同时移动摄影机,改变视角。当然Unity也提供了一些组件,可以让我们做更少的工作,实现我们所期望的功能。今天我们就一起系统来学习相关的内容吧。Charactor Controller(角色控制器)"角色控制器允许你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体。角色控制器不受力的影响,仅仅当你调用M

2016-11-04 09:51:48 435

原创 unity3d-代码控制游戏角色控制器移动

先上一个gif看看效果。因为图片大小限制。所以录制的比较小。个人认为效果比较牵强。特别是里面的逻辑代码。 不过我还是认为一切是为了先实现,因为我是刚接触的新手。 工程结构图 这次实现的效果是: 1:摄像机跟着角色移动,上篇博客说的是。把摄像机变成角色的子对象。发现没有我想要的效果。跟着角色移动代码是我自己弄出来的。不知道实际项目中是否也是这样。

2016-11-04 09:33:36 9910

原创 Unity3d碰撞检测中碰撞器与触发器的区别

要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。物体发生碰撞的必要条件两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbo

2016-11-04 09:23:26 916

原创 Unity 编辑器下控制播放Animator

在Unity编辑器的Scene视图进行控制播放Animator,可以借助方法StartPlayback、StopPlayback、StartRecording和StopRecording,具体可以参照以下例子:创建一个带Controller的Animator对象,可以看到此时人物呈现T型姿势。附上新脚本EditAnimator,此为空脚本,如下: C#

2016-11-03 10:46:34 1423

空空如也

空空如也

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

TA关注的人

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