自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从0开始的网游ARPG实战案例:暗黑战神(第十章:战斗系统之资源制作与架构设计)

目录战斗开发分析场景制作与光照烘焙配置数据字段更新技巧客户端请求战斗逻辑服务器副本处理系统合法性检验与数据更新战斗逻辑框架介绍战斗业务系统框架代码与地图加载场景地图初始化主角人物初始化动画控制器设置角色控制界面制作技巧控制界面初始化操作数据传递状态机定义状态机切换状态管理器注入逻辑实体控制器注入逻辑实体状态输入切换测试...

2019-09-16 15:11:34 1863 1

原创 从0开始的网游ARPG实战案例:暗黑战神(第九章:任务奖励系统与副本业务系统)

第九章:任务奖励系统与副本业务系统任务奖励系统UI资源制作滑动列表选项设置技巧给Content添加两个组件来控制滑动列表。任务数据结构配置与拆分首先给在MainCityWnd界面中添加打开TaskWnd界面的方法,然后在BaseData中添加数据配置的类型,这里有两个,一个是基本的类型,另外一个是任务完成度的类型。public class Ta...

2019-09-13 20:19:12 720

原创 从0开始的网游ARPG实战案例:暗黑战神(第八章:世界聊天系统与资源交易系统)

目录世界聊天系统与资源交易系统世界聊天系统界面开发世界聊天系统开发1世界聊天系统开发2世界聊天系统开发3世界聊天系统开发4世界聊天系统开发5世界聊天系统开发6世界聊天系统开发7示范调试解决bug流程制作通用购买窗口资源交易系统开发1资源交易系统开发2资源交易系统开发3资源交易系统开发4资源交易系统开发5消息频率定时控制客户端整...

2019-09-03 21:33:35 857 1

原创 unity常见面试题

1. 游戏对象问题:游戏对象消失三种方法的区别?(enabled/Destroy/active)gameObject.renderer.enabled=fasle是控制一个物体是否在屏幕上渲染或显示 而物体实际还是存在的 只是想当于隐身 而物体本身的碰撞体还依然存在的GameObject.Destroy()表示移除物体或物体上的组件 代表销毁该物体 实际上该物体的内存并没有立即释放 ...

2019-09-03 15:32:37 9624

转载 Unity3d——4种灯光的简介

灯光Light一、简介光源 (Lights) 是每个场景的重要组成部分。网格和纹理决定了场景的形状和外观,而光源则决定了三维环境的颜色和氛围。您可能会在每个场景中使用多个光源。让它们一起工作需要一些实践,但结果却相当惊人。二、灯光类型Unity 5.5中有 4 种灯光。创建灯光的方式同创建其他游戏对象的方式相似:(1)Directional方向光源。这种类型的灯光可以被放...

2019-09-03 14:31:25 1547

原创 Unity3D面试题整合

目录第一部分第二部分第三部分第四部分第一部分:1、C#有几种数据类型?答:C#通常分为三种数据类型:值类型(ValueType)、引用类型(Reference types)和指针类型(Pointer types)。值类型可以直接分配给一个值。它们是从类System.ValueType中派生的。值类型直接包含数据。比如int、char、float,它们分别...

2019-09-03 11:54:02 19672

原创 从0开始的网游ARPG实战案例:暗黑战神(第七章:强化升级系统)

目录第7章: 强化升级系统制作强化界面UI图片点击事件注册点击事件传参位置列表显示控制配置数据生成技巧强化升级数据解析开发思路讲解强化升级存储结构强化升级系统逻辑1强化升级系统逻辑2强化升级系统逻辑3强化升级系统逻辑4强化升级系统逻辑5强化升级系统逻辑6强化升级系统逻辑7​强化升级系统逻辑8强化升级系统逻辑9解决战力计算b...

2019-08-29 09:03:38 2753

原创 从0开始的网游ARPG实战案例:暗黑战神(第五六章:主城角色控制和任务引导系统)

目录第5章: 主城UI逻辑及角色控制制作主城场景主城UI界面制作​跳转主城场景增加角色属性主城UI显示逻辑分段经验条制作经验条自适应​下线数据清理主菜单动画制作动画播放控制摇杆插件制作1摇杆插件制作2摇杆插件制作3摇杆插件制作4主角人物制作主角运动控制平滑动画过渡生成与解析主城配置数据加载主角到主城主城碰撞体制作...

2019-08-05 17:41:35 2785 3

原创 从0开始的网游ARPG实战案例:暗黑战神(第一章至第四章:设计登陆和创建角色功能实现)

目录第1章: 初始场景与UI界面制作登录场景制作制作登录界面UIUI自适应原理制作角色创建界面​制作Tips动态提示界面制作Loading进度界面第2章: UI逻辑框架与配置文件客户端开发环境配置UI逻辑框架介绍游戏启动逻辑异步场景加载更新场景加载进度登录注册界面逻辑UI窗口基类音效播放服务业务系统层基类Tips弹窗显示设...

2019-07-19 16:52:10 5348 6

原创 游戏热更新实战案例(基于xLua)

xlua.hotfix(CS.Treasour,'CreatePrize',nil)本课程主要是基于一个捕鱼达人使用xLua进行热更新。lua虚拟环境的搭建创建一个HotFixScript脚本进行lua虚拟环境的搭建using System.Collections;using System.Collections.Generic;using UnityEngine;usi...

2019-05-29 11:13:27 2095

原创 xLua游戏中的热更新(基于Unity2018)

什么是热更新热:就是刚出炉简单来说就是当游戏某个功能出现bug,或者修改了某个功能,或者增加了某个功能的时候,我们不需要重新下载安装安装包,就可以更新游戏内容。热更新的好处:不用浪费流量重新下载,不用通过商店审核更加快速,不用重新安装玩家可以更快体验到更新的内容目前比较受欢迎的热更新方案:uLua tolua xLua热更新方案这些热更新方案都是基于Lua语言的...

2019-05-24 18:19:37 18793 1

原创 Lua编程

Lua是什么Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Lu...

2019-05-21 21:34:51 332

原创 AssetBundle(创建打包)入门学习(基于Unity2018)

AssetBundle的定义和作用1,AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载; 2,AssetBundle自身保存着互相的依赖关系; 3,压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输; 4,把一些可以下载内容放在AssetBundle里面,可以减少安装包的大小;什么是AssetBu...

2019-05-18 21:49:32 1129

原创 Unity高度解耦和 - 事件的监听与广播系统(Unity2018)

创建添加监听的方法CallBcak.cspublic delegate void CallBack();public delegate void CallBack<T>(T arg);EventType.cspublic enum EventType{}EventCenter.csusing System;using System.Collec...

2019-05-15 20:24:13 637 1

原创 定时回调系统技术专题(Unity客户端)

游戏物体生命周期场景中的游戏物体通过脚本来控制其具体行为。 生命周期流程图:点击跳转 脚本里重点事件函数: Awake:游戏物体实例化后并处于激活状态时调用,即使脚本组件没有激活也会调用,而且总是在Start()函数之前调用 OnEnable:游戏物体与脚本组件激活时调用(会反复触发) Start:游戏物体与脚本组件处于激活状态,在Update()运行前调用(只调用一次,当物体关...

2019-05-14 20:52:56 783

原创 背包系统 装备系统和锻造系统 - 基于Unity2018 UGUI

设计物品的UML类图开发Item物品类using System.Collections;using System.Collections.Generic;using UnityEngine;//物品基类public class Item { public int ID { get; set; } public string Name { get; set;...

2019-05-10 19:45:39 3797 4

原创 Unity编辑器扩展(Advanced Editor Scripting)

课程开发介绍创建一个Unity3D工程,名字叫做Advanced Editor Scripting。 创建一个Editor的文件夹,在打包时不会被打包。使用MenuItem添加菜单栏按钮创建一个名为Tools的脚本,添加下面的代码using UnityEditor;using UnityEngine;public class Tools { [MenuItem...

2019-04-26 10:38:34 841

原创 二次元日系游戏制作工具 - live2dSDK项目实战

导入素材创建场景游戏开始场景制作星星闪耀动画的制作特效孵化器添加一个EffectSpawn脚本,用来泼撒花瓣和爱心using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 特效孵化器/// </summary...

2019-04-15 19:27:43 3166 1

原创 二次元日系游戏制作工具 - live2dSDK入门教程

1.Live2d的sdk接入与素材模型的导入导入该素材模型和Live2d的sdkLive2D模型制作到显示的基本流程:1.初始化模型。 1.制作模型(读取moc文件)。 2.与贴图建立关联。 3.与绘图环境建立链接。(有些平台不需要)。 4.制定显示位置与尺寸。2.更新模型状态。 1.更新顶点。...

2019-04-11 21:15:58 68864 5

原创 算法(C#版)动态规划和贪心算法

动态规划(Dynamic Programming)什么是动态规划,我们要如何描述它?动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。动态规划和分治法相似,都是通过组合子问题的解来求解原问题。分治法将问题划分成互不相交的子问题,递归求解子问题,再将他们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公...

2019-04-04 16:56:44 2890

原创 算法(C#版)堆

堆堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于等于其左右孩子结点的值,称为小顶堆!堆排序堆排序算法就是利用堆(小顶堆或者大顶堆)进行排序的方法。 将待排序的序列构造成一个大顶堆,此时整个序列的最大值就是根节点。将它移走(跟堆的最后一个元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序列重新构造成一个堆,这...

2019-03-31 11:09:30 251

原创 算法(C#版)树

树(数据结构的一种 )树什么是树的层次?最大层是树的深度什么是有序树和无序树?树的错误案例1,树只有一个根节点2,子树之间是不相交的3,一个结点不能有两个父结点树的存储结构我们使用链式存储来表示树。二叉树性质二叉树存储结构一般的树来说是一对多的关系,使用顺序结构存储起来比较困难,但是二叉树是一种特...

2019-03-31 10:02:57 223

原创 算法(C#版)分治算法

分治算法分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。可使用分治法求解的一些经典问题:(1)二分搜索(2)大整数乘法(3)Strassen矩阵乘法(4)棋盘覆盖(5)合...

2019-03-30 11:04:15 551 1

转载 特殊矩阵的压缩存储

特殊矩阵的主要形式有:(1)对称矩阵(2)上三角矩阵/下三角矩阵(3)对角矩阵它们都是方阵,即行数和列数相同。一、对称矩阵的压缩存储若一个n阶方阵A[n][n]中的元素满足a i,j=a j,i(0≤i,j≤n-1),则称其为n阶对称矩阵。由于对称矩阵中的元素关于主对角线对称,因此在存储时可只存储对称矩阵中上三角或下三角中的元素,使得对称的元素共享一个存储空间。这...

2019-03-26 10:40:58 582

原创 数据结构(C#版) 排序

排序排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题。例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困难。同样,存储在计算机中的数据的次序,对于处理这些数据的算法的速度和简便性而言,也具有非常深远的意义。基本概念排序是把一个记录(在排序中把数据元素称为记录)集合或序列重新排列成按记录的某个数据项值递增(或递减)的序列。下表是一个学生成绩表,其...

2019-03-16 20:38:37 401

原创 数据结构(C#版) 串和数组

串在应用程序中使用最频繁的类型是字符串。字符串简称串,是一种特殊的线性表,其特殊性在于串中的数据元素是一个个的字符。字符串在计算机的许多方面应用很广。如在汇编和高级语言的编译程序中,源程序和目标程序都是字符串数据。在事务处理程序中,顾客的信息如姓名、地址等及货物的名称、产地和规格等,都被作为字符串来处理。另外,字符串还具有自身的一些特性。因此,把字符串作为一种数据结构来研究。串的基本概念...

2019-03-16 18:05:34 294

原创 数据结构(C#版) 栈和队列

栈和队列栈和队列是非常重要的两种数据结构,在软件设计中应用很多。栈和队列也是线性结构,线性表、栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的操作不受限制,而栈和队列的操作受到限制。栈的操作只能在表的一端进行,队列的插入操作在表的一端进行而其它操作在表的另一端进行,所以,把栈和队列称为操作受限的线性表。栈栈(Stack)是操作限定在表的尾端进行的线性表。...

2019-03-11 21:05:53 309

原创 数据结构(C#版) 线性表

什么是线性表线性表是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象(Abstract),线性结构的特点是结构中的数据元素之间存在一对一的线性关系。这种一对一的关系指的是数据元素之间的位置关系,即:( 1)除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素;( 2)除最后一个位置的数据元素外,其它数据元素位置的后面都只有一个元素。也就是说,数据元素是一个接一个的排列。...

2019-03-10 15:17:41 224

原创 数据结构(C#版) 绪论

基本概念和术语1、 数据(Data)计算机程序处理各种各样的数据,可以是数值数据,如整数、实数或复数;也可以是非数值数据,如字符、文字、图形、图像、声音等。2、 数据元素(Data Element)和数据项(Data Item)数据元素是数据的基本单位,在计算机程序中通常被作为一个整体进行考虑和处理。一个数据元素可由若干个数据项(Data Item)组成。数据项是不可分割的、含有独...

2019-03-05 16:41:10 221

原创 Unity案例课程 - 涂鸦跳跳 Day 2

1.随机生成Tile(一)在GameManager中添加随机生成砖块和从资源池取出物体的代码 public enum ObjectType{ Tile, Item, Coin, Enemy, Bullet} //tile池子 public Queue&lt;GameObject&gt; tilePool = new Q...

2019-01-07 16:15:59 1035 10

原创 Unity案例课程 - 涂鸦跳跳 Day 1

1.游戏分析 2.资源导入3.背景调整4.图片自适应在platform上添加Adjust脚本,让它自适应相机using System.Collections;using System.Collections.Generic;using UnityEngine;public class Adjust : MonoBehaviour{ private...

2018-12-24 16:32:14 2992 4

原创 Unity初级案例 - 吃豆人(Unity2017.2.0)Day 2

1.用代码控制动画状态机及设置渲染顺序 //获取移动方向 Vector2 dir = dest - (Vector2)transform.position; //把获取到的移动方向设置给动画状态机 anim.SetFloat("DirX", dir.x); anim.SetF...

2018-12-14 16:51:10 3627 2

原创 Unity初级案例 - 吃豆人(Unity2017.2.0)Day 1

1.创建工程与导入素材2.素材图片的参数设置创建游戏初始地图3.迷宫的物理化给迷宫添加碰撞体4.制作吃豆人上下左右状态下的动画创建吃豆人的动画,并且把 它拖入迷宫中5.动画状态机简介与吃豆人运动参数分析6.完成吃豆人动画状态机的设置通过DirX和DirY来对吃豆人的状态机进行转变7.吃豆人的物理化以及移动方式的选择在吃豆人上创建P...

2018-12-12 21:39:16 4789

转载 常用网站分享

首先分享下我自己收藏的网站:Unity官方学习:https://unity3d.com/cn/learnUnity论坛:https://forum.unity3d.com/Unity圣典:http://www.ceeger.com/Unity圣典论坛:http://www.ceeger.com/forum/index.php?c=cate&amp;fid=1)Unity Tec...

2018-12-12 16:45:11 733

原创 愤怒的小鸟 Day 4(完结)

目录1.处理关卡界面星星个数的显示2.关卡之间的切换3.地图切换,制作多个关卡4.snap settings使用介绍5.地图面板信息显示6.异步加载场景7.发布游戏1.处理关卡界面星星个数的显示在LevelSelect中添加下面的代码 public GameObject[] stars; private void Start() {...

2018-12-11 20:21:51 378

原创 愤怒的小鸟 Day 3

目录1.添加镜头跟随2.音乐的添加3.添加黄色小鸟4.添加绿色的小鸟5.添加黑色小鸟6.处理黑色小鸟的爆炸问题7.处理星星数组越界的问题8.制作选择地图UI界面10.制作关卡选择界面11.添加地图选择和关卡选择界面的交互12.存储关卡星星数据13.关卡选择,场景跳转1.添加镜头跟随在Bird中添加相机跟随的脚本//相机跟随 ...

2018-12-10 19:45:40 464

原创 愤怒的小鸟 Day 2

目录1.游戏逻辑的判定,实现多只小鸟的飞出2.解决重复划线,小鸟轮换速度突然变大的问题3.添加小鸟飞出的拖尾效果4.整合场景,解决无法显示划线弹弓的问题5.添加失败,胜利的游戏UI界面6.修改火花粒子系统7.让星星一颗一颗的显示8.添加暂停动画9.添加鼠标注册事件1.游戏逻辑的判定,实现多只小鸟的飞出生成GameManager脚本,添加小鸟和猪的列表,...

2018-12-03 20:59:27 366

原创 愤怒的小鸟 Day 1

目录1.资源导入,场景简单搭建2.springjoint组建介绍3.小鸟的拖拽4.拖拽距离最大限定5.小鸟的飞出6.猪的受伤7.弹弓划线操作9.死亡、加分特效的制作1.资源导入,场景简单搭建2.springjoint组建介绍给小鸟添加SpringJoint2D组件3.小鸟的拖拽首先在小鸟身上添加Circle collider ...

2018-11-19 21:52:32 1122

原创 Unity初级案例 - 坦克大战 Day 3(完结)

目录1.敌人AI的优化,游戏测试2.玩家状态的管理3.UI的制作4.第一个场景的制作5.音效的添加6.拓展功能的制作思路1.敌人AI的优化,游戏测试敌人碰撞之后方向进行转换 private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObje...

2018-11-18 10:00:27 728 1

原创 Unity初级案例 - 坦克大战 Day 2

目录1.空气墙的制作,标签的添加2.玩家无敌方法与死亡方法的编写3.区别玩家的子弹与敌人的子弹4.修复bug,制作敌人的子弹5.敌人的制作,玩家产生效果的添加6.用同样的产生特效随机生成两种敌人7.敌人AI的编写8.初始化地图工具的创建9.编写产生随机位置的方法10.初始化地图其他的游戏物体1.空气墙的制作,标签的添加在Bullet添加完善碰撞检测...

2018-11-17 15:44:38 3493 2

空空如也

空空如也

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

TA关注的人

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