移动游戏开发
文章平均质量分 66
即步
博客地址:blog.liujunliang.com.cn
展开
-
Visual Studio Code打开UE4工程的正确方式
下载VS Code,并安装下图两个插件中途安装时候可能需要要求安装.Net SDK,按提示安装一下即可打开工程的Editor模式,打开编辑器偏好设置修改为VS Code作为项目的代码编辑器用VS Code便可打开工程了打开VS Code即可编译我们的UE4工程了!...原创 2019-07-22 15:02:59 · 5219 阅读 · 0 评论 -
UI框架(UGUI)
整个游戏的工程源码下载链接:点击打开链接可以参考的写的Demo和本文章来学习毕竟有些细节问题在文章中不能一一说到工具:VS2010、Unity5.2.3f先介绍整个Demo的主面板其中任务、技能、符文等等都是按钮,点击按钮会生成相应面板【Protobuf的生成与解析】要使得框架的可扩展性与自适应性,我把各个面板的名字与路径配置到protobuf文件在VS中...原创 2017-03-27 08:41:30 · 8672 阅读 · 7 评论 -
ULua热更新
工具:VS、Unity5.2.3f、LuaStudio(方便编写Lua)、SimpleFramework_UGUI-0.3.7.2建议下载我写的一个Demo点击打开链接和本文一起参考!!!Demo介绍如何使用uLua对UI进行热更新【框架结构介绍】Editor:一些编辑器扩展的脚本代码Example:一个热更新例子介绍Lua:实现热更新的核心lua代码Sourc原创 2017-03-24 17:56:52 · 2701 阅读 · 6 评论 -
StrangeIoc MVCS游戏框架
StrangeIoC框架是MVC框架的扩展采用一种MVCS框架,在Unity3d中得到很好的应用下图是StrangeIoC的框架图:【ROOT模块】开启整个框架启动的模块【MVCS Context模块】为了减小整个框架的耦合性,可以将各个模块之间进行依赖绑定可以实现注入绑定(injectionBinder)、命令绑定(commandBinder)、传递绑定(comm...原创 2017-04-02 12:56:27 · 4905 阅读 · 3 评论 -
Unity3D实现多语言本地化
一款游戏可能有多个语言版本,各个版本的语言不相同,有中文的、英文的等多种版本在开发时,我们一般将关键字翻译到一个文本文件当需要对游戏的关键字翻译后,只需要对文件进行解析做相关处理接下来我做一个简单Demo,介绍创建一个简单语言本地化项目先在Scene视图下创建两个按钮,如下图在Project视图下新建一个Resources文件夹在Resources文件夹下新建两个名为...原创 2017-04-07 15:59:02 · 14216 阅读 · 0 评论 -
Unity3D自定义资源配置文件
配置资源文件估计大家了解很多,比如XML、JSON、Protobuf、Excel、TXT等等在开发过程中,将游戏数据序列化到配置文件中,项目运行时读取配置文件中的数据本文另外介绍一个Unity的配置文件(.asset)该配置文件的优点:当我们需要将游戏资源里的贴图(Texture)、游戏对象(Gameobject)等预设体保存到配置文件时,这时我们就可以使用该配置文件但是当关联...原创 2017-04-08 16:42:13 · 7953 阅读 · 0 评论 -
Unity中的AssetBundle
我在以前写过一篇文章关于制作与加载AssetBundle,但是觉得那个有些由于版本过低,有些方法以被弃用了,在这里我从新分享了一篇工具:unity5.5【AssetBundle的制作】以制作一个Cube预制体为例,将Cube打包到AssetBundle文件里点击Cube,在属性面板上底下按如下图操作,可以自行命名在Assets文件夹新建一个Editor文件目录,并创建一原创 2017-03-21 21:32:20 · 2413 阅读 · 0 评论 -
Lua与.Net互调
Lua是一种很好的扩展性语言,由C语言编写,Lua解释器被设计成一个很容易嵌入到宿主程序的库我们可以使用LuaForWindows或则LuaInterface得到LuaInterfaxe,dll文件在这里我提供LuaInterface包,方便大家下载【开发环境的配置】新建一个C#控制台应用程序解压下载下来的luainterface资源包,根据如下图的路径找到三个.dll原创 2017-03-21 19:02:30 · 4640 阅读 · 1 评论 -
Unity制作技能冷却效果
在制作ARPG等游戏时,主角的技能往往需要的到冷却才能释放本文介绍在Unity中如何简单实现技能冷却效果【Mask组件的使用】首先制作技能图标创建一个UI->ImageImage选择Unity自带的圆形图片在Image下添加一个按钮作为子节点,并适当放大按钮选择一张精灵图片作为按钮图案在Image下添加Mask组件Mask中文名叫面具该组件的作用是 只显示I原创 2017-03-04 21:10:08 · 11172 阅读 · 1 评论 -
Unity对象池技术
在游戏中,常常需要对有些游戏对象进行反复的创建销毁,比如游戏中的子弹,敌人反复的创建与销毁将浪费一定的系统资源引入对象池技术,可以将暂时不需要用到游戏对象放在对象池(缓冲区),当需要使用到时再从对象池中提取这里我简单学习了下关于对象池,现在分享出来,写下自己的对对象池的理解using UnityEngine;using System.Collections.Generic原创 2017-03-02 14:00:31 · 1396 阅读 · 0 评论 -
Unity数据的加密与解密
好久没有更新博客了在这里分享在Unity中对数据的加密与解密的处理加密与解密一般可以应用到文件配置,但是我主要运用到客户端与服务器端交互时候【加密】using UnityEngine;using System.Collections;using UnityEngine.UI;using System;using System.Text;using System.S原创 2017-03-01 17:36:31 · 5339 阅读 · 1 评论 -
连接MySQL Connector(.net)
MySQL Connector封装了MySQL API,通过调用MySQL Connector接口更加方便访问MySQL数据库【安装MySQL Connector】在安装MySQL时可以添加安装MySQL Connector选项在这里我通过VS Nuget程序包下载安装MySQL Connector中的Mysql.Data1、右键项目工程,选择管理Nuget程序包2、搜原创 2017-02-23 22:44:56 · 4924 阅读 · 0 评论 -
Unity3D协程
在开始介绍Unity3D协程之前我先来剪刀区分下线程线程:实现多个任务在同一时间内执行(实际是在很短的时间片内对个多个任务的执行来回切换,从而达到“同时的效果”),比较消耗系统资源协程:实现一个任务在不同时间内分段执行,相对游戏来说系统开销不大【协程的创建】开启一个协程 //开启协程 //首先会调用下协程函数里面的内容 St原创 2017-01-01 16:11:22 · 699 阅读 · 0 评论 -
Unity实现物体镜像
通过一个模型的MeshFilter和MeshRenderer组件来获取模型的顶点与网格信息按指定轴向、指定距离克隆一个出来【生成镜像顶点】将顶点位置按轴方向取反方向,返回各个顶点信息private Vector3[] GenerateVertices(Vector3[] backVertices) { Vector3[] newVertices ...原创 2017-03-27 13:13:39 · 11798 阅读 · 0 评论 -
Unity背包系统(二)背包UI设计
上篇文章介绍了背包系统开发中需要使用到数据存储本人使用并介绍LitJson进行生成、解析Json文件在本文介绍背包系统的UI设计大家别小瞧这个UI设计,一个好的UI设计方便我们管理,并且对代码扩展性与自适应性起到至关重要作用【背包面板的设计】先来看看UI图(图片自己在网上找到,不太好看)该背包U里面有很多矩形方框,我叫做物品槽,用于存放物品该背包UI目录原创 2017-04-19 19:20:00 · 9066 阅读 · 2 评论 -
Unity背包系统(一)使用LitJson库创建并解析Json文件
最近在做一个背包系统,搭建一个背包系统框架,方便代码在以后的游戏开发中直接使用该背包系统也很好地扩展为锻造系统、商店系统等等在这篇文章中我介绍下使用LitJson这个库来创建并解析Json文件(在这系列文章结束篇我会把这些子项目串联起来,介绍实现整个背包系统)背包系统系列文章会陆续更新,如果大家感兴趣的话可以关注下的博客,同时提供整个工程源码方便大家下载来学习首先下载LitJson...原创 2017-04-19 18:12:36 · 8822 阅读 · 4 评论 -
Unity3d使用UGUI开发原生虚拟摇杆
在Unity3d中开发虚拟摇杆方式有比较多,可以使用EasyTouch、FairyGUI等插件来开发。本文给大家介绍使用Unity3d的原生UGUI来开发出自己的虚拟摇杆,这样可以减少游戏资源包的大小。先展示下效果图:现在开发我们的开发创建一个Image1,并且在Image1创建一个子对象Image2在Image1中挂载一个自定义脚本,这里我命名为Joystick脚本代码如下using Syste...原创 2018-04-17 11:22:44 · 6763 阅读 · 6 评论 -
Unity实现卷纸浏览效果
首先附上效果图:在网上看到了一个卷纸效果,感觉很有趣,自己实现了一下,这个Demo源码我也将上传先设计每个Image对象的的特定属性及函数创建一个脚本,将其挂载到每个Image对象上using System.Collections;using System.Collections.Generic;using UnityEngine;public clas原创 2017-05-11 19:24:16 · 6870 阅读 · 5 评论 -
Untiy轻量级网络开发-Tnet客户端服务器编程
在我们的项目实践中,需要对自定义的一些数据包进行处理在这里介绍在unity平台上使用tnet网络引擎实现客户端与服务器中的数据交互我在这里以登录注册功能来介绍tnet的使用开发工具:VS(VS2012)(脚本编辑、生成服务器端) Unity(Unity5.x) (客户端) LitJson (将类对象转化为json数据,方便网络数据的原创 2016-12-29 15:58:46 · 2477 阅读 · 0 评论 -
Unity烘焙动态光照实现光源优化
本文使用Unity5.x版本,由于Unity4.x到Unity5.x更换了光照引擎,所以本文内容只适合于Unity5.x版本本文向大家介绍Unity烘焙动态光照来实现光源优化什么是动态光源?Unity灯光默认是实时光照,也就是说物体在灯光下不同位置产生不同灯光灯光效果什么是烘焙动态光源?由于动态光源在实时光照下会大量的Setpass Calls(Draw Calls)为了减...原创 2017-04-26 13:41:12 · 14330 阅读 · 0 评论 -
Unity摄像机遮挡剔除(Occlusion Cullings)
在之前很多小伙伴在做游戏优化时发现,为了使摄像机没有看到的部分隐藏起来达到但是使用勾选了摄像器的Occlusion Culling属性还是无法实现目标效果这是因为只是赋予了摄像机具有遮挡剔除功能具体怎么实现遮挡剔除还需要自己手动操作,步骤如下在下图我为了测试,在场景中做如下游戏对象将能被遮挡的游戏对象在Inspect属性面板上设置为静态(Occluder一定要勾选,原创 2017-04-23 22:02:04 · 16695 阅读 · 2 评论 -
Unity游戏开发性能优化(Sprite优化)
本文向大家介绍Unity Sprite优化通过减少Setpass Calls(Draw calls)数来减少性能消耗直接进入正题我随便在网上找到几张图片,将其拖到Hierachry面板此时运行游戏,观察Game试图下的Stats窗口,此时Setpass calls数为4(包括场景的Setpass calls)我们的方法是将图片打包成一张图片,在游戏运行时,unity只会...原创 2017-04-23 20:45:41 · 7143 阅读 · 0 评论 -
Unity游戏开发性能优化(Mesh优化)
游戏开发中,有时一个模型离我们的主摄像机很远时,为了提升渲染效率没必要按原来的三角面数和顶点数继续浪费资源这是我们想通过减少模型的三角面数和顶点数来提升运行性能如下图,依次减少三角面数减少三角面数和顶点数可以叫我们的美术师一并提供给我们做好,但是这样非常麻烦,很耗人力这里推荐大家一个插件资源Simple LOD点击打开链接(链接失效联系作者)该插件一键帮助我们创建多个LOD...原创 2017-04-23 19:56:55 · 8100 阅读 · 5 评论 -
Unity Avatar换装原理实例
本文向大家介绍Unity换装原理及其简单实现首先附上效果图:本文的源码我将上传提供大家下载实现原理:控制角色SkinMeshRenderer组件的mesh、materials、bones属性来实现角色换装在该Demo素材中,主角是由多个网格拼接完成其中网格对象上添加了SkinMeshRenderer组件,并指定了material、mesh、root bone我们原创 2017-05-13 17:53:52 · 11282 阅读 · 1 评论 -
Unity实现众多平台一键社会化分享(ShareSDK)
本文介绍在游戏中向好友分享图片、链接等数据使用ShareSDK可以实现多个平台的分享,比如新浪、支付宝、QQ、QQ空间、领英等几十中常用应用的好友分享并且博主已经打包实现到了安卓,源码我上传了,需要的话可以下载参考!!!点击打开链接开发环境的准备进入ShareSDK官网,下载ShareSDK For Unity(我也上传了一份点击打开链接)按如下图路径把Plugins目...原创 2017-04-21 23:28:43 · 9632 阅读 · 1 评论 -
Unity实现UI渐变效果(UGUI)
在做背包系统时,在提示面板中想实现的更加炫酷点,决定使用渐变效果来提示档次渐变效果实现采用改变该UI的透明度来控制其显示和隐藏在UI对象上添加Canvas Group组件通过控制Alpha改变其透明度来控制显示和隐藏(Alpha=0隐藏;Alpha=1显示)(Blocks Raycasts=true可以交互;Blocks Raycasts=false无法交互)添加一个脚本...原创 2017-04-19 20:50:57 · 23003 阅读 · 4 评论 -
Unity游戏开发实现短信验证(SMSSDK)
在游戏开发中登录、修改密码等情况下往往需要使用短信验证本文介绍在Unity中访问SMSSDK来实现短信验证这一功能实现了在Android平台上运行,我已经上传了本文源码点击打开链接,大家可以下载参考学习(含APK、SMSDK)大家也可以访问其官网来下载最新SMSSDK准备开发环境解压下载下来的SMSSDK,按下图路径将Plugins目录拖到Unity Asset目录下原创 2017-04-22 12:49:35 · 9436 阅读 · 1 评论 -
Unity制作《水果忍者》刀光特效
最近在甬道Unity中的LineRenderer组件的时候,突发奇想,想到怎么实现水果忍者的刀光特效制作起来并没有想象的那么难,只是想让其逼真起来的话需要一张好的材质贴,博主找了一张不是很完美的贴图,实现了下效果图如下该Demo源码我将上传,提供大家下载接下来先介绍使用LineRenderer来绘图在Hierachy面板上创建3D->Panel,调整摄像机位置,原创 2017-04-29 15:47:16 · 8867 阅读 · 5 评论 -
Scut游戏服务器引擎搭建
【安装】安装工具:MySQL、SQLyog、IIS、Scut一.搭建IIS服务器,IIS搭建过程我在有一篇文章说到点击打开链接二.下载Scut引擎,在这里我上传了三.安装MySQL、SQLyog【配置】/*Scut与IIS连接*/打开IIS管理器后,新建一个网站将Scut-master(以提供)解压缩,将路径\Scut-master\Source\Tools原创 2017-01-10 22:53:32 · 4049 阅读 · 0 评论 -
基于WWW的get请求Demo
开发先知:点击打开链接开发工具:unity、VS2010打开VS,新建项目选择web-web应用程序右键项目,按如下图添加一般处理程序在Handler.ashx.cs修改代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;原创 2017-01-09 23:32:15 · 1220 阅读 · 0 评论 -
Behavior Designer行为树的使用
一款优秀游戏的人工智能AI至关重要,行为树插件帮助我们在AI逻辑处理更加方便、简洁、清晰行为树是分为四种节点:Composites 组合节点(Sequence相当于and“”、Selector相当于“or”)Decorators 装饰节点(作为额外附加的节点,如时间间隔控制、频率控制、结果取反、错误处理、次数控制等)Actions 行为节点(相对应动作的原创 2016-12-08 12:43:03 · 2693 阅读 · 0 评论 -
Unity5.x制作FPS游戏
FPS(第一人称设计游戏)在本文中介绍主要技术点,可以借鉴本游戏工程源码来分析点击打开链接,谢谢支持一.枪支的创建在GamePlaying.cs中接收鼠标左击事件,当触发后机枪将进行开火,播放音效,抖动,子弹实例化的状态GamePlaying.csusing UnityEngine;using System.Collections;public class GameP原创 2016-11-27 16:42:06 · 3766 阅读 · 0 评论 -
Unity5.x制作RPG游戏
先展示下运行效果图:这里主要介绍主角的控制,敌人的AI逻辑,相机的跟随可以参考游戏源码来分析一.主角的控制添加寻路组件,以及Animation动画组件CustomEvent.csusing UnityEngine;using System.Collections;public class customEvent : MonoBehaviour { //原创 2016-11-27 17:29:41 · 4901 阅读 · 2 评论 -
Unity与Android通信
一.开启Android的一个工程,点击File下新建如下图所示New Module二.选择Android Library三.为Library命名,在这里我命名为BmobPay四.选中如下图的两个.xml文件,右键选择点击delete,删除五.安装unity,在unity的安装目录下,找到以下图文件路径,复制classes.jar文件六.将上个原创 2016-11-29 12:53:18 · 3022 阅读 · 0 评论 -
Android Studio调用Bmob SDK实现支付
在之前的一篇文章中介绍了Unity与Android Studio相互通信在这里介绍使用Android Studio调用Bmob SDK,接而实现Unity与Android通信达到游戏支付功能原创 2016-12-01 13:27:06 · 3718 阅读 · 0 评论 -
Unet 网络组件的使用
Unity自带的 Unet 网络组件帮助我们快速开发网络游戏这里我简单利用Unet 组件搭建了一个Unity官网介绍的小游戏游戏截图:相当于一款简单的TPS游戏,在这里游戏模型很简单,只由几个常见几何体构建完成一.主角的联机同步创建一个空对象,命名为Network Manager,在其添加Network Manager和Network Manager HUD原创 2016-12-03 16:19:25 · 3924 阅读 · 1 评论 -
Unity创建角色血条
本文使用UGUI实现一个类似于英雄联盟样游戏的的角色血条一.创建一个 Slider UI,将Whole Number勾选上二.删除里面的Handle三.选择Fill,删除其挂载的Image组件,挂载一个自定义名为OutputTexture的C#脚本组件四.代码如下:using UnityEngine;using UnityEngine.UI;原创 2016-12-06 22:32:09 · 3809 阅读 · 0 评论 -
Unity5.x制作合金弹头(四)-相机的跟随
游戏源码下载进入下载在主角移动时,相机需要跟随主角本节简单,直接贴上代码using UnityEngine;using System.Collections;using DG.Tweening;public class CameraForllow : MonoBehaviour{ private Transform playerTransform; // Use原创 2016-11-25 18:30:55 · 1140 阅读 · 0 评论 -
Unity5.x制作合金弹头(三)-敌人AI逻辑
敌人的动画的制作与主角的动画制作类似,在这里就不重复介绍了,可以参照主角的动画制作点击打开链接主要介绍敌人的AI行为逻辑敌人往主角方向移动,如果离主角在一定的距离内,向主角发起攻击.// Update is called once per frame void Update () { if (EnemyToWalk()) { enemyAnim.PlayEne原创 2016-11-25 18:20:07 · 1322 阅读 · 0 评论 -
Unity3d常用函数汇总
一. Vector3 newForward=Vector3.Slerp(transform.forward,new Vector3(0,1,0),Time.deltaTime);球行插值函数:即一个向量在一定时间间隔内绕着起点旋转到终止向量位置参数一:起始位置向量参数二:终止位置向量参数三:从起始向量到终止向量的时间,当为1时则完成如:for(int i=1;i{Vec原创 2016-11-24 11:17:29 · 4989 阅读 · 0 评论