![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
文章平均质量分 91
popcorn丶
爱玩游戏,研究游戏玩法
展开
-
使用Entitas构建游戏框架(一)
解耦在编程时是很重要的一个考量因素,但是如果能在框架上就增加约束,让代码看上去更清晰,那么即便有一些新手,在这种约束下,也不会耦合太严重。暴雪在GDC 2017年分享了《守望先锋》关于ECS系统的实施方案,给出了一种框架上解耦的答案。这里介绍一种轻量级的ECS开源框架原创 2022-05-01 22:22:13 · 2555 阅读 · 0 评论 -
设计模式(C++)结构型简介
适配器模式使得接口不一致的类可以一起工作Adapter.h:#pragma once#include <string>using namespace std;namespace DesignMode { enum TransType { TCP_TRANS = 0, UDP_TRANS, }; class TCP { public: void...原创 2020-03-30 23:29:50 · 216 阅读 · 0 评论 -
设计模式(C++)创建型简介
最近在菜鸟教程了解了一些设计模式,记录一下菜鸟地址:https://www.runoob.com/design-pattern/prototype-pattern.html单例模式单例模式(Singleton Pattern)。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供...原创 2020-03-27 12:12:33 · 232 阅读 · 0 评论 -
unity ugui特效实现方式
原理: 将unity 粒子系统的每个粒子计算颜色,位置,以及uv计算,映射一个长方形内,继承MaskableGraphic类,并重写protected override void OnPopulateMesh(VertexHelper vh)方法,将生成的rect 通过vh.AddUIVertexQuad(_quad);画出。代码:using UnityEngine;...转载 2020-01-17 16:38:10 · 1853 阅读 · 0 评论 -
Google Protocol Buffers 原理【解读】
最近在了解对象的序列化,知道google的Protocol Buffers定义了结构的序列化,想了解一下,因此边学边记录,错误之处还请指正,共同进步。最简单的message定义首先看一下一个简单的message定义:message Test1 { optional int32 a = 1;}我们在程序中创建一个Test1 and Test1.a = 150,然后序列化,得...原创 2019-10-15 16:52:43 · 228 阅读 · 0 评论 -
使用VS2017 cmake编译protobuf3.10.0
最近需要protobuf支持lua,然后之前的版本因为有vsproject工程文件,可以直接打开,然而之后的版本都是以cmake的方式存在,因此这里需要使用cmake编译protobuf生成一些库以及protoc.exe可以参考protobuf-3.10.0下有个README.md的文件,由官网提供教程,我这里做一下实践整理。1.先下载Cmakehttps://cmake.org/...原创 2019-10-12 18:02:53 · 786 阅读 · 0 评论 -
RC4字节流加密算法c++
1、第一步是生成S盒初始化S和T开始时,S中元素的值被置为按升序从0到255,即S[0]=0,S[1]=1,…,S[255]=255。同时建立一个临时矢量T(长度与S相同)。如果密钥K的长度为256字节,则将K赋给T(K的长度为可能小于S的长度)。否则,若密钥长度为keylen字节,则将K的值赋给T的前keylen个元素,并循环重复用K的值赋给T剩下的元素,直到T的所有元素都被赋值。...转载 2019-10-09 10:59:27 · 1831 阅读 · 0 评论 -
游戏引擎之动作状态机
从业好几年,有幸能参与到几款动作游戏的开发。今天跟大家分享一些设计心得。一篇文章难以涵盖所有,准备分篇发布。本文谈及的所有,都会反映出本人及同事们的偏好。条条大路通罗马,不同的开发者会有不同解决方案。这里所提供的绝非唯一解。希望能通过这篇文章与各路大神交流。本文谈及的设计思路主要体现在下面两款游戏中:《十三煞》和《砰砰小怪兽》这俩游戏是同一拨人做的,你敢信?事先声明: 1...转载 2019-09-30 15:40:43 · 1183 阅读 · 1 评论 -
游戏引擎之动画系统压缩技术
1.通道省略动画数据一般包括10个浮点数据:平移translate(float x, float y, float z); 旋转rotate(float qx, float qy, float qz, float qw); 缩放scale(float x, float y, float z);如果每秒30个样本,那么每个关节需要4字节 * 10通道 * 30 = 1200字节的数据,...原创 2019-09-30 11:35:46 · 591 阅读 · 0 评论 -
深入理解ECS框架
实体组件系统(ECS)实体组件系统(ECS)是Unity面向数据的技术堆栈的核心。顾名思义,ECS包含三个主要部分:实体-填充游戏或程序的实体或事物 组件-与您的实体相关联的数据,但由数据本身而非实体来组织。(这种组织上的差异是面向对象和面向数据的设计之间的关键差异之一。) 系统-将组件数据从其当前状态转换为下一状态的逻辑-例如,系统可能会通过其速度乘以自上一帧以来的时间间隔来更...原创 2019-09-25 11:42:47 · 3831 阅读 · 0 评论