- 博客(68)
- 资源 (1)
- 收藏
- 关注
原创 OpenGL之创建窗口
引用头文件#include <glad/glad.h>#include <GLFW/glfw3.h>创建main函数并且实例化GLFW窗口int main(){ //初始化GLFW glfwInit(); //配置GLFW glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); //主版本号 glfwW...
2020-02-15 20:44:55
494
原创 OpenGL配置
GLFWGLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入,这正是我们需要的。构建GLFWGLFW可以从它官方网站的下载页上获取。GLFW已经有针对Visual Studio 2013/2015的预编译的二进制版本和相应的头文件,但是为了完整性我们将从编译源代码开始。所以我们需要下...
2020-02-15 20:14:26
439
原创 将编辑器的图标添加到你自定义的Actor中【UE4】【C++】
// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "UObject/UObjectGlobals.h"#include "M...
2019-12-27 15:34:19
818
原创 用Drag and Drop 和 Scroll Box 制作可以拖动的背包【UE4】【Blueprint】
第一步创建一个名为的UserWidget,这个用于单个物品。创建两个分贝名为BackpackA和BackpackB的UserWidget,作为两个背包。在这两个背包中创建一个ScrollBox,改名为Content。第二步:为两个背包创建subwidget_sigleitem为了使这些物品具有辨识度,在subwidget_sigleitem中加了两个变量:Num(编号)Parent...
2019-12-09 18:32:18
1215
原创 Creating Drag and Drop UI【UE4】【Blueprint】
一、项目设置1、创建三个Widget Blueprints,命名为DragWidget,HealthBar, 和 HUD。2、创建一个继承自DragDropOperation名为WidgetDrag的蓝图。3、在WidgetDrag中创建一个名为WidgetReference的User Widget类型变量并进行如下设置。4、创建一个名为DragOffset的Vecto...
2019-12-06 18:19:39
592
原创 资源加载(同步和异步)【UE4】【C++】
资源分类蓝图类资源:也就是BlueprintClass,继承于UObject并且蓝图化的资源。非蓝图类资源:UTexture,UStaticMesh,UParticleSystem,UMaterialInterface这些资源:如纹理,粒子,静态网格,材质等等同步加载LoadClass(同步加载蓝图类资源为UClass*) //注意蓝图类资源路径后缀要加 _C,否则加载...
2019-11-29 18:01:56
1079
原创 读写配置文件(*.ini)【UE4】【C++】
以Game.ini为例其他配置的读写看这里 CoreGlobals.h,替换下面的 GGameIni 参数即可,这些字符串保存的是对应配置文件的路径。extern CORE_API FString GEditorIni;extern CORE_API FString GEditorPerProjectIni;extern CORE_API FString GCompatIni;e...
2019-11-29 14:46:42
2106
1
原创 使用编辑器动态调整C++创建的BoxComponent【UE4】【C++】
方法一.h文件// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Components\BoxComponent.h"...
2019-11-28 11:37:22
971
原创 AHUD和UUserWidget的使用【UE4】【C++】
1、创建继承自AHUD名为InGameHUD的C++ class。.h// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/HUD.h"#incl...
2019-11-27 16:09:26
5879
原创 C++获取游戏当前登录的服务器IP和端口【UE4】【C++】
FString URL = GetWorld()->GetAddressURL();
2019-11-26 11:29:21
1309
原创 创建BoxCollision(BoxComponent)并注册Overlap和Hit事件回调函数【UE4】【C++】
BoxComponent的Overlap事件添加一个继承自Character名为MyCharacter的C++类。.h文件// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Gam...
2019-11-26 10:00:27
1774
原创 UFUNCTION(Exec) 【UE4】【C++】【Blueprint】
蓝图1、蓝图中的自定义事件2、按下~键,输入ce TestExecute Console Command在参数Command输入要执行的命令ce SayHelloce为关键字,要执行命令的关键字是可以大小写的。在ce关键字后要输入一个空格。ce关键字为要执行事件的名称。按下~ 输入 ce SayHello 或者按下F都可以输出SayHello。...
2019-11-25 15:17:38
1531
原创 打开URL链接【UE4】【Blueprint】【C++】
在蓝图中打开Launch URL节点在C++中打开FPlatformProcess::LaunchURL(TEXT("http://www.baidu.com"), NULL, NULL);
2019-11-22 17:47:38
1167
原创 在蓝图中使用远程调用函数(Replicating Functions in Blueprints)【UE4】【Blueprint】
远程调用函数主要包括三种类型:Multicast 广播、Run on Server 在服务端执行和Run on owning Client 在客户端执行。广播函数在服务器上调用和执行,然后自动转发给客户端。 在服务端执行的函数由客户端调用,然后仅在服务器上执行。 在客户端执行的函数由服务器调用,然后仅在自有客户端上执行。Multicast 广播新建第三人称模板项目以下步骤说明了如...
2019-11-22 15:50:26
509
原创 在蓝图中同步变量(Replicating Variables in Blueprints)【UE4】【Blueprint】
新建一个第三人称项目模板同步(Replicated)1、在Content/StarterContent/Blueprints文件夹中,打开Blueprint_Effect_Fire蓝图。2、选中Class Defaults后,在Replication下的Details面板中,选中Replicates选项。此操作将确保此蓝图通过网络复制到所有连接的机器上。...
2019-11-21 15:12:36
1086
原创 在蓝图中同步Actor(Replicating Actors in Blueprints)【UE4】【Blueprint】
新建一个第三人称模板项目同步Actor以下步骤说明了如何将 Actor 设置为Replicate,以及 Replicate 的 Actor 和非 Replicate 的 Actor 之间的区别。1、在文件夹中找到Blueprint_Effect_Fire,并按下ctrl + w。2、重复上述步骤。3、将两个副本重命名为Fire_NoReplicate和Fire_Replica...
2019-11-21 11:28:34
593
原创 如何编译部署独立专用服务端(Standalone Dedicated Server)【UE4】
一、下载源码及编译原文链接首先需要unrealengine官网上注册并加入github开发组才有权限进入下面地址。https://github.com/EpicGames/UnrealEngine/tags注意:编译专用服务器,只能用源码编译版本的引擎,安装版本的引擎无法编译Server。打开页面后下载一个最新的release版本,解压出来后先运行Setup.bat,会自动下载资源...
2019-11-18 21:06:54
1768
1
原创 使用蓝图和C++动态创建材质(Material)并设置材质参数属性(Parameter)【UE4】【C++】【Blueprint】
蓝图方式1、创建一个继承自Actor名为RandomChair的蓝图。2、打开蓝图,将椅子的StaticMesh拖放到根节点内。3、在该蓝图中创建一个Box,用于碰撞检测。4、将蓝图拖到场景中。5、添加蓝图脚本在构造函数中创建一个材质实例,命名为DynamicMetarial。添加Box的碰撞事件函数。ColorSeats...
2019-11-18 10:57:27
3829
原创 隐藏物体的时候如何将其所有子对象也隐藏【UE4】
原文地址设置MeshComponent的ToggleVisibility为true,默认为false。这样每当设置当前Actor的visibility的时候,附加在其上的所有child也都会同时显示或隐藏。Actor->GetStaticMeshComponent()->ToggleVisibility(true);完整示例:MeshActor->SetAct...
2019-11-15 18:08:18
2461
原创 Timer相关【UE4】【C++】
方法一.h文件FTimerHandle Timer;void TestFun();.cpp文件GetWorld()->GetTimerManager().SetTimer(Timer, this, &AMyActor::TestFun, 5.f, false);GetWorld()->GetTimerManager().ClearTimer(Timer)...
2019-11-15 17:15:22
332
原创 Collision碰撞相关【UE4】
原文如何禁用角色的刚体碰撞检测Collision禁用Actor上所有Component的碰撞:MyCharacter->SetActorEnableCollision(false);设置以后,角色就可以忽视一切障碍物或者刚体来进行移动了,但是这样会导致 AddMovementInput 失效, SetActorLocation 没问题。禁用指定 Component...
2019-11-15 14:39:59
834
原创 如何隐藏Actor【UE4】
MyActor->bHidden = true;MyActor->GetMesh()->SetVisibility(false);MyActor->SetActorHiddenInGame(true);
2019-11-15 14:28:54
3056
原创 遍历场景中所有的Actor和Object【UE4】【C++】
遍历所有SkeletalMeshComponent //遍历所有的SkeletalMeshComponent for (TObjectIterator<USkeletalMeshComponent> Itr; Itr; ++Itr) { USkeletalMeshComponent* Component = *Itr; FString str = Itr->Ge...
2019-11-15 12:06:34
4975
原创 用C++动态创建TextRender【UE4】
.h文件// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Components/TextRenderComponent....
2019-11-14 17:28:11
870
原创 读取系统时间和时间戳【UE4】【C++】
FDateTime Time = FDateTime::Now(); //获取时间戳 int64 Timestamp = Time.ToUnixTimestamp(); UE_LOG(LogTemp, Warning, TEXT("%d"), Timestamp);将 Unix Timestamp 转换为年月日(year, month, day)FDateTime Time =...
2019-11-14 15:44:01
14187
1
原创 用C++创建BoxCollision【UE4】【C++】
UBoxComponent* CollisionBox = CreateDefaultSubobject<UBoxComponent>(TEXT("TestCollision")); CollisionBox->SetBoxExtent(FVector(32.f, 32.f, 96.f)); CollisionBox->bDynamicObstacle = true...
2019-11-14 10:52:45
564
原创 帧率锁定【UE4】
Edit->Project Settings -> Engine -> General Settings -> Framerate-> Use Fixed Frame Rate
2019-11-14 09:23:55
7322
转载 Console命令行常用命令(command) 【UE4】
https://dawnarc.com/2016/05/ue4console%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4command/
2019-11-13 16:35:22
1016
原创 日志打印【UE4】【C++】
ue4中日志打印的方式有两种一、在当前屏幕视口中打印GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Blue, TEXT("Hello"));需要引用头文件 #include "Engine.h"第一个参数:-1表示无需更新或刷新此消息第二个参数:表示在屏幕上持续的时间第三个参数:表示颜色第四个参数:表示输...
2019-11-13 15:44:07
1393
原创 读取excel数据表的使用(DataTable) 【UE4】【c++】
一、在excel中导出csv,在导入ue4中直接保存为csv格式。关于乱码的问题我这篇博客中有说到https://blog.youkuaiyun.com/weixin_41946900/article/details/103023130二、编写c++代码,在c++中写个结构体对应字段属性,字段名必须完全一致创建一个继承自BuleprintFunctionLibrary名为LoadDat...
2019-11-12 15:02:54
2845
原创 读取excel数据表的使用(DataTable)【UE4】【Buleprint】
一、定义一个用于该蓝图的数据结构创建一个名为FLevelInfo的structure编辑FLevelInfo二、创建DataTable在ue4里面创建一个名为DB_Levels的DataTable编辑DB_Levels有时候有些人不会用ue4,所以我们需要在外面创建csv文件,然后导入到ue4中来。用excel创建一个名为Levels的csv文...
2019-11-12 11:21:20
2452
原创 写入.csv文件 【ue4】【c++】
一、新建一个继承自BlueprintFunctionLibrary名为TextFileManager的c++类.h文件// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Ki...
2019-11-11 21:23:18
1426
原创 事件调度器(Event Dispatchers) 【UE4】
一、准备工作1、新建两个继承自Actor的蓝图,分别命名为actor1(调用者)、actor2(被调用者)。二、编辑蓝图打开调用者的蓝图actor1,在里面添加一个事件调度器。打开被调用者蓝图actor2。三、结果...
2019-11-01 15:06:44
571
原创 事件处理(Handling Events)和委托(Delegate)代码示例(三) 【UE4】 【C++】
本篇参考自https://blog.youkuaiyun.com/panda1234lee/article/details/641249866.自定义事件(Custom Event)首先添加事件声明宏到MyTrigger类中。自定义事件声明如下:DECLARE_EVENT(AMyTrigger, FPlayerEntered)第一个参数是具体实现事件的类,也是唯一能够调用Broadcas...
2019-10-25 11:09:12
323
原创 事件处理(Handling Events)和委托(Delegate)代码示例(二) 【UE4】 【C++】
本篇参考自https://blog.youkuaiyun.com/panda1234lee/article/details/641235323.创建带参数的委托我们可以通过修改委托的签名来使其接受参数。比如我们需要接受一个参数的话,可以在GameMode中这样声明。DECLARE_DELEGATE_OneParam(FParamDelegateSignature, FLinearColo...
2019-10-25 10:02:45
260
原创 事件处理(Handling Events)和委托(Delegate)代码示例(一) 【UE4】 【C++】
本篇参考自https://blog.youkuaiyun.com/panda1234lee/article/details/638347701.通过重写虚函数来处理事件。MyTrigger.h添加一个名为MyTrigger的Actor类,添加一个box组件作为触发区域,然后通过重写虚函数——NotifyActorBeginOverlap、NotifyActorEndOverlap来响应事件。...
2019-10-24 17:21:05
276
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人