自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (3)
  • 收藏
  • 关注

原创 UE4 WorldComposition加载Level与位置偏移代码分析

Level里与WorldComposition有关的两个重要参数StreamedLevelsOwningWorld是全局变量,存储的是WorldComposition里的SubLevel的名字对应的主level(即WorldComposition的主Level)的World,主要是在Level::PostLoad时把主level赋值给OwmingWorldUWorldComposition::OnLevelPostLoad是把WorldComposition的Tile赋值,这个也是..

2021-07-08 15:09:01 847

原创 UE4 添加自己项目的AutomationProject,解决报错Failed to find comand

如果不了解AutomationTool可以先看下列官方文档https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/BuildTools/AutomationTool/HowTo/AddingAutomationProjects/https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/BuildTools/AutomationTool/HowTo/AddingComman

2021-06-24 11:30:15 571

原创 UE4 热更新:HTTPChunkInstaller

热更大概有两种模式。一、打一个基础包,更新包1是在基础包上叠加的,更新包2是在基础包和更新包1上叠加的,更新包2不包含更新包1的内容。新用户下载的时候需要下载更新包1,更新包2。二、打一个基础包,更新包1是在基础包上叠加的,更新包2是在基础包上叠加的,更新包2包含更新包1的内容。新用户直接下载更新包2。我看网上关于unreal的热更资料,基本上是以第一种的思路。我这里用的是第二种,使用unreal的HttpChunkInstall来热更。HttpChunkInstall里会把chunk的.pa...

2021-01-07 11:01:42 2125 1

原创 UE4 自定义K2Node蓝图节点实现

这篇主要以一个蓝图节点的示例来说明大概怎么写一个自定义蓝图节点。这个自定义K2Node蓝图节点其实是为了优化是“C++利用反射UFUNCTION实现RPC”的。之前调用服务器函数是使用泛型蓝图节点然后解析里面的FPerperty类型序列化后传给服务器。但是这有个问题就是函数的参数数量和类型是变化的,之前是定义了0-8参数的各个泛型函数和一个以结构体包含的(结构体里包含了所有参数)泛型函数来实现的,这个实现是能够符合需求的,但是不方便。现在通过这个蓝图节点实现。我先放上解释,最后有.h和.cpp.

2020-10-20 12:26:39 3294

原创 UE4 C++利用反射UFUNCTION实现RPC

项目要实现一个远程调用函数的功能,即服务端发送一段buffer,客户端解析这段buffer,然后把里面的数据解析成函数名,参数1,参数2,参数…… 的形式来调用客户端的函数。这里的一个问题主要是,项目使用的不是UE4服务端,所以远程调用难以调用某个具体的对象,只能调用到静态函数。静态函数一般想到静态函数库,所以使用静态函数库来实现。使用蓝图函数库的函数有一个概念,就是其实每一个蓝图函数库的函数都带一个默认的参数就是World Context Object。World Context Objec...

2020-10-12 11:34:57 1304

原创 UE4 SceneCapture2D显示人物模型时过滤背景颜色或天空盒

游戏有时候需要把人物显示到UI上,会需要用到RT。这里不是具体教程,具体教程可以找其他的资料。是因为我自己在做的时候遇到需要去除天空盒的问题,然后又没搜索到解决方法。这里把我解决的方法分享出来。SceneCapture做下面几个设置,Primitive Render Mode设置 Use ShowOnly List ,只显示Show Only Actors里添加的Actor。然后想要显示的Actor添加到Show Only Actors。Capture Souce 是只渲染的Texture Tar.

2020-06-04 18:31:01 4901 2

原创 UE4 动画插件Advanced Locomotion System V4分析

倾斜:(以站立姿势的地面移动倾斜为例)Calculate Relative Acceleration Amount是求的当前加速度在actor上的旋转值并把范围限定在-1到1。Relative Acceleration Amount X是前后方向的值, Relative Acceleration Amount Y是左右方向值。ALS_N_Lean是混合了前后左右倾斜的BlendSpac...

2020-04-28 11:14:38 4888

原创 UE4 富文本装饰器——超链接

游戏里需要超链接,比如点击文字或图片然后会弹出tips。需要实现的是文字的可点击和超链接内容的读取。如格式<a itemId="001">物品1</>显示文字 物品1 然后点击后我们能够知道是itemId=“001”代码如下:头文件:#pragma once#include "Components/RichTextBlockDecorator...

2020-03-30 18:25:55 3694 2

原创 UE4 Actor的自定义渲染

1.创建一个Actorclass AMyActor : public AActor 2.创建一个UPrimitiveComponent 组件,这个组件是游戏线程渲染组件class UMyRenderingComponent : public UPrimitiveComponent3.创建一个FPrimitiveSceneProxy,这是游戏线程的“UPrimitiveCom...

2020-03-23 18:09:13 3001

原创 UE4 蓝图Structure与Xml的读取

使用了Unreal提供的XmlParser库来解析Xml文件。然后把解析到的内容填充到定义好的结构体内。该方式是以蓝图Structure来定义结构。使用:一个简单的xml文件<?xml version="1.0" encoding="UTF-8"?><test> <testa id="0" name="aaaaaaa" other="ot...

2020-03-12 12:32:44 1191

原创 UE4 批量转换Texture为Sprite

批量替换的逻辑很简单,找到所有的UI面板下的贴图资源,然后替换为同名的Sprite资源。主要是UE4的使用哪些API的问题,时间都花在查源码找API上。所以这里把代码贴出来。void SWidgetUiTool::OnReplaceToSprite(){ FAssetRegistryModule& AssetRegistryModule = FModuleManager::...

2019-11-01 15:06:43 1807 1

原创 UE4 蓝图Structure与Json的读写

蓝图创建Structure测试读JSON:测试写JSON结果:因为代码比较长,所以先解释一下,最后在放完整代码。代码解析:一、把蓝图Structure暴露到C++ UFUNCTION(BlueprintCallable, Category = "Json", CustomThunk, meta = (CustomStructureParam ...

2019-10-11 18:41:05 7180 3

原创 UE4 error LNK2019: 无法解析的外部符号 fatal error LNK1120: 1 个无法解析的外部命令

模块之间调用遇到编译问题。1>Module.TestAssetTool.cpp.obj : error LNK2019: 无法解析的外部符号 "private: static class UClass * __cdecl UMyAssetData::GetPrivateStaticClass(void)" (?GetPrivateStaticClass@UMyAssetData@@CAP...

2019-09-23 16:31:07 4169

原创 [Unity知识点整理]关于旋转

一、Transform.Rotate : 1.void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self); 示例: transform.Rotate(Vector3.right * Time.deltaTime); 绕自身X轴旋转 transform.Rotate(Vector3.up * Time.deltaTime, Sp

2017-05-20 22:16:53 391

分布式算法导论.pdf

所谓分布式算法,就是指在完成乘加功能时通过将各输入数据每一对应位产生的运算结果预先进行相加形成相应的部分积,然后再对各部分进行累加形成最终结果。

2015-12-12

[云计算宝典:技术与实践].虚拟化与云计算.扫描版

[云计算宝典:技术与实践].虚拟化与云计算.扫描版

2015-12-12

空空如也

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

TA关注的人

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