自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RapdoZoroの博客

凡是过往,皆为序章

  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 UE4-地形Langscape类关系整理

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。画了两张图,这些文字是凑字数的hhhhh

2022-03-03 23:44:15 425

原创 UE4-Shader类关系整理

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。

2022-03-03 22:57:35 422

原创 UE4-Archive序列化哈希表及内存分配

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。一、从Archive中序列化HashMap流程:1.从BinaryArchive中对FMetalShaderMap序列化: (MetalShaders.cpp)2.分别对Format和TMap类型的HashMap序列化: (MetalShaderTesources.h)3.TMap继承自TSortableMapBase,TSortableMapBase继承自TMapBase: (Map.h)...

2022-03-03 22:36:27 1022

原创 UE4-渲染时初始化ShaderResource的Shader流程

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。1.渲染时当模型被添加到场景中时,StaticMesh最终会被添加到Scene的DrawList中,DrawList调用AddMesh()在向DrawList添加Mesh后,在内联函数文件(.inl)AddMesh()方法中:根据传入的DrawingPolicyType先在DrawingPolicySet查找是否已存在该DrawingPolicy类型的策略,即该DrawingPolicyType对应的DrawingPolicyLink;如

2022-03-03 22:22:11 847 3

原创 UE4-渲染时初始化Policy上Shader流程

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。1.当模型被添加到场景中时,StaticMesh最终会被添加到Scene的DrawList中(详细可看笔记“StaticMesh添加到场景DrawList步骤”),添加时机为在策略工厂DrawingPolicyFactory的AddStaticMesh中创建DrawingPolicy策略,并将Mesh和FDepthDrawingPolicy策略策略加入到Scene的DepthDrawList绘制列表中:调用堆栈如下:2

2022-03-03 22:11:34 383

原创 UE4-StaticMesh向场景DrawList添加流程

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。1.渲染线程Main Loop中:RenderingThreadMain( ) (RenderingThread.cpp)2. 模型添加到场景里时,就会调用Render Scene的AddPrimitive()函数,FScene::AddPrimitive()函数中调用FScene::AddPrimitiveSceneInfo_RenderThread()方法:(RendererScene.cpp)3.FScen.

2022-03-03 21:33:40 670

原创 UE4-注册已序列化Shader流程

文章为本人学习虚幻4引擎源码所整理笔记,如有纰漏欢迎指正交流。1.UMaterial::PostLoad( ) 时,进入注册: (Material.cpp)LoadedMaterialResources、MaterialResources为UMaterial成员变量: (Material.h)2.PostLoad( )中调用了ProcessSerializedInlineShaderMaps( )方法:在该方法中会: 1).遍历所有LoadedMat...

2022-03-03 20:54:58 511

原创 UE4-Loading时材质Shader序列化流程

Ar.IsLoading( )时:完成将材质所有MaterialResource的MaterialShaderMap实例化;完成MaterialShaderMap实例中的MeshShaderMaps、OrderedMeshShaderMaps初始化;完成所有Shader序列化(遍历所有MeshShaderMaps,序列化好的Shader存到SerializedShaders、SerializedShaderPipelines中供后续注册使用)。1.异步加载材质序列化导出,最终调用void

2022-03-03 20:24:05 754

原创 UE4-AI行为树编辑器功能扩展

虚幻4引擎的行为树编辑器只支持在单颗行为树中查找某一节点。项目开发后期行为树节点及黑板变量庞杂,特别是在多人开发制作AI行为树时,若前期文档不够完善,后期想要对之前的节点或黑板变量修改,很难知道某一节点或某一黑板变量是否还在使用或早已废弃。只能手动查看所有行为树资源比对相关节点或黑板变量被何时、何处使用或是否早已废弃冗余,费时费力并且会带来一定误删、误改风险。遂对引擎行为树编辑器功能进行了扩展...

2020-03-19 16:00:45 1498

原创 UE4学习笔记--EQS系统

最近在研究虚幻4引擎的EQS系统,看了下官方对EQS的解释文档(官方文档链接:https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/EQS/index.html)及相关源码,熟悉了EQS在AI制作时的应用和使用,文章为本人学习之余所整理笔记,如有纰漏欢迎指正交流。一、EQS原理:EQS(Environment Q...

2020-03-16 19:27:10 9719 4

原创 UE4学习笔记--AI感知系统AIPerception

最近在做游戏AI感知相关内容,研究了下UE4引擎自带的感知系统,读了相关引擎源码,文章为本人学习之余所整理笔记,如有纰漏欢迎指正交流。一、UE4官方AI感知方案虚化4官方的AI感知解决方案目前有2套,AIPerceptionComponent和PawnSensingComponent。最早用的是PawnSensingComponent,但是该组件现在目前已被Unreal官方弃用(不推荐但...

2019-12-05 00:50:54 7000 4

原创 UE4学习笔记--AI行为树架构

虚幻4AI行为控制采用事件驱动模式,需由行为树和黑板配合使用的,行为树执行AI逻辑,黑板通过黑板变量来存储AI数据,黑板变量的改变事件驱动AI行为树的逻辑执行。一、控制器-行为树关联:每个AI都有自己的控制器(AIController),AI控制器上有两个组件负责其行为:行为树组件BehaviorTreeComponent和黑板组件BlackboardComponent,当AI生成时,会...

2019-02-18 15:57:12 8178 3

原创 C#学习-- 泛型Generic

这篇博客就C#的特性--泛型(Generic)做一下简单介绍:学过C++的朋友应该都知道C++模板(Template)这一特性,C#中的泛型相当于C++中的模板。(一).在介绍泛型之前,我们先考虑以下情况:假设我们现在需要写一个比较类,这个类需要对传入的两个double类型的数据进行比较大小操作,实现代码如下:public class DoubleCompare

2016-09-30 16:56:00 1435

原创 C#学习--委托 Delegate

最近在学习C#,今天这篇博客就对C#的重要特性--委托(delegate)做一下相关介绍。在介绍委托之前,我们先看以下代码:private static double Calculate(double param1, double param2){ return Calculate_Add(param1, param2);}static double Calculate

2016-09-29 08:35:35 1741 5

原创 COCOS学习笔记--滑动条Slider及其控件属性

一.Slider介绍Slider就是滑动条。游戏中我们经常会用到这一控件,我们可以通过滑动条这一控件来人为控制某些数值的范围变化,比如控制游戏的音量大小、界面的颜色亮度等。Slider也和cocos提供的其他控件一样,我们可以在Cocos Studio中创建并设置相关属性,在代码工程中使用;也可以之间在代码工程中创建使用。Slider类提供了对滑动条的相关方法,其继承自Widget类:

2016-04-04 14:31:03 17643 4

原创 COCOS学习笔记--复选框CheckBox及其控件属性

一.Button介绍游戏开发中有时我们会用到CheckBox,CheckBox就是复选框,大家应该都见过复选框,它有两个状态,一个勾选态,一个非勾选态,我们可以通过CheckBox在这两个状态间的切换来实现一些特定的判断功能,比如是否游戏关闭音效等。CheckBox也和cocos提供的其他控件一样,我们可以在Cocos Studio中创建并设置相关属性,在代码工程中使用;也可以之间在代码工

2016-03-29 09:58:06 15156

原创 COCOS学习笔记--Button类及其相关控件属性

Button就是按钮,Cocos中提供了Button类对按钮进行相关的操作。我们看一下Button类继承关系图:可以看到,Button是继承自Widget类,Widget类就是控件类,我们所有的控件包括Button按钮类、CheckBox复选框类、LoadingBar进度条类、Slider滑动条类等等都继承自它。Button按钮控件一般都是在Cocos Studio中创建并编辑好相

2016-03-24 21:09:59 10582

原创 COCOS学习笔记--Menu菜单系统

Cocos2d-x中有一个Menu菜单系统,你可以在游戏开发中创建菜单。菜单是什么呢?我们使用各种软件都会接触到菜单,比如VS上的菜单栏: 我对菜单的理解是:菜单由一系列菜单项组成(当然也可以只有一个),每个菜单项都可以显示文字,并且像按钮一样具备交互性,点击可以触发其相关功能。就拿上面的VS的菜单栏来说,这个菜单栏就是一个菜单,FILE、EDIT、VIEW这些都是菜单上的菜单项,我们点击

2016-03-10 22:33:00 4369

原创 COCOS学习笔记--4种Label文字标签及其渲染特性

游戏开发中所有的文字信息的显示都会用到字体标签Label,比如玩家名字的显示、道具信息、公告栏通知等等。这篇博客就对Cocos2d-x的字体标签的使用做一下介绍。Cocos3.0版本后废弃了之前的CCLabelTTF、CCLabelBMFont、CCLabelAtlas三个字体类,将其合并为一个字体标签类Label类。Label类一共有4种方式创建字体标签,我们看一下这4种crea

2016-03-07 20:04:09 8500 9

原创 COCOS学习笔记--schedule定时器

这篇博客介绍下Cocos2d-x的定时器。一.首先问一个问题,什么是定时器?定时器是干什么用的?简单来说,如果你想不断去执行某个函数,或者每隔一段时间去执行一次某函数,甚至只执行一次,这时,我们就会用到定时器。比如在游戏开发中每隔一段时间要刷新一些数据,或者要随时间的变化而做一些逻辑判断时,就常常用到定时器。定时器就是指定时间间隔调用指定的函数,去完成特定的功能。Cocos2d-x

2016-03-02 13:44:27 5002

原创 COCOS学习笔记--粒子系统

一.粒子系统的简介粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便。Cocos2d-x引擎中就提供了强大的粒子系统。 二.粒子的种类介绍下图为粒子系统类关系图: ParticleSystem为粒子系统的父类,ParticleSystemQuad为

2016-02-28 11:24:02 5172 2

原创 COCOS学习笔记--TexturePacker使用详解

一.TexturePacker的优点TexturePacker是一款把若干资源图片拼接为一张大图的合图工具,在游戏开发以及网页制作中经常会使用到这个工具。为什么需要使用这个工具呢?1.我们知道,大部分游戏引擎底层的渲染方式都是基于OpenGL的,但是,你知道吗?OpenGL载入纹理图片时,所用内存会自动扩张到2的N次方。比如,一张图片的大小为10*10像素,OpenGL会按照16*

2016-02-21 16:28:51 10654 8

原创 COCOS学习笔记--骨骼动画

Cocos引擎中的骨骼动画使用过程与序列帧动画相同,一般都是先在Cocos Studio里编辑动画,然后在在工程代码中加载和使用动画,这篇博客就来详细介绍下具体步骤:一.使用CocosStudio编辑骨骼动画该过程步骤与使用CocosStudio编辑序列帧动画相似,区别就是导入的动画资源与绑定的控件不同:1.首先创建一个场景:文件->新建文件,名字叫“AnimationTest”:

2016-02-04 22:12:32 4495 2

原创 COCOS学习笔记--序列帧动画

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正。Cocos引擎中的序列帧动画使用过程一般是先在Cocos Studio里编辑帧动画,然后在在工程代码中加载和使用帧动画,这篇博客就来详细介绍下

2016-01-31 21:07:24 5385

原创 COCOS学习笔记--变速动作Speed和ActionEase

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正。变速动作和复合动作类似,也是一种特殊的动作,它可以把任何动作按照改变后的速度执行。变速动作与复合动作最大的区别就是复合动作只是单纯的组合一

2016-01-26 00:17:30 7917 1

原创 COCOS学习笔记--持续动作ActionInterval

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正。上一篇博客介绍了即时动作ActionInstant,与即时动作相对的是持续动作ActionInterval。顾名思义,持续动作就是需要一段时间

2016-01-24 18:07:14 2445

原创 COCOS学习笔记--即时动作ActionInstant

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正。Cocos引擎中的动作类的关系图如下: 可以看出,Action是继承自Ref类的,之前我的博客中也有讲过,Ref类是cocos2dx所

2016-01-22 16:05:31 2318

原创 COCOS学习笔记--关于使用cocostudio打安卓包

我在之前的博客里也写到过,现在cocos引擎提供了一键打包,非常方便。今天正好做个测试,想用引擎的一键打包弄个apk的安卓包,下面就简单介绍一下具体过程和自己的一些理解:先说一下项目背景,由于我的电脑是windows系统,所以我的cocos工程是win32平台上的,也就是整个工程目录下的\pro.win32目录下的那个工程,如果你用的是Mac开发,那么你的项目工程应该是\proj.ios_ma

2016-01-20 16:12:09 2400

原创 COCOS学习笔记--重力感应Acceleration

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20991?auto_start=1Cocos

2016-01-19 14:15:10 6303 2

原创 COCOS学习笔记--单点触控

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20990?auto_start=1这篇博客来

2016-01-16 15:58:59 2973

原创 COCOS学习笔记--Layer作用及其2种创建方法

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20989?auto_start=1Layer是处

2016-01-15 16:11:17 5791

原创 Lua中and、or的一些特殊用法

Lua中的逻辑运算符:与(and)、或(or)和非(not),与其他语言的逻辑运算符功能一致,这里不做赘述。只说一点,所有的逻辑运算符将false和nil视为假,其他任何东西视为真,0也视为真。这里要说的是and和or的一些特殊用法。当连接2个操作数时:1.对于运算符and来说,如果它的第一个操作数为假,就返回第一个操作数;不然返回第二个操作数。所以,a = b and c

2016-01-13 20:40:05 29878 6

原创 COCOS学习笔记--精灵Sprite的3种创建方法总结

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20987?auto_start=1 精灵是我们在co

2016-01-12 09:37:40 8839

原创 Lua协同程序coroutine详解

在lua语言中有协同程序这一特性。协同程序是什么呢?线程大家都知道吧,一系列指令组成一个线程,线程是程序执行流的最小单元,许多线程会组成一个进程,一般来说一个应用程序就是一个进程。协同程序和线程差不多,也是处于线程这一级别的执行流最小单元,并且都是由一系列代码指令组成。但协同程序和线程的最大区别就是:程序中的多个线程可以同时运行(即多线程),而多个协同程序却不能同时运行。这里多说一句,多线

2016-01-10 14:32:33 2529 1

原创 COCOS学习笔记--坐标系统与坐标系转换

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20992?auto_start=1在Co

2016-01-07 22:16:03 1486

原创 COCOS学习笔记--Cocod2dx内存管理(三)-Coco2d-x内存运行原理

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20985?auto_start=1通

2016-01-06 21:07:40 4734 7

原创 COCOS学习笔记--内存管理(二)-PoolManager类和AutoreleasePool类的讲解

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20985?auto_start=1 在上一篇博客:C

2016-01-05 09:05:11 3145 1

原创 COCOS学习笔记--内存管理(一)-引用计数和Ref类的讲解

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20985?auto_start=11.引用计

2016-01-04 22:43:44 6248

原创 COCOS学习笔记--自定义绘制

最近购买了曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助,相关技术上博主理解如有偏颇,还请指正:视频地址:http://edu.csdn.net/course/detail/1342/20984?auto_start=1 Cocos

2015-12-31 15:58:59 2792 1

原创 浅谈MVC架构模式

MVC是我最早接触的一种程序框架,也是项目工程中应用最广泛的一种架构模式,也许你不知道“MVC”是什么,但很可能在程序开发过程中你无形之中早已接触过它了。这里写一些我个人对MVC的理解和认识,如有偏颇,望请指正。MVC全名是Model View Controller,即模型(model)-视图(view)-控制器(controller)。MVC架构把应用程序架构分成了3部分,数据部分、显示

2015-12-29 18:45:39 1482

lua简易教程

lua简易教程

2014-08-21

空空如也

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

TA关注的人

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