精华内容
下载资源
问答
  • AboutCG UE4 引擎蓝图可视化编程ok
  • NetPrints是一种视觉编程语言,受虚幻引擎4的蓝图启发,可编译成.NET二进制文件或C#源代码。 这些可以从任何其他.NET语言(例如C#)中使用,也可以用作独立程序。 此外,可以引用和使用任何.NET二进制文件(.NET ...
  • unreal引擎蓝图代码

    2018-03-29 03:07:44
    该代码是我买的书中带的,如果链接失效,请私聊我,看到后会补发
  • 蓝图艺术大师一共有三部,全部打包分享。Unreal Engine 4 Blueprints I-II-III
  • 总览 开始吧 致谢 节点编辑器基于PavelKřupala的 执照 根据许可
  • 教程链接:Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞 想共享的小伙伴可以E-mail我:lxbcolorgalaxy@qq.com 目录 第一章 常见的物理现象及分析 1蓝图模板中的物理现象 2创建子弹抛射 3自动追踪 4碰撞事件...

    教程链接:Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞

    想共享的小伙伴可以E-mail我:lxbcolorgalaxy@qq.com

    目录

    第一章 常见的物理现象及分析

    1蓝图模板中的物理现象

    2创建子弹抛射

    3自动追踪

    4碰撞事件

    5纯物理模拟子弹

    第二章 碰撞体

    1简易碰撞体

    2DOP碰撞体

    3凸面碰撞体

    4567UBX导入碰撞体

    8从其他模型复制碰撞体

    9碰撞体积

    第三章 物理刚体

    1物理刚体

    2质量

    3质心

    4运动衰减

    6运动空间锁定

    第四章 碰撞通道

    1类型、反馈、通道

    2UE4中的碰撞设置

    3碰撞案例测试

    4类型与反馈案例

    5添加自定义碰撞

    第五章 碰撞事件

    1ACTOR交叉触发

    2OnComponent触发

    3击中

    4击伤事件

    5伤害类型

    6点伤害

    7范围伤害规则

    8完全伤害

    第六章 射线检测

    1零粗细(很细)射线检测

    2零检测返回结果

    4球体非零粗细检测

    5调试检测结果

    6多重零粗细检测

    7盒子、胶囊体检测

    8逐多边形检测


     

    第一章 常见的物理现象及分析

    1蓝图模板中的物理现象

    分析了第一人称射击模板中的物理现象,比如子弹飞行、碰撞、产生力的效果与消失。

    2创建子弹抛射

    1.给子弹击中物体施加一个同方向的冲击力——子弹蓝图

     

    2.子弹模型添加Projectile Movement Component组件,引擎自带的子弹模拟,可设置子弹参数

     

    3.控制生成的子弹位置、播放角色动画

    3自动追踪

    1.设置子弹反弹参数

     

    2.设置子弹追踪导航功能

    蓝图中设置追踪目标

     

    4碰撞事件

    1.Overlap重叠事件(类似Unity里的触发器,又不同)两者均需要勾选Generate Overlap

    5纯物理模拟子弹

    1.删除projectile组件,更改Sphere Mesh的碰撞预设,给小球生成时添加Physics Linear Velocity,更改发射方向。

    2.选中Actor,修改生命周期

    第二章 碰撞体

    1简易碰撞体

    2DOP碰撞体

    10DOP分别沿着X Y Z轴创建更复杂的碰撞体

    3凸面碰撞体

     

    4567UBX导入碰撞体

    3DMAX中制作碰撞体的命名规则:盒型UBX、球形USP、不规则UCX,紧跟其中一个模型的名称。不规则时,每个内角要小于180°,是一个凸边形。

     

    8从其他模型复制碰撞体

    选中其他已有碰撞体的相同模型,在无碰撞体的模型中选择Copy

    9碰撞体积

    Blocking Volume通常当作场景的边界碰撞盒,可同BSP模型一样进行编辑修改

    第三章 物理刚体

    1物理刚体

    2质量

    3质心

    4运动衰减

    6运动空间锁定

    第四章 碰撞通道

    1类型、反馈、通道

    Object Type ——> Response ——> Channel

    2UE4中的碰撞设置

    3碰撞案例测试

    1.阴影烘培效果,Movable是实时的,Static需要构建

    2.可破坏物体 设置碰撞时可破碎

    3.各种Object Response设置

    4类型与反馈案例

    5添加自定义碰撞

     

    第五章 碰撞事件

    1ACTOR交叉触发

    Event ActorBeginOverlap——碰撞物体触发

    Event ActorEndOverlap

    2OnComponent触发

    Add On Component Begin Overlap——碰撞组件触发

    Add On Component End Overlap

    3击中

    Event Hit

    开启Hit事件 碰撞响应要设置为Block

    4击伤事件

    1.应用伤害Apply Damage

    2.接受伤害

    Event AnyDamage

    Event PointDamage

    Event RadialDamage

    5伤害类型

    1.DamageType的预设类别

    2.创建一个继承DamageType的自定义DamageType蓝图

     

    3.代替Add Impulse产生冲击力,设置Damage Type中的Damage Impulse为80。但Apply Damage无法触发代码Add Impluse At Location(Apply Point/Radial Damage可以)。

    AnyDamage连接下的

    6点伤害

    1.子弹蓝图里触发Damage

    7范围伤害规则

    1.球形范围伤害

    2.由于Damage Prevention Channel的原因,侧面和后面的方块受到的爆破力被阻碍

    8完全伤害

    1.C++引擎源码中的ApplyRadialDamge蓝图节点信息

    h头文件

    /** Hurt locally authoritative actors within the radius. Will only hit components that block the Visibility channel.
    	 * @param BaseDamage - The base damage to apply, i.e. the damage at the origin.
    	 * @param Origin - Epicenter of the damage area.
    	 * @param DamageRadius - Radius of the damage area, from Origin
    	 * @param DamageTypeClass - Class that describes the damage that was done.
    	 * @param DamageCauser - Actor that actually caused the damage (e.g. the grenade that exploded).  This actor will not be damaged and it will not block damage.
    	 * @param InstigatedByController - Controller that was responsible for causing this damage (e.g. player who threw the grenade)
    	 * @param bFullDamage - if true, damage not scaled based on distance from Origin
    	 * @param DamagePreventionChannel - Damage will not be applied to victim if there is something between the origin and the victim which blocks traces on this channel
    	 * @return true if damage was applied to at least one actor.
    	 */
    	UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, Category="Game|Damage", meta=(WorldContext="WorldContextObject", AutoCreateRefTerm="IgnoreActors"))
    	static bool ApplyRadialDamage(const UObject* WorldContextObject, float BaseDamage, const FVector& Origin, float DamageRadius, TSubclassOf<class UDamageType> DamageTypeClass, const TArray<AActor*>& IgnoreActors, AActor* DamageCauser = NULL, AController* InstigatedByController = NULL, bool bDoFullDamage = false, ECollisionChannel DamagePreventionChannel = ECC_Visibility);
    	
    	/** Hurt locally authoritative actors within the radius. Will only hit components that block the Visibility channel.
    	 * @param BaseDamage - The base damage to apply, i.e. the damage at the origin.
    	 * @param Origin - Epicenter of the damage area.
    	 * @param DamageInnerRadius - Radius of the full damage area, from Origin
    	 * @param DamageOuterRadius - Radius of the minimum damage area, from Origin
    	 * @param DamageFalloff - Falloff exponent of damage from DamageInnerRadius to DamageOuterRadius
    	 * @param DamageTypeClass - Class that describes the damage that was done.
    	 * @param DamageCauser - Actor that actually caused the damage (e.g. the grenade that exploded)
    	 * @param InstigatedByController - Controller that was responsible for causing this damage (e.g. player who threw the grenade)
    	 * @param bFullDamage - if true, damage not scaled based on distance from Origin
    	 * @param DamagePreventionChannel - Damage will not be applied to victim if there is something between the origin and the victim which blocks traces on this channel
    	 * @return true if damage was applied to at least one actor.
    	 */
    	UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, Category="Game|Damage", meta=(WorldContext="WorldContextObject", AutoCreateRefTerm="IgnoreActors"))
    	static bool ApplyRadialDamageWithFalloff(const UObject* WorldContextObject, float BaseDamage, float MinimumDamage, const FVector& Origin, float DamageInnerRadius, float DamageOuterRadius, float DamageFalloff, TSubclassOf<class UDamageType> DamageTypeClass, const TArray<AActor*>& IgnoreActors, AActor* DamageCauser = NULL, AController* InstigatedByController = NULL, ECollisionChannel DamagePreventionChannel = ECC_Visibility);

    cpp实现

    bool UGameplayStatics::ApplyRadialDamage(const UObject* WorldContextObject, float BaseDamage, const FVector& Origin, float DamageRadius, TSubclassOf<UDamageType> DamageTypeClass, const TArray<AActor*>& IgnoreActors, AActor* DamageCauser, AController* InstigatedByController, bool bDoFullDamage, ECollisionChannel DamagePreventionChannel )
    {
    	float DamageFalloff = bDoFullDamage ? 0.f : 1.f;
    	return ApplyRadialDamageWithFalloff(WorldContextObject, BaseDamage, 0.f, Origin, 0.f, DamageRadius, DamageFalloff, DamageTypeClass, IgnoreActors, DamageCauser, InstigatedByController, DamagePreventionChannel);
    }
    
    bool UGameplayStatics::ApplyRadialDamageWithFalloff(const UObject* WorldContextObject, float BaseDamage, float MinimumDamage, const FVector& Origin, float DamageInnerRadius, float DamageOuterRadius, float DamageFalloff, TSubclassOf<class UDamageType> DamageTypeClass, const TArray<AActor*>& IgnoreActors, AActor* DamageCauser, AController* InstigatedByController, ECollisionChannel DamagePreventionChannel)
    {
    	FCollisionQueryParams SphereParams(SCENE_QUERY_STAT(ApplyRadialDamage),  false, DamageCauser);
    
    	SphereParams.AddIgnoredActors(IgnoreActors);
    
    	// query scene to see what we hit
    	TArray<FOverlapResult> Overlaps;
    	if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
    	{
    	World->OverlapMultiByObjectType(Overlaps, Origin, FQuat::Identity, FCollisionObjectQueryParams(FCollisionObjectQueryParams::InitType::AllDynamicObjects), FCollisionShape::MakeSphere(DamageOuterRadius), SphereParams);
    	}
    
    	// collate into per-actor list of hit components
    	TMap<AActor*, TArray<FHitResult> > OverlapComponentMap;
    	for (int32 Idx=0; Idx<Overlaps.Num(); ++Idx)
    	{
    		FOverlapResult const& Overlap = Overlaps[Idx];
    		AActor* const OverlapActor = Overlap.GetActor();
    
    		if ( OverlapActor && 
    			OverlapActor->bCanBeDamaged && 
    			OverlapActor != DamageCauser &&
    			Overlap.Component.IsValid() )
    		{
    			FHitResult Hit;
    			if (DamagePreventionChannel == ECC_MAX || ComponentIsDamageableFrom(Overlap.Component.Get(), Origin, DamageCauser, IgnoreActors, DamagePreventionChannel, Hit))
    			{
    				TArray<FHitResult>& HitList = OverlapComponentMap.FindOrAdd(OverlapActor);
    				HitList.Add(Hit);
    			}
    		}
    	}
    
    	bool bAppliedDamage = false;
    
    	if (OverlapComponentMap.Num() > 0)
    	{
    	// make sure we have a good damage type
    	TSubclassOf<UDamageType> const ValidDamageTypeClass = DamageTypeClass ? DamageTypeClass : TSubclassOf<UDamageType>(UDamageType::StaticClass());
    
    		FRadialDamageEvent DmgEvent;
    		DmgEvent.DamageTypeClass = ValidDamageTypeClass;
    		DmgEvent.Origin = Origin;
    		DmgEvent.Params = FRadialDamageParams(BaseDamage, MinimumDamage, DamageInnerRadius, DamageOuterRadius, DamageFalloff);
    
    	// call damage function on each affected actors
    	for (TMap<AActor*, TArray<FHitResult> >::TIterator It(OverlapComponentMap); It; ++It)
    	{
    		AActor* const Victim = It.Key();
    		TArray<FHitResult> const& ComponentHits = It.Value();
    		DmgEvent.ComponentHits = ComponentHits;
    
    		Victim->TakeDamage(BaseDamage, DmgEvent, InstigatedByController, DamageCauser);
    
    		bAppliedDamage = true;
    	}
    	}
    
    	return bAppliedDamage;
    }
    

    2.Apply Radial Damage with Falloff (falloff为0不衰减,越大衰减越快

    第六章 射线检测

    1零粗细(很细)射线检测

     

    射线通道TraceChannel

    Visibility——适用于两点之间,存在障碍物时触发

    Camera——适用于从相机发出射线

    TraceComplex——针对复杂物体,检测复杂碰撞体还是简单的碰撞体,一般不开启

     

    Note设置Start End Position

    绘制射线的持续时间

    2零检测返回结果

    法线

    测试

     

    4球体非零粗细检测

    5调试检测结果

    蓝图

    预测

    实际

    6多重零粗细检测

    1.立方体 碰撞预设设置由BlockAll变为OverlapAll

    Blocking Hit 绿色为false,红色为true

    7盒子、胶囊体检测

    Orientation——方向

     

    8逐多边形检测

    Trace Complex 不勾选——检测碰撞体

    勾选——检测多边形模型

    同时,模型选择Use Complex Collision As Simple Collision

     

     

    展开全文
  • 该IDE的概念主要来自虚幻引擎蓝图编辑器,因此,我必须感谢EPIC提出了这个绝妙的主意,但它并不是针对移动设备的。 这就是为什么我决定发起这个项目的原因。 可能性 这可能在教育机构中用于初学者,并且可以用作...
  • 虚幻引擎4中的蓝图和材料编辑器的布线样式 如何使用 可以从购买电子节点。 购买后,它将与兼容的引擎版本一起自动下载。 您可以在Wiki上找到有关如何配置和使用插件的帮助:您可以在Wiki上找到常见问题的答案: ...
  • 具有基于蓝图支持的客户端。 如何安装 由于尚未将其开发为插件,因此安装过程会非常繁琐。 到目前为止,仅支持Windows x64。 确保您的项目针对C ++进行了设置。 如果还不是这种情况,请在Unreal中添加一个简单的C +...
  • UE4蓝图API离线

    2020-10-21 17:33:11
    UE4官方蓝图API离线资源。方便学习者不必在线打开网页来查询蓝图API。提高了学习效率。本资源仅用于学习查询
  • 所有节点(蓝图)和功能(C ++)都具有一系列参数,以实现完全灵活性并与VIVE运动控制器/ Room-Scale VR项目兼容。 也可在 同时支持SteamVR / Vive和Oculus Rift 重要的: 对于仅插件存储库(无演示项目),请 ...
  • 虚幻引擎4蓝图节点

    千次阅读 多人点赞 2020-04-13 19:09:32
    收集一些自己了解的蓝图节点,以便更好地学习。

    前言

    此文章为收集虚幻引擎蓝图中的节点所写,随着学习的深入会继续添加其他的蓝图节点,有些自己都不大理解的节点就不介绍了。
    节点的作用以及接口大多是博主自己描述的,如果有出现描述与实际不符时可以在文章下方留言。

    虚幻引擎在新的版本有将节点进行汉化,如果你找不到该节点有可能是英汉转换过的,也有可能是还没有收录到文章中的节点。
    注:此篇文章并非官方文档节点的汉化版,仅为个人学习收集。

    虚幻引擎版本:4.23.1

    节点简介
    节点的左侧为输入的接口
    节点右侧为输出的接口
    节点执行的顺序为从左到右
    通过事件节点可触发执行节点
    执行节点可通过读取节点获取所需的值
    节点类型介绍
    事件节点红色标题,可以用于触发其他的节点
    执行节点蓝色标题,需要被触发才能执行某种功能
    读取节点绿色标题,可以对某个值进行运算,然后传出给其他节点

    为了方便查阅相应的节点,节点会根据虚幻蓝图中所属的分类来进行区分。

    类型将会以序号开头(① ②…),如果是蓝图节点的话将会在标题后添加“节点”

    在这里插入图片描述

    虚幻引擎4文档

    虚幻引擎蓝图API参考文档

    HelloCJC虚幻引擎社区

    蓝图节点导航

    ①AI

    ②Behavior Tree

    Finish Execute-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:结束一个任务Task

    输入接口介绍
    目标连接需要结束的任务蓝图
    Success是否完成任务蓝图,默认为OFF

    Set Blackboard Value as Vector-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变黑板中的键值为某个坐标

    输入接口介绍
    Key连接需要变更的黑板键值
    Value变更的坐标值

    ②Navigation

    GetRandomPointInNavigableRadius-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获得某个圆形区域内的一个随机坐标

    输入接口介绍
    Origin圆点的位置
    Radius圆的半径,类型为浮点型
    Nav Data导航数据
    Filter Class过滤器类别
    输出接口介绍
    Random Location输出该圆形区域的一个随机坐标
    Return Value是否成功生成随机坐标,是则返回true,类型为布尔型

    ②Run Behavior Tree-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:执行AI行为树,实现AI功能

    输入接口介绍
    目标执行AI行为树的物体
    BTAsset需要执行的AI行为树
    输出接口介绍
    Return Value是否成功执行了AI行为树,类型为布尔型

    ①Appearance

    Set Brush from Texture-节点

    该节点只能通过image组件的输出接口搜索创建,不能直接搜索创建

    在这里插入图片描述
    在这里插入图片描述
    作用:设置Image组件的Brush贴图

    输入接口介绍
    目标默认为自身
    Texture需要设置的图片
    Match Size是否根据组件大小对图片进行缩放,默认为False,类型为布尔

    ①Audio

    ②Components

    ③Audio

    Is Playing-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:判断音频组件是否正在播放音效

    输入接口介绍
    目标连接需要判断的Audio组件
    输出接口介绍
    Return Value若组件正在播放输出true,否则输出false,类型为布尔

    Play-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:触发指定的音频组件进行播放

    输入接口介绍
    目标连接需要播放的Audio组件
    Start Time播放的开始时间,单位为秒,类型为浮点型,默认为0,如果有一段音频共20秒长度,Start Time设置为10,表示直接在音频的第10秒处开始播放,前面的10秒将会忽略不播放。

    Stop-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:停止某个音频组件的播放(并非暂停)

    输入接口介绍
    目标连接需要停止播放的Audio组件

    Stop Delayed-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:延迟一段时间后,停止某个音频组件的播放(并非暂停)

    输入接口介绍
    目标连接需要停止播放的Audio组件
    Delay Time延迟的时间,单位为秒,类型为浮点型,默认值为0

    ①Character

    Jump-节点

    在这里插入图片描述
    在这里插入图片描述

    作用:让目标跳跃。

    输入接口介绍
    目标连接一个执行跳跃的物体

    Stop Jumping-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:停止目标的跳跃。

    输入接口介绍
    目标连接一个执行停止跳跃的物体

    ①Collision

    Break Hit Result-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:从碰撞信息中分离出更细的内容

    输入接口介绍
    Hit需要分离的碰撞信息
    输出接口介绍
    Blocking Hit如果存在阻挡命中返回True,否则为false,类型为布尔型
    Initial Overlap如果命中在一个初始重叠中开始,则为True,类型为布尔型
    Time发生命中所需的时间,范围为0.0到1.0,若值为1.0时表示无命中,类型浮点型
    Distance从射线起始点到碰撞体位置的距离,类型为浮点型
    Location碰撞体在场景中的坐标
    Impact Point射线与碰撞体接触点的坐标
    Normal场景空间中命中的法线,用于被扫描的对象
    Impact Normal场景空间中命中的法线,用于被扫描的对象
    Phys Mat碰撞体的物理材质
    Hit Actor被射线命中的碰撞体
    Hit Component被射线命中的碰撞体相应的组件
    Hit Bone Name命中的骨架名称,仅在命中骨架网格体时有效
    Hit Item基元特定的数据,记录基元中被命中的项目(推测是射线被命中的物体数量),类型为整型
    Face Index与三角网格图或地形发生碰撞时,被命中面的索引(下标)
    Trace Start射线的开始坐标
    Trace End射线的结束坐标

    LineTraceByChannel-节点

    在这里插入图片描述

    在这里插入图片描述
    作用:发射射线进行碰撞检测,并将该碰撞体的信息输出

    输入接口介绍
    Start射线开始的位置
    End射线结束的位置
    Trace Channel追踪通道
    Trace Complex复杂追踪,默认为OFF
    Actors to Ignore碰撞检测忽略的对象,类型为数组
    Draw Debug Type调试类型
    Ignore Self碰撞检测是否忽略自身,默认为ON
    Trace Color射线颜色
    Trace Hit Color射线接触点的颜色
    Draw Time射线的持续时间,类型为浮点型
    输出接口介绍
    Out Hit输出碰撞结果
    Return Value是否有检测到碰撞,类型为布尔型
    Draw Debug Type介绍
    None
    For One Frame每帧
    For Duration一段时间
    Persistent持续存在

    ①Components

    ②Activation

    Activate-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:激活场景组件,使其可被控制,但执行此节点不会获取该场景组件的控制。

    输入接口介绍
    目标连接一个需要激活的组件
    Reset是否进行激活(不大清楚具体的效果,可以不用勾选)

    Deactivate-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:停用场景组件,若还有其他已激活的场景组件时,将会转到该组件的控制。

    输入接口介绍
    目标连接一个需要停用的组件

    ①Game

    ②Cinematic

    Set Game Paused-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:暂停游戏

    输入接口介绍
    Paused是否暂停游戏,类型为布尔,默认为OFF
    输出接口介绍
    Return Value暂停成功输出True,失败则输出False,类型为布尔

    Is Game Paused-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:输出游戏的暂停状态

    输出接口介绍
    Return Value当游戏处于暂停状态时,输出True,否则输出False类型为布尔

    Get Player Character-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:返回玩家角色

    输入接口介绍
    Player Index填写相应玩家索引,类型为整型(值为0时表示player 0,即自身)
    输出接口介绍
    Return Value输出相应的玩家角色

    Get Player Controller-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:返回玩家控制器

    输入接口介绍
    Player Index填写相应玩家索引,类型为整型(值为0时表示player 0,即自身)
    输出接口介绍
    Return Value输出相应的玩家控制器

    Quit Game-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:退出游戏操作

    输入接口介绍
    Specific Player需要退出的玩家,默认为玩家0(即自身)
    Quit Preference退出的方式
    Ignore Platform Restrictions是否忽略平台限制,类型为布尔型

    打开关卡-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:打开一个关卡地图

    输入接口介绍
    Level Name关卡地图的名字,默认为空,类型为字符串
    Absolute默认为True,类型为布尔
    Options可选项,类型为字符串

    ① HUD

    Draw Text-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:在HUD上绘制一个字符串

    输入接口介绍
    目标需要绘制字符串的HUD目标,默认为自身
    Text绘制的字符串内容,类型为字符串
    Text Color字符串颜色
    Screen X横轴,默认为0,值为0时为屏幕最左边的点,类型为浮点型
    Screen Y竖轴,默认为0,值为0时为屏幕最上角的点,类型为浮点型
    Font字体
    ScaleHUD的大小,类型为浮点型
    Scale Positionscale的缩放值是否会影响HUD的位置,类型为布尔

    Draw Texture-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:在HUD中绘制图形

    注:对图形的延伸相当于,将原本一个固定的Texture区域划分成多个块,每个块都是同样的Texture

    输入接口介绍
    目标需要绘制字符串的HUD目标,默认为自身
    Texture需要绘制的图形
    Screen X横轴,默认为0,值为0时为屏幕最左边的点,类型为浮点型
    Screen Y竖轴,默认为0,值为0时为屏幕最上角的点,类型为浮点型
    Screen W图形宽度,默认为0,类型为浮点型
    Screen H图形高度,默认为0,类型为浮点型
    Texture U图形锚点的X轴坐标,默认为0,类型为浮点型
    Texture V图形锚点的Y轴坐标,默认为0,类型为浮点型
    Texture UWidth图形在X轴方向的复制延伸,默认为0,类型为浮点型
    Texture VHeight图形在Y轴方向的复制延伸,默认为0,类型为浮点型

    Draw Texture Simple-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:是Draw Texture节点的简化版,在HUD上绘制图形

    输入接口介绍
    目标需要绘制字符串的HUD目标,默认为自身
    Texture需要绘制的图形
    Screen X横轴,默认为0,值为0时为屏幕最左边的点,类型为浮点型
    Screen Y竖轴,默认为0,值为0时为屏幕最上角的点,类型为浮点型
    ScaleHUD的大小,类型为浮点型
    Scale Positionscale的缩放值是否会影响HUD的位置,类型为布尔

    ①Math

    ②Byte

    %(Byte)-节点

    在这里插入图片描述
    在这里插入图片描述

    作用:输出上接口对下接口的求余结果。

    ②Conversions

    ToBool(integer)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将整型的数据转换成布尔型数据输出

    ToInt(bool)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将布尔型的数据转换成整型数据输出

    ②Date Time

    GetDate-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取传入参数的日期,并输出

    ②Float

    Equal(float)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:判断两个float变量值是否相等,相等则返回True,若不相等时不输出。

    NoEqual(float)-节点

    在这里插入图片描述
    在这里插入图片描述

    作用:判断两者是否不等,如果不等则输出True,否则不输出

    Truncate-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将输入的数值截断小数后,输出整数

    Truncate(Vector)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将输入的数值截断小数后,输出整数

    %(float)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:输出上接口对下接口的求余结果。

    ②Integer

    Equal(integer)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:判断两个整型值是否相等,相等则输出True,若不相等时不输出。

    integer + integer 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将多个整型变量的值相加,并输出。通过添加引脚可以添加新的输入接口。

    integer - integer 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将两个整型变量的值相减,输出值=上接口变量 - 下接口变量。

    integer * integer 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将多个整型变量的值相乘,并输出。通过添加引脚可以添加新的输入接口。

    integer / integer 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将两个整型变量的值相除,输出值=上接口变量 / 下接口变量。

    NoEqual(integer)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:判断两个值是否不等,如果不等则输出True,否则不输出

    %(integer)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:输出上接口对下接口的求余结果

    Make Literal Int-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:输出整数

    输入接口介绍
    Value连接需要输出的整数,不连接时默认为0
    输出接口介绍
    Return Value输出整数

    ②Rotator

    Make Rotator-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:根据Roll、Pitch、Yaw值创建旋转向量并输出

    输入接口介绍
    X (Roll)Roll值,默认为0,类型为浮点型
    Y (Pitch)Pitch值,默认为0,类型为浮点型
    Z (Yaw)Yaw值,默认为0,类型为浮点型
    输出接口介绍
    Return Value输出Roll、Pitch、Yaw三者组成的向量

    ②String

    Equal(string)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:判断两个字符串值是否相等,相等则输出True,若不相等时不输出。

    ②Transform

    Make Transform-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将所需不同物体的位置、旋转和缩放创建一个变换

    输入接口介绍
    Location获取相应的坐标
    Rotation获取旋转
    Scale获取相应的缩放
    输出接口介绍
    Return Value输出一个变换

    ②Vector

    RotateVector-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将旋转和坐标位置进行结合,输出一个向量

    输入接口介绍
    A连接需要结合的坐标
    B连接需要结合的旋转

    vector + float 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将一个浮点数添加到一个向量中,并输出向量

    vector + int 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将一个整数添加到一个向量中,并输出向量

    vector + vector 节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将两个向量进行结合,输出结合后的向量

    ①Online

    ②Session

    Create Session-节点

    在这里插入图片描述
    在这里插入图片描述

    作用:创建会话,可让其他玩家加入

    输入接口介绍
    Player Controller玩家控制器,用于连接需要创建会话的角色
    Public Connections会话的最大加入玩家数,默认为0,类型为整型
    Use LAN是否启用局域网,类型为布尔
    输出接口介绍
    On Success创建会话成功时将会执行与其连接的节点
    On Failure创建会话失败时将会执行与其连接的节点

    Find Sessions-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:搜索一个会话,并返回搜索到的会话信息

    输入接口介绍
    Player Controller玩家控制器,用于连接需要查找会话的角色
    Max Results查找的会话最大玩家数,默认为0,类型为整型
    Use LAN查找的会话是否为局域网类型,类型为布尔
    输出接口介绍
    On Success查找会话成功时将会执行与其连接的节点
    On Failure查找会话失败时将会执行与其连接的节点
    Results保存了该会话的所有信息,可与其他节点连接使用这些信息,类型为数组

    Get Current Players-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取当前玩家数

    输入接口介绍
    Result连接一个包含会话信息的数组,类型为数组
    输出接口介绍
    Return Value输出当前玩家数量,类型为整型

    Get Max Players-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取会话最大玩家数

    输入接口介绍
    Result连接一个包含会话信息的数组,类型为数组
    输出接口介绍
    Return Value输出该会话最大可容纳的玩家数量,类型为整型

    Get Ping in Ms-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取会话的延迟

    输入接口介绍
    Result连接一个包含会话信息的数组,类型为数组
    输出接口介绍
    Return Value输出该会话当前的延迟大小,类型为整型

    Get Server Name-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取服务器的名称

    输入接口介绍
    Result连接一个包含会话信息的数组,类型为数组
    输出接口介绍
    Return Value输出服务器的名称,类型为字符串

    Join Session-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:加入一个已有的会话

    输入接口介绍
    Player Controller玩家控制器,用于连接需要加入会话的角色
    Search Result查找会话的结果,类型为数组
    输出接口介绍
    On Success加入会话成功时将会执行与其连接的节点
    On Failure加入会话失败时将会执行与其连接的节点

    ①Pawn

    ②Input

    Add Controller Pitch Input-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:调用val值来变更目标的Yaw值,从而实现目标在Pitch方向的旋转。(绕Y轴的旋转方向)
    在这里插入图片描述

    接口介绍
    目标连接一个需要旋转的物体
    Val可连接传值接口,类型为浮点型,获取Pitch的变化值。

    Add Controller Roll Input-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:调用val值来变更目标的Roll值,从而实现目标在Roll方向的旋转。(绕X轴的旋转方向)
    在这里插入图片描述

    接口介绍
    目标连接一个需要旋转的物体
    Val可连接传值接口,类型为浮点型,获取Roll的变化值。

    Add Controller Yaw Input-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:调用val值来变更目标的Yaw值,从而实现目标在Yaw方向的旋转。(绕Z轴的旋转方向)
    在这里插入图片描述

    输入接口介绍
    目标连接一个需要旋转的物体
    Val可连接传值接口,类型为浮点型,获取Yaw的变化值。

    Add Movement Input-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变某个物体在世界轴当中的位置。

    输入接口介绍
    目标连接需要移动的物体
    World Direction可连接Get Forward VectorGet Right Vector节点来获取物体在世界当中的方向
    Scale Value移动的距离,类型为浮点型
    Force布尔类型(目前尚不清楚其作用)

    Possess-节点

    该节点可通过某些节点的输出引用来创建,不能单独搜索创建

    在这里插入图片描述
    在这里插入图片描述
    作用:设置某一个蓝图类的控制者

    输入接口介绍
    目标需要变更成哪个玩家控制
    In Pawn连接需要变更控制权的蓝图类

    ①Physics

    Add Impulse at Location-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:为一个组件添加冲量,冲量越大物体撞击的力度越大。

    输入接口介绍
    目标连接需要添加冲量的组件
    Impulse冲量相应的数值
    Location可连接GetActorLocation节点来获取物体在世界轴的位置
    Bone Name冲量的名称

    ①Progress

    Set Percent-节点

    该节点可通过某些节点的输出引用来创建,不能单独搜索创建

    在这里插入图片描述
    在这里插入图片描述
    作用:设置血条的百分比

    输入接口介绍
    目标连接需要设置的Progress Bar血条
    Inpercent设置血条的百分比,类型为浮点型,默认值为0

    ①Rendering

    ②Components

    ③Text Render

    Set Text-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变文本值

    输入接口介绍
    目标需要变更文本目标
    Value连接变更的文本值

    ①Save Game

    Create Save Game Object-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:创建一个SaveGame类,可输出相应的对象以供使用。

    输入接口介绍
    Save Game Class需要创建的Save Game类(该类用于保存游戏数据)
    输出接口介绍
    Return Value输出Save Game类的对象

    Does Save Game Exist-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:检查指定名称的存档是否存在。

    输入接口介绍
    Slot Name存档名称,类型为字符串
    User Index玩家索引,类型为整型
    输出接口介绍
    Return Value输出该存档是否存在,存在则输出True,否则输出False,类型为布尔

    Load Game from Slot-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:从指定的存档中加载游戏数据,可输出相应的对象以供使用。

    输入接口介绍
    Slot Name存档名称,类型为字符串
    User Index玩家索引,类型为整型
    输出接口介绍
    Return Value输出Save Game类的对象

    ①User Iterface

    ②Viewport

    Add to Player Screen-节点

    无法通过搜索直接创建

    在这里插入图片描述
    在这里插入图片描述
    作用:添加界面到屏幕,适用于分屏游戏

    输入接口介绍
    目标需要添加的目标控件
    ZOder控件层级,数值越大层级越高
    输出接口介绍
    Return Value如果添加成功则输出True,否则输出False,类型为布尔

    Add to Viewport-节点

    无法通过搜索直接创建

    在这里插入图片描述
    在这里插入图片描述
    作用:添加界面到屏幕

    输入接口介绍
    目标需要添加的目标控件
    ZOder控件层级,数值越大层级越高

    ①Utilities

    ②Array

    ADD-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将某个元素添加到数组的末尾,并将添加的元素输出

    Append Array-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将下接口数组的元素添加到上接口数组的末尾

    Length-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取数组中元素的数量,并输出

    Remove Index-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:删除数组中的某个索引(下标)的元素,删除该索引后,之后的元素将会前移。

    Set Array Elem-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:对数组的某个元素进行变更

    输入接口介绍
    Target Array目标数组
    Index数组相应的索引(下标)
    Item需要变成什么值
    Size to Fit若索引(下标)超过数组原本的个数时,将会将数组扩展

    DestroyActor-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:通过执行该节点,来清除某个物体

    输入接口介绍
    目标连接需要被清除的物体,不连接时默认清除自身(即清除该蓝图类)

    ②Flow Control

    Delay-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:延迟执行

    输入接口介绍
    Duration延迟时间的设置,可调用外部值

    ②Transformation

    AddActorLocalOffset-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变物体的位置,在原基础上添加

    输入接口介绍
    目标执行的物体
    Delta Rotation执行一次节点时,所添加的坐标值
    Sweep是否扫描到目标位置,默认为False,类型为布尔
    Teleport是否传送物理状态,默认为False,类型为布尔
    输出接口介绍
    Sweep Hit Result输出该物体移动或旋转后命中的物体结果

    AddActorLocalRotation-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变物体的旋转,在原基础上添加

    输入接口介绍
    目标执行的物体
    Delta Rotation执行一次节点时,所添加的旋转值
    Sweep是否扫描到目标位置,默认为False,类型为布尔
    Teleport是否传送物理状态,默认为False,类型为布尔
    输出接口介绍
    Sweep Hit Result输出该物体移动或旋转后命中的物体结果

    AddActorWorldOffset-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变物体位置,在原物体的位置上添加

    输入接口介绍
    目标执行节点的物体
    Delta Location执行一次节点时,所添加的坐标值
    Sweep是否扫描到目标位置,默认为False,类型为布尔
    Teleport是否传送物理状态,默认为False,类型为布尔
    输出接口介绍
    Sweep Hit Result输出该物体移动或旋转后命中的物体结果

    AddActorWorldRotation-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:改变物体的旋转,在原基础上添加

    输入接口介绍
    目标执行的物体
    Delta Rotation执行一次节点时,所添加的旋转值
    Sweep是否扫描到目标位置,默认为False,类型为布尔
    Teleport是否传送物理状态,默认为False,类型为布尔
    输出接口介绍
    Sweep Hit Result输出该物体移动或旋转后命中的物体结果

    AddActorWorldTransform-节点

    在这里插入图片描述
    在这里插入图片描述

    作用:改变物体的旋转和位置,在原基础上添加

    输入接口介绍
    目标执行的物体
    Delta Rotation执行一次节点时,所添加的旋转和位置值组成的向量
    Sweep是否扫描到目标位置,默认为False,类型为布尔
    Teleport是否传送物理状态,默认为False,类型为布尔
    输出接口介绍
    Sweep Hit Result输出该物体移动或旋转后命中的物体结果

    GetActorLocation-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取一个物体在世界中的坐标,输出该坐标
    在这里插入图片描述

    输入接口介绍
    目标连接一个需要获取坐标的物体
    输出接口介绍
    Return Value输出目标物体在世界中的坐标

    GetActorRotation-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取一个物体在世界中的旋转角度(Roll、Pitch、Yaw),输出旋转角度.
    在这里插入图片描述

    输入接口介绍
    目标连接一个需要获取旋转角度的物体
    输出接口介绍
    Return Value输出目标物体在世界中的旋转角度

    GetWorldRotation-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:获取一个物体在世界中的旋转角度(Roll、Pitch、Yaw),输出旋转角度.
    在这里插入图片描述

    输入接口介绍
    目标连接一个需要获取旋转角度的物体
    输出接口介绍
    Return Value输出目标物体在世界中的旋转角度

    ②String

    Append-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将按从上到下的顺序将字符串组合,并输出

    输出接口介绍
    Return Value输出组合后的字符串
    添加引脚添加新的字符串接口

    Make Literal String-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:输出字符串。

    输入接口介绍
    Value可以在方框处填写需要输出的字符串,也可以连接调用字符串变量
    输出接口介绍
    Return Value输出字符串

    Print String-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:在屏幕中打印出字符串,新字符串从左上角生成,旧字符串将会往下排列。

    输入接口介绍
    In String可连接传值接口,类型为字符串,输出该字符串的内容
    Print to Screen是否显示到屏幕
    Print to Log是否记录到日志
    Text Color文本的颜色
    Duration文本显示的时间

    ToString(boolean)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将布尔型的数据转换成字符串型数据(true/false)输出

    ToString(float)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将浮点型的数据转换成字符串型数据输出

    ToString(integer)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将整型的数据转换成字符串型数据输出

    ②Text

    Make Literal Text-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:创建一个文本,或是连接其他的文本值

    输入接口介绍
    Value连接需要传输的文本值,不连接值可直接创建文本

    Print Text-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将文本打印到屏幕

    输入接口介绍
    In Text连接需要打印的文本,不连接时可填写文本
    Print to Screen是否显示到屏幕
    Print to Log是否输出到日志
    Text Color文本的颜色
    Duration文本显示的时间

    ToText(float)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:将浮点型数值转换为文本并输出

    输入接口介绍
    Value连接需要转换的浮点型数值
    Rounding Mode转换的模式
    Always Sign默认为OFF
    Use Grouping默认为ON
    Minimum Integral Digits浮点型数据的整数区最小位数
    Maximum Integral Digits浮点型数据的整数区最大位数
    Minimum Fractional Digits浮点型数据的小数区最小位数
    Maximum Fractional Digits浮点型数据的小数区最大位数
    Rounding Mode介绍
    Half to Even四舍五入到最近的整数,如果两边距离相同时四舍五入到偶数的值
    Half from Zero四舍五入到最近的整数,如果两边距离相同时四舍五入到远离0的整数值
    Half to Zero四舍五入到最近的整数,如果两边距离相同时四舍五入到靠近0的整数值
    From Zero直接舍入到远离0的整数值
    To Zero直接舍入到靠近0的整数值
    To Negative Infinity直接舍入到较小的整数值
    To Positive Infinity直接舍入到较大的整数值

    ②流程控制

    分支-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似于if()语句,条件为真时执行True,条件为假执行False

    输入接口介绍
    Condition连接需要进行判断的条件。当没有勾选时,条件为真执行False,条件为假执行True

    ①Viewport

    Remove All Widgets-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:删除所有的控件

    ①Widget

    ②Panel

    Add Child-节点

    该节点不能直接搜索创建,需要通过某些节点的输出接口创建

    在这里插入图片描述
    在这里插入图片描述
    作用:将控件添加到某个容器组件中

    输入接口介绍
    目标需要添加的目标容器
    Content需要添加的子控件
    输出接口介绍
    Return Value输出目标组件的对象

    Has Any Children-节点

    该节点不能直接搜索创建,需要通过某些节点的输出接口创建

    在这里插入图片描述
    在这里插入图片描述
    作用:判断目标面板是否含有子组件

    输入接口介绍
    目标连接需要判断的面板
    输出接口介绍
    Return Value若目标面板存在子组件输出True,不存在则输出False,类型为布尔

    Has Child-节点

    该节点不能直接搜索创建,需要通过某些节点的输出接口创建

    在这里插入图片描述
    在这里插入图片描述
    作用:判断目标面板中是否存在某个组件

    输入接口介绍
    目标连接需要判断的面板,默认为自身
    Content选择或连接需要判断的组件
    输出接口介绍
    Return Value若存在则输出True,不存在输出False,类型为布尔

    Remove from Parent-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:删除某个控件

    ①变量

    ②Character Movement: Walking

    设置 Max Walk Speed-节点

    该节点可通过某些节点的输出引用来创建,不能单独搜索创建

    在这里插入图片描述
    在这里插入图片描述
    作用:设置玩家的移动速度

    输入接口介绍
    Max Walk Speed需要变更的速度大小
    目标连接需要变更移动速度的目标

    ②Mouse Interface

    设置 Show Mouse Cursor-节点

    该节点不能通直接搜索创建,需要通过其他节点创建

    在这里插入图片描述
    在这里插入图片描述
    作用:显示或隐藏鼠标指针

    输入接口介绍
    Show Mouse Cursor是否显示鼠标指针,默认为False,类型为布尔
    目标需要设置的玩家,默认为自身
    输出接口介绍
    (无名称)输出当前该角色的鼠标指针状态,True表示显示指针,False表示隐藏指针,类型为布尔

    ①参数

    VectorParameter-节点

    该节点的标题可自定义
    在这里插入图片描述
    在这里插入图片描述
    作用:点击该节点可设置相应颜色,通过接口输出相应的颜色。

    ①工具

    ②文本

    格式化文本-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:通过调用参数来创建字符串,类似于编程的printf(“x值:%d ,y值:%d”,x,y),当创建完毕后将会自动添加新的输入接口。

    输入接口介绍
    Format文本的内容

    ②流程控制

    For Loop-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似于编程中的for()循环语句,每经过一次循环Index+1

    输入接口介绍
    First Index开始的索引(下标)
    Last Index结束的索引(下标),当Index和Last Index值相同时,将会结束循环
    输出接口介绍
    Loop Body每次循环都会触发执行与其相连的节点
    Index当前循环的索引(下标)
    Completed结束循环时才会触发执行与其相连的节点

    For Loop with Break-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似于编程中的for()循环语句加上break语句,每经过一次循环Index+1,

    输入接口介绍
    First Index
    Last Index
    Break当该接口被触发时,将会停止循环执行Completed连接的节点
    输出接口介绍
    Loop Body每次循环都会执行与其连接的节点
    Index当前循环的索引(下标)
    Completed当循环结束时将会执行与其连接的节点

    ③Switch

    Flip Flop-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似于死循环,一旦执行了就不会停止。第一次执行A,第二次执行B,第三次执行A…,在两个接口中交替执行

    输出接口介绍
    Is A输出当前执行的是否为A接口,是则输出True,否则输出False

    开启字符串-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似于switch()语句,对条件进行判断,适用于有1~n种结果的情况,可以通过添加引脚来添加新的输出接口。

    输入接口介绍
    Selection连接需要进行判断的条件,类型为字符串

    While Loop-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似于编程中的while()语句,当符合条件时将会一直循环

    输入接口介绍
    Condition连接判断条件,当结果为True时将会执行LoopBody连接的节点,否则执行Completed连接的节点
    输出接口介绍
    Loop Body当判断结果为True时,将会执行与其连接的节点
    Completed当判断结果为False时,将会执行与其连接的节点

    序列-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:按从上到下的顺序执行多个输出接口,输出接口全部执行完毕后将会停止。

    输出接口介绍
    添加引脚添加新的需要执行的接口

    ②数组

    For Each Loop-节点

    在这里插入图片描述
    在这里插入图片描述

    作用:对数组中的元素进行处理,按索引(下标)进行取用

    输入接口介绍
    Array连接需要处理的数组
    输出接口介绍
    Loop Body每次循环将会执行与其连接的节点
    Array Element当前取出的元素值
    Array Index当前取出的元素值相应的索引(下标)
    Completed当循环结束时将会执行与其连接的节点,即遍历数组结束就会执行

    For Each Loop with Break-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:类似编程for()语句中带有break语句,循环可中断,对数组元素进行操作。

    输入接口介绍
    Exec触发该节点的接口
    Array接入需要操作的数组
    Break当这个接口触发时,将会让循环停止并从Completed执行
    输出接口介绍
    Loop Body每一次循环都会执行与其连接的节点
    Array Element输出相应数组元素值
    Array Index输出相应数组元素值的索引(下标)
    Completed当循环结束时将会执行与其连接的节点

    Get(复制)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:复制出数组的某个元素,不会对原数组造成影响。

    Get(引用)-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:取出数组的某个元素,该元素值变更后数组相应元素的值也会变更。

    创建数组-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:创建一个临时的数组

    输出接口介绍
    Array输出一个数组
    添加引脚添加新的数组索引(下标)

    ①评级

    Play Sound at Location-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:在某个世界轴某个位置播放音乐资源。

    输入接口介绍(默认使用前两个接口)
    Sound播放的音乐资源
    Location播放器的坐标,可与GetActorLocation节点相连来获取物体的坐标
    Rotation播放器的旋转
    Volume Multiplier音量大小,类型为浮点型
    Pitch Multiplier音高,类型为浮点型
    Start Time音效开始时间(例:如果音乐总共3秒且该选项为2时,只播放从2-3秒间的音乐内容*)
    Attenuation Settings衰减设置包
    Concurrency Settings并发性设置包
    Owning Actor参与者对象

    ①添加事件

    ②AI

    事件Receive Tick AI-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:当AI行为树中调用该Task任务蓝图时,事件将会被触发

    输出接口介绍
    Owner Controller输出其控制器AIcontroller
    Controlled Pawn输出控制的AI类

    ②User Interface

    事件Construct-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:当控件被调用时执行

    事件BeginPlay-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:当游戏开始时将会触发该节点,仅触发一次

    事件Init-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:

    事件On Possess-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:使用了控制器蓝图后,该节点将会触发

    输入接口介绍
    Possessed Pawn输出自身的对象

    事件Receive Draw HUD-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:用于绘制画布,显示到玩家界面中。经过一帧触发一次,类似于死循环。

    输出接口介绍
    Size X输出游戏界面的X轴长度,类型为整型
    Size Y输出游戏界面的Y轴长度,类型为整型

    事件Tcik-节点

    在这里插入图片描述
    在这里插入图片描述
    作用:每经过一个帧就执行一次

    输出接口介绍
    Delta Seconds输出每两次执行的时间间隔

    ①用户界面

    创建控件-节点

    默认生成时为NONE
    在这里插入图片描述
    当选择了控件之后
    在这里插入图片描述

    作用:创建一个控件

    输入接口介绍
    Class连接需要创建的控件
    Owning Payer拥有该新控件的玩家,默认玩家0(即自身)
    输出接口介绍
    Return Value输出一个控件对象

    ①游戏

    (在官方API文档中类型为Game)

    从类生成Actor-节点

    刚生成的节点是NONE类型,当选择了一个类之后将会自动添加新的接口,而且标题名称也会变更

    在这里插入图片描述
    在这里插入图片描述
    添加了一个蓝图类FirstPersonProjectile之后:
    在这里插入图片描述
    在这里插入图片描述

    作用:生成一个指定的物体

    输入接口介绍
    Class连接蓝图类,可生成相应的物体
    Spawn Transform生成物体的转换,转换由坐标、旋转、缩放组成。可与Make Transform节点相连获取物体的转换。
    Collision Handing Override在这里插入图片描述
    Owner对象Actor的引用,可不填,用于复制或可视性
    Instigator对象Pawn的引用,负责处理物体产生的伤害和其他事件的Pawn
    输出接口介绍
    Return Value输出创建的蓝图类名称
    Collision Handing Override介绍
    Default默认生成
    Always Spawn,Ignore Collisions无视碰撞在所需位置生成
    Try To Adjust Location,But Always Spawn寻找附近的非碰撞位置生成,若未找到时将在所需位置生成
    Try To Adjust Location,Don’t Spawn If Still Colliding寻找附近非碰撞位置生成,找不到将不会生成
    Do Not Spawn不生成

    ①添加数学表达式-节点

    未添加表达式时
    在这里插入图片描述
    选中该节点,清除其Expression中的表达式,并创建所需要的表达式。
    此处使用了a+b的表达式,你可以通过使用字母和运算符来构造表达式。
    在这里插入图片描述
    变更了表达式之后,蓝图中的数学表达式节点也会变化,变化是根据表达式来的。

    在这里插入图片描述
    细节面板中的输入端会进行变更,Expression可能有稍微的变化。
    在这里插入图片描述
    注:如果你有变量的名称与表达式中的字母相同时,输入端将不会出现有该字母的接口,而是直接使用变量值。
    在这里插入图片描述

    展开全文
  • UE蓝图通信 目录UE蓝图通信情景一方法一:直接拾取(简单粗暴,局限性一对一)方法二:获取类的actor+.(调用)自定义函数/变量(1)获取类的actor+.(调用)自定义函数(2)获取类的actor+.(调用)变量方法三:蓝图接口情景...

    UE蓝图通信

    前言:
    最近在学习ue的路上,很有意思,希望能在ue的学习之路上,沿着前辈的路,留下自己的脚印。
    对于接触ue的新手而言,蓝图通信是必须掌握的,为了解决多个蓝图之间互相调用,函数、变量、组件等问题

    以下文章,以简单的例子说明,不做复杂的蓝图内容

    情景一

    ①两个蓝图类,一个为球体蓝图类,一个为控制器蓝图类
    ②球体类里边自定义一个落下事件设置球体为物理模拟,控制器类想要按键K使得球体落下
    ③那么在控制器类中调用球体类中下落函数事件,如何调用?

    首先创建两个蓝图类,方法一,方法二都是根据两个类做不同处理
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XLo2lHlL-1628855198118)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813150521241.png)]在这里插入图片描述

    ????????????????????????????????????????????????????????????

    方法一:直接拾取(简单粗暴,局限性一对一)

    控制器蓝图类中创建变量,并设置其类型为为球体蓝图类的对象类型,然后点击小眼睛把变量暴露出去,然后选中控制器,从细节面板中选择世界大纲中球体类的实例中的某一个作为控制器蓝图类中的变量(值);如下图所示

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M6goyRaT-1628855198121)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813183442743.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s8n7vBKU-1628855198122)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813183740683.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNI0EQUv-1628855198124)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813183917186.png)]

    方法二:获取类的actor+.(调用)自定义函数/变量

    actor比较片面,因为还有widget,暂时不考虑和用户界面的获取,如果过于复杂,读者看文章的时候比较乱,所以暂时以偏概全吧。

    (1)获取类的actor+.(调用)自定义函数

    一般使用方式:获取类的actor+蓝图类内部自定义函数
    通过获取该类的actor,可以返回函数和暴露的变量,然后找到调用执行即可
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Pp3v4iP-1628855198125)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813153240102.png)]
    当然了获取actor不只是get actor of class这一个方法,还有以下方法
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hgcs7VX5-1628855198125)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813164832317.png)]

    【注意】当我们想要获取用户界面蓝图类的时候,不能用actor,而是widget(所以获取用户控件的时候要注意)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aHvMbPLj-1628855198127)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813155716887.png)]

    (2)获取类的actor+.(调用)变量

    在这里插入图片描述

    ①如果想要拿到蓝图类中的某个模型,需要将其转化为变量的形式,也就是【在构建函数中,将此模型——提升变量(任意命名)】
    ②这个时候我们通过get actor of class获取到指定的actor,然后即可拿到这个变量(特别说明的一点,sphere是一个静态网格模型,通过提升变量的形式转换了一个变量为sphere_copy)

    在这里插入图片描述

    然后对这个sphere copy做操作,和对静态模型sphere操作效果一样,因为本身表示的是一个东西,只不过sphere copy是提升的变量(另外一种形式)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EQTWfh3n-1628855198128)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813162535655.png)]

    方法三:蓝图接口

    三部曲:①创建接口②被触发端添加这个接口事件③发出触发端发起事件(注意目标,触发谁)

    (1)内容浏览器中,创建一个蓝图接口,并更改接口的函数名称

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AvuTwNlC-1628855198129)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813190646529.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XntACt5b-1628855198129)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813192416398.png)]

    (2)在ball球体类中,类设置,添加一个接口

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pKCSRoAI-1628855198130)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813191923068.png)]
    添加之后一定编译一下,因为ue有时候抽风,右键找不到添加的那个接口事件

    (3)然后在Ball中添加这个接口中的指定函数事件,这个事件里边写逻辑即可

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dq9M3VTA-1628855198131)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813192620481.png)]

    (4)在控制器蓝图中,按键连接【接口函数】,然后需要给一个目标对象,

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XTvhkR16-1628855198131)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813194528936.png)]

    情景二

    游戏玩家触碰到门的时候,按键F打开门

    【注意】 (1)谁和门发生碰撞?人(2)是游戏玩家按键F,而不是其他物体,所以此时应该转换为人物

    方法四:类型转换+触发盒子

    一般使用方式:类型转换+触发盒子
    获取、更改另一个类中的数据,通过类型转换获取该类,Cast TO 转换的对象
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dTL5PHWI-1628855198132)(C:\Users\13689\AppData\Roaming\Typora\typora-user-images\image-20210813190113141.png)]

    最近在学习ue的路上,很有意思,希望能在ue的学习之路上,沿着前辈的路,留下自己的脚印。

    展开全文
  • 虚幻引擎(UE4) c++ 命名规范 虚幻引擎(UE4)中重要的Class类 虚幻引擎(UE4) 反射系统(Reflection)

    1. 项目基本框架

    2. 物理碰撞检测

    4. 调试打印

    5.字符串

    6. UMG

     

    7. 材质系统

    字符串处理

    展开全文
  • 由于书的例子,在有的章节中,有破坏性的操作,我都做了不同的备份,这样方便大家对照学习。花了一周的时间自己做的,所以每个5分希望大家理解。
  • UE4从0创建蓝图编辑器第一章的可运行代码,其制作为一个独立窗口插件,引擎版本4.23。思维导图包含本章用到的类之间关系,以及整个编辑器的设计思路。
  • 现实世界中的碰撞现象大家都司空见惯,比如:一枚硬币掉到地板上(和地板发生碰撞),发出清脆的响声。但在虚拟世界里,这个过程至少要分为两个步骤: ...本文将使用虚幻引擎蓝图实现一个碰撞并响应的过程
  • 蓝图 蓝图是虚幻4中的可视化脚本系统,是一种快速开发游戏原型的方法。无需逐行编写代码,您可以直观的做所有事情:拖放节点,将它们的属性设置在UI中,并拖动连接线来连接。除了成为一个快速的原型开发工具之外,...
  • 虚幻引擎(UE4) C++与蓝图之性能比较

    千次阅读 2021-02-05 15:41:08
    当为游戏设计技术方案的时候,一个最主要的问题就是什么内容需要放在蓝图实现,什么内容要放在c++中实现。本文旨在讨论这些问题,并给出一个参考的建议。 游戏逻辑和数据 广义的说,游戏内容可以分为Logic(逻辑)和...
  • 这篇博客主要是深入理解蓝图整个流程的的底层机制,包括节点编辑、编译、字节码解释执行。理解了这些,对前面几篇所讲的蓝图扩展,可以有一个更清晰的认识。
  • 1、键盘G键+鼠标左键,召唤出Gate节点。 2、键盘S键+鼠标左键,召唤出Sequence序列节点 3、键盘F键+鼠标左键,召唤出For Each Loop节点。
  • 分享使人快乐成长,第一次制作视频教程,欢迎拍砖!
  • 一: 虚幻引擎介绍安装 虚幻引擎4 是由游戏EPIC公司虚幻引擎的最新版本。是一个面向下一代游戏机和DirectX 9个人电脑的完整的游戏开发平台,提供了游戏开发者需要的大量的核心技术、数据生成工具和基础支持。 Epic...
  • 刷新引擎蓝图:如果选中,该插件将刷新在引擎的Content文件夹中找到的蓝图 Additional Blueprint Paths:其他搜索路径的阵列。对插件最有用。添加插件的名称以刷新其蓝图。 兼容性 该插件已在Linux和Windows上进行了...
  • 1、Set Input Mode UI Only只设置UI模式(只控制UI的操作) 2、Set Input Mode Game Only只设置模式游戏 3、Set Game Paused 设置游戏暂停
  • 使用UFunction CustomThunk函数方式,实现蓝图模板功能节点,用来处理任意类型的数组,并探索实现细节背后的蓝图机制。
  • 蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。 在使用虚幻 4 的过程中,常常会遇到在蓝图中定义的对象,并且这类对象常常也会被直接称为"蓝图蓝图介绍 蓝图中的核心就是节点,UE4中提供了很多很多节点...
  • 文章目录概述蓝图函数库蓝图宏库 概述 蓝图函数库(Blueprint Function Library)和蓝图宏库(Blueprint Macro Library)的意义和C/C++中函数以及宏大致相同。它们都是用于代码复用,并且如果合理使用可以让蓝图变得...
  • 标题什么是蓝图类什么是蓝图脚本蓝图和C++的抉择 刚开始学习的时候把C++类和蓝图类,蓝图脚本的概念混淆了 什么是蓝图蓝图类又叫蓝图系统是包裹一个游戏对象数据逻辑和各种内容及可编辑属性为一体的容器,通常...
  • 虚幻4蓝图快速入门(一)

    万次阅读 多人点赞 2018-06-02 19:48:12
    蓝图快速入门什么是蓝图虚幻引擎中的蓝图可视化系统是一个完整的游戏脚本系统,其理念是使用基于节点的界面从虚幻编辑器中创建游戏可玩性元素,该系统非常灵活且非常强大,因为它为设计人员提供了一般仅供程序员使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,359
精华内容 3,743
关键字:

引擎蓝图