UE(BluePrint API)

BLuePrint基础节点:

event

Parent beginplay调用父类开始

Tick有返回值,时差

注意:要选定触发的物体,先选中组件(通常为static mesh)对象,再添加事件

On Component Begin Overlap (Trigger collision)当组件与另一个碰撞体开始重叠时触发。

On Begin Cursor over鼠标覆盖

On released当鼠标释放时调用,鼠标已点击

On clicked当点击时调用

Left mouse button

自定义输入事件,在事件图表输入settring的映射名

//

print string 打印字符

Delay延迟,接受float

Destroy component接受actor的组件销毁

Physic:Add impulse添加力(首先要开启重力)单位cm  力= 质量* 加速度

spawnActor BP Temp生成新的actor(指定calss,transform出生位置)

选中Charactermesh修改Details面板Skeletal Mesh添加mesh实体

Event Blueprint Update Animation每次更新动画时更新状态变量

Spawn Emitter at location在给定的位置和旋转方向上播放指定的效果,点燃并遗 忘。效果结束后,系统将自动消失。不会复制。

Try get pawn owner获取当前蓝图实例所属的 Pawn

Calculate direction

Get velocity,

spawn system attached动态创建(生成)新 Actor,例如粒子、射弹或其 他需要附加到或跟随另一个 Actor 的对象。接受system template,模板, 和attach to component 附加到的static组件上

Capsule

Set Capsule Half Height动态调整胶囊碰撞组件的高度。

Set capsule raduis……半径

vector

Vector value 返回向量的值,vector length向量长度

向量相减获取本地空间,相对位置

unrotate vector返回逆向量,通过应用反向旋转将矢量从本地空间转 换 为世界空间

Rotate vector将一个矢量从世界空间转换到本地空间的节点,接受vector 和rotate,将向量旋转rotate,return 旋转后的vector

Make transform

Make literal float创建浮点值

Make rot from X给定x轴,创建rotate,yz轴将是正交的

Break vector

Branch……

For(frist index,last index,循环索引范围(也可以是array的范围),index 获取当前索引,(看逻 辑从LoopBody 循环体开始),completed在for 循环完成执行的引脚(输 出引脚)

Is Valid确定对象是否有效,接受一个obj,

flip flop在两个状态之间切换的逻辑节点。每次 Flip Flop 节点接收到信 号时,它会在 A 和 B 两个输出之间进行切换:第一次为A

Gate可以动态地打开或关闭。当"gate"节点打开时,连接到它的执行流程将 继续执行;当它关闭时,执行流程将被阻止或者绕过。

sequence序列,按照顺序执行

Do once只执行一次,接受reset重置次数

Do N只允许执行者通过 'n' 次。n为设定的integer

Select 最后一个引脚为条件,上面的为这个节点的可能性,根据最后一个 引脚的具体值,决定选择哪个可能性,决定对于返回值(通常应从返回值拉 取节点),类似switch case

Array

length获取数组的元素行数,get获取指定index的行的所有元素-》len 获取string的长度,也就是每行多少个元素

Clear清理

Add接受一个item和一个数组,将item添加到数组

To text将字符串转换为text

timeLine

Add timeLine横轴时间,纵轴值,输入引脚play播放,reverse反转,stop 停止并重置

双击可以设置loop,autostart,和时间线Track(float-》value,event) 主要 区别是返回值不同,还要更改length的长度

输 出引 脚(只有当play), update时执行的, finish时执行的, “Direction” 是指 Timeline 曲线的播放方向(当正向为forward, 反向为backwords)。Value为最后一个引 脚,只有当设置函数曲线才出现 (一个函数出现一个绿色节点),表示当前 时间线运行时的当前值

Set play rate设置此时间线的新播放速率 ,接受target时间线目标

Stop

Start

Set playback position设置开始的播放位置,并播放

particle

deactivate停用,

active节点激活,接受目标,通过复选框控制,

Set active通过布尔控制

sound

Play sound at location

Set sound

text

Add text render component,添加文本渲染器,接受transform设置组件 相对变换,返回this

set text 为组件设置 文本,接受text render component和Text,

math

Rinterp to插值到尝试根据当前current旋转到达目标target旋转位置, 平滑效 果,接受delta time,接受speed

Or

Not

!=  ,==

To string (float)double转换为string

To text(string)string转换为text

Abs返回绝对值

Sin……

Lerp Linear color接受alpha混合值,alpha越接近0,return value越接近A,

find look at rotation接受两个location计算从一个点(起始点)到另一 个点(目标点)的旋转

Select float根据bool值,为true选择A,否则选择b

Clamp 接受一个值,设定min和max,进行限制

Get

Get Actor/…… location/rotation/scale……,获取actor的world,接受 actor 引用

Get world location/rotation/scale……,获取static的world坐标

Get relative location/rotation/scale……获取static的相对坐标

Get rotation X vector 获取旋转的x  vector

//

Get play camera manager,接受play索引,获取玩家的camera

Get player controller获取玩家控制器,接受索引

Get player pawn获取玩家,接受索引

Get input Mouse Delta获取鼠标差

//

Find look at rotation找到camera看向的方向

Get all actors of class获取所有的指定的actor class

Get Default mouse cursor获取默认光标

//

get hit result under Cursor by channel在用户输入的触控位置(光标) 下进行射线检测的一个节点,可以选择通道visibillty可视性或 camera 影响哪些物体会被检测到。。Hit Result:输出检测结果,包括击中 的 位置、法线、碰撞物体等信息。

get hit result under finger by channel,通过触控位置(手指),因为 手指可能产生多点触控,Finger Index:要指定检测的触控点的索引,其余 一致……

可以通过break hit result打破结果获取Hit Result:的各个分量

Set

Set Actor/…… location/rotation/scale……,接受target和new transform,设置world坐标

Add local  location/rotation/scale……,添加transform更新,接受每 帧的vector变换

Set relative location设置相对位置,接受target和new transform(此 变换是相当于父物体)

Set world location/rotation/scale……,设置相对world

Set current mouse cursor设置当前鼠标光标的风格

Enable input,启用输入Disable input 禁用输入,接受玩家控制器

Material

Set scalar parameter value动态dynamic调整材质实例中的参数值, 接 受参数 名Parameter Name,target要修改的材质实例,value设定的标量 值(Scalar) (标量没有方向,只有大小。)

Create dynamic material instance创建动态材质实例,通常在 (Construction Script)函数中接受target(static mesh) ,指定 index默认为0(表示mesh的哪个材质),return value返回实例 的引用, 可以Set变量 的类型(但首先要将变量类型改为material instance dynamic )

Make color接受RGBA , rotator,vector(xyz)

Break color将color类型变量打破为RGBA

Set material接受(static mesh),和element index材质的索引,和要 设置的材质

light

Set light color接受light component,接受新的颜色值

Set intensity设置强度

random

Random float in range接受两个浮点范围,返回期间的随机值

Cast

Cast to将一个对象引用从一种类型转换为另一种类型,以便访问目标类型 的特定属性和方法。有两个输出引脚:当前的AS作为转换的类型 和 Cast ailed

call event || function

对蓝图变量call调用自定义事件(custom event),可以为(custom event) 添 加bool等变量,加入逻辑判断,call时会在输入显示,执行事件会在输 出显示

也可以自定义函数,添加input形参列表,output返回类型和名称(会在函数以 节点形式出现),

创建event dispatchers事件调度者,事件广播,委托,观察者模式,绑定

call调用这个调度者,每当call时会广播所有有这个事件的蓝图,并执行调 度事件之后的逻辑,

也可以bind event to 调度者,接受一个event(自定义事件),当调度者被调 用时执行

### Unreal Engine 5 中 REST API 的集成与使用 在开发过程中,为了使应用程序能够与其他服务通信并交换数据,REST API 是一种常用的方式。对于 Unreal Engine 5 (UE5),虽然官方并没有内置专门针对 REST API 的模块[^1],但是可以通过多种方式实现 RESTful 请求。 #### 使用 HTTP请求插件发送 REST 调用 UE5 提供了一个名为 `HTTP Requests` 的插件来简化网络编程工作。此插件允许开发者轻松创建 GET 和 POST 方法的调用,从而可以方便地向远程服务器发起 REST API 请求。 以下是通过蓝图脚本语言执行简单GET请求的一个例子: ```blueprint // 创建一个新的 Http Request 对象 HttpRequest = NewObject<UHttpRunnableRequest>(); // 设置 URL 地址以及请求类型为 "GET" HttpRequest->SetURL("https://api.example.com/data"); HttpRequest->SetVerb("GET"); // 发送异步请求 FHttpModule::Get().CreateRequest()->ProcessRequest(); ``` 如果希望更深入地控制API交互过程,则可能需要编写C++代码来进行定制化处理。下面是一个简单的 C++ 实现片段用于展示如何构建一个基本的POST请求: ```cpp TSharedRef<IHttpRequest, ESPMode::ThreadSafe> HttpRequest = FHttpModule::Get().CreateRequest(); HttpRequest->OnProcessRequestComplete().BindLambda([](FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful){ // 处理响应逻辑... }); HttpRequest->SetURL(TEXT("http://localhost:8080/api/post")); HttpRequest->SetVerb("POST"); HttpRequest->SetHeader("Content-Type", TEXT("application/json")); // 构建 JSON 数据体 TSharedPtr<FJsonObject> JsonObject = MakeShareable(new FJsonObject()); JsonObject->SetStringField("key", "value"); TSharedRef<TJsonWriter<>> Writer = TJsonWriterFactory<>::Create(&Data); FJsonSerializer::Serialize(JsonObject.ToSharedRef(), Writer); HttpRequest->SetContentAsString(Data); HttpRequest->ProcessRequest(); ``` 需要注意的是,在实际项目中应当考虑安全性因素,比如验证HTTPS证书、设置超时时间等措施以保障通讯安全可靠。 此外,还可以利用第三方库如 RestSharp 或者其他成熟的解决方案进一步增强功能特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值