摘要:最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Struct Change机制,方便大家上手学习掌握Unity DOTS开发。 基于ArchType与Chunk的Entity管理机制 我们回顾以下ECS的内存管理核心机制,基于ArchType+Chunk的Entity管理模式。每个Enti
阅读全文
摘要:上一节我们給大家介绍了BEPUphysicsint的基本使用,在游戏开发中我们经常要使用物理引擎的事件,所以本节我们详细的讲解BEPUphysicsint 的物理事件。此物理引擎会产生了碰撞事件与非碰撞事件,碰撞事件大家好理解,非碰撞事件例如: 物理Entity的update事件,Entity的ac
阅读全文
摘要:帧同步的游戏中如果用物理引擎,为了保证不同设备上的结果一致,需要采用定点数来计算迭代游戏过程中的物理运算。也就是我们通常说的定点数物理引擎(确定性物理引擎)。本系列教程给大家详细的讲解如何在你的项目中内置一个确定性物理引擎。确定性物理引擎我们使用github上开源的物理引擎BEPUphysicsin
阅读全文
摘要:我们在开发游戏的时候经常会遇到这样的问题,当我们寻路的时候,其它人也在寻路,如何避免不从其它人的位置穿过。这个叫做动态避障,目前主流的解决方案就是RVO。本节我们来介绍一些Unity 实现RVO的相关资料,后续在详细的讲解ROV算法的原理。 先給大家介绍一个RVO2 Library 的项目,这个项目
阅读全文
摘要:ECS 为什么会高效,性能好,Entity的内存布局与分配就是非常重要的部分,今天我们一起来分析一下Unity ECS 架构里面如何来做高效的内存分配器。这种思路也可以给我们做内存分配提供很好的一个思路。 1: ECS 里面基本的一些概念 Unity ECS框架里面有几个重要的概念: Entity,
阅读全文
摘要:游戏支付系统如何架构与设计 目前游戏开发中主流的支付是微信支付,支付宝支付,苹果支付等。今天来给大家分享一下游戏中支付系统如何架构与设计。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。 游戏支付中的主要业务流程 在设计游
阅读全文
摘要:游戏排行榜是一个很重要的功能,在弱联网的单机游戏与网络游戏中排行榜都是非常重要的,今天我们来详细的讲解游戏排行榜的制作方案,主要有4个点: 游戏排行榜排序核心算法的实现 排序在游戏开发中是一种十分重要的算法,特别是对于海量的数据,高效的排序算法,是核心与关键,排行榜也是一样的,我们要对全服所有的排行
阅读全文
摘要:在网路游戏中做任务已经成为游戏很重要的一个核心功能和玩法,如何做好一个灵活可扩展的任务系统的架构与设计,今天来给大家分享一些我们的设计经验。接下来我把整个的任务系统分成以下6个模块: (1) 任务配置表设计与管理; (2) 游戏任务的解锁与生成; (3) 任务完成判定; (4) 任务完成后的奖励生成
阅读全文
摘要:MMORPG游戏中背包系统是很重要的一个模块, 大部分的背包系统的讲解,都是讲如何设计UI,如何显示这些,其实这些东西并不是背包系统的核心,接下来我们来分析一下背包系统的数据结构如何设计,能让策划和程序很好的工作,以及非常方便的扩展。 1: 设计好背包系统的关键是什么? 背包其实就是描述一个玩家在游
阅读全文
摘要:微信小游戏现在非常的火,很多开发Unity的同学, 都想自己开发微信小游戏,无奈tiny还不成熟,导致很多同学有自己创业做微信小游戏的想法,但是由于技术,却放弃了这样的机会,今天我给大家讲述unity同学如何转型做微信小游戏。 1: 解放思想。 我们是做游戏,不是做unity。当我们看到微信小游戏的
阅读全文
摘要:很多新手小伙伴在做开发设计的时候,喜欢思考如何设计,能让自己的代码看上去更优雅,而很多老鸟程序员写完代码以后,自然就成为了一个相对比较稳定的设计与成熟的解决方案。这两者对比你会发现,前者明显感觉有点底气不足,后者则是自然而然的产物,作为新手开发者,如何培养自己的问题分析能力和系统设计思维,今天来分享
阅读全文
摘要:什么是代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。它为其他对象提供一种代理以控制对这个对象的访问, 在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者
阅读全文
摘要:工厂模式(Factory Pattern)是游戏开发中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对用户暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 先来看一个生活中的真实的案例,某个品牌的汽车制造工厂,
阅读全文
摘要:最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Baking核心机制,方便大家上手学习掌握Unity DOTS开发。今天给大家分享的Baking机制中的Filter Baking Output与Prefab In Baking。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零
阅读全文
摘要:我们做游戏的时候经常会有流程控制,流程控制的方法有很多,行为决策树,状态机等。本质差别都不大,就是把每一段执行逻辑做成一个一个的节点,根据条件执行某个节点,切换到某个节点。今天给大家分享一下基于状态机来做游戏流程的控制。 1 一个简单的状态机案例 我们先来拆解一个使用案例,通过这个案例让大家对状态机
阅读全文
摘要:现在Unity的相关技术已经都非常常熟了,如果你的技术能力与阅历够,搭建一个商用的游戏框架,你只需要3天的时间。今天给大家分享一个Unity老鸟3天能搭建一个自己的商用框架的几个必备的开源库,方便大家学习与使用,同时学习这些有前途的开源库也能让你在公司里面游刃有余。 对啦!这里有个游戏开发交流小组里
阅读全文
摘要:1: 为什么我们要自己造轮子来做定时器系统 传统的Unity做定时器的方式有三种,总结如下: 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。 (1) 在组件类里面定义一个变量,每次Update的时候,累积时间,当时间到达特
阅读全文
摘要:Unity引擎本省就是一个框架,我们基于Unity再做一个游戏开发框架,本质就是建立一种组织自己项目的方式和方法,让程序+美术+策划一起协同工作,同时能开发出满足项目需求的游戏产品。所以游戏框架的架构与设计与项目管理本身有很密切的关系,今天从另外一个维度来说说基于游戏引擎来如何来做游戏app游戏开发
阅读全文
摘要:在面试中,我们经常会被问到Unity的底层是如何处理C#,本节给通过一下3个点来给大家详细的分析这个问题: (1) C#的发展历史; (2) Unity为什么用C#; (3) il2cpp解决了什么问题; 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发
阅读全文
摘要:Unity作为全球最知名的游戏引擎之一,功能已经做的非常完善了,为什么我们还要在开发项目的时候需要搭建游戏框架呢?基于Unity来搭建一个游戏框架,我们又应该如何思考,如何做?今天给大家分享一些Unity游戏框架搭建相关的内容和理念。 为什么有Unity引擎还要搭建一个游戏框架? Unity是游戏引
阅读全文
摘要:今天我从一个从业10多年的游戏开发者角度,来给大家介绍Unity 架构师如何提升与成长。 最终到技术总监 1: 扎实的基础, 腾讯,网易这些一线大厂都非常注重基础知识: (1) 语言基础, 协程原理,委托,event的作用等; (2) 数据结构与常用算法: 链表, 树, 算法,图的遍历,树的遍历,算
阅读全文
摘要:1:如何选取技术方案 Unity战斗系统中,每个角色经常会有血条与昵称。如何架构设计才高效,我们列举一些常用的做法: (1) onGUI来做昵称与血条; (2) 3D世界中创建一个3D物体来做血条与昵称,然后让血条与昵称对着摄像机; (3) 基于UGUI/NGUI单独做血条与昵称的UI节点,然后把U
阅读全文
摘要:很多刚开始做游戏的小伙伴感觉战斗系统是一个比较麻烦的部分,不知道如何设计,角色很多,职业很多,技能有好几种,还有装备相关的东西。今天这篇文章详细的讲解一个战斗系统应该如何架构与设计,你看完并搞懂它,战斗系统的架构与设计对你来说再也没有难度了。首先我们先来上一张架构图: 如图,我们把整个的战斗系统分成
阅读全文
摘要:组织好项目的目录结构,是维护项目的很重要的一个点,我们学习别人源码,了解别人的设计思路都是从目录结构开始,一个清晰的目录结构,对项目开发维护,项目管理来说非常的重要,目录维护的好,大家在一起工作很愉快,目录维护的不好,有可能会把项目搞的乱七八糟。今天我们一起来看看Unity架构师是如何维护自己的目录
阅读全文
摘要:在Unity框架设计中与游戏服务器对接的网络框架也是非常重要的一个模块,本文給大家分享如何来基于Unity来设计一个网络框架, 主要的讲解以下几个点: (1) TCP半包粘包, 长连接与短连接, IO阻塞; (2) Tcp Socket与UDP Socket 的技术方案; (3) Unity的序列化
阅读全文
摘要:Unity3D是一款功能强大的游戏开发引擎,可以实现各种复杂的游戏效果。本文将详细介绍如何使用Unity3D制作带厚度的透明图片,并提供代码实现。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。在Unity3D中,创建带厚
阅读全文
摘要:我们在开发游戏的时候经常会有一些特殊的游戏玩法等,需要涉及Mesh切割。比如3D切水果, 在地图的城墙上挖一个洞,今天给大家来分享一个Mesh切割的算法,帮助大家解决项目中需要用到的Mesh切割的问题。本文主要从一下几个方面来讲解Mesh切割。 (1) 如何接受玩家的触摸操作,生成切割面; (2)
阅读全文
摘要:矩阵很多同学没有接触过,所以感觉很难,很复杂,其实只要学过矩阵的同学都知道,矩阵运算并不难。今天我们给大家讲讲游戏开发中的矩阵的运算。 1:矩阵是什么? 矩阵是描述线性变换的一种数学工具,线性变换指的是使用一次函数从一个空间变换到另外一个空间。 例如在空间A中的一个2维向量(xa, ya)变换到空间
阅读全文
摘要:RTS里面经常会有很多角色,群体一起寻路到目的地附近,这种寻路是如何实现的,今天给大家详细的讲解基于流场寻路的算法。在本教程中,我将解释向量场寻路及其相对于Dijkstra等传统寻路算法的优势。对Dijkstra算法和势场的基本理解将有助于理解本文,但不是必需的。 寻路的问题有很多种解决方案,如AS
阅读全文
摘要:Cocos Creator 新手开发的时候经常会遇到一些错误不知道如何解决,今天把这些错误总结一下,下次遇到的时候,自己知道如何分析。 到底谁为null或undefine 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。 我
阅读全文
摘要:3.1 计算机如何制作一个3D模型 讲述这个问题之前,我们先来看下现实生活中我们要做一个模型,应该如何做呢?首先我们要把模型的形状给雕刻构建出来,现实生活中的物体都是由分子组成的连续的表面,计算机是离散的无法做到这点,所以计算机通过微分的方式,把一个曲面分成”多个平面”来模拟实现连续的物体表面。常见
阅读全文
摘要:2.1创建第一个项目 从本节开始我们将详细的来开始学习Cocos Creator的开发基础与操作。我们先来创建一个项目,打开CocosDashboard, 选择”新建”, 选3D游戏模板”Empty(3D)”, 输入项目的名字(classGame)与路径(D:\Home\workspace),(注意
阅读全文
摘要:1.1 Cocos 不同时期与产品 刚接触Cocos家族的时候,会有很多个Cocos的版本与分支,比如Cocos2d, Cocos2d-x, Cocos Creator 1.x, Cocos Creator 2.x, Cocos Cretor3D, Cocos Creator 3.x, CocosD
阅读全文