(个人)实时交互的太极拳学习系统创新实训第五周(一)

尝试用蓝图实现匹配度算法

首先我是想用C++来实现的,但是其间遇到许多问题。新建一个BlueprintFunctionLibrary,命名为dtw。我发现dtw.h中include自动生成的dtw.generated.h时,总是报错说找不到源文件。而且只要我重新生成编译就会出现这个问题。VS也重新配置了,但是好久没有解决方法,于是决定不浪费时间了,改用蓝图实现算法。
可能使用蓝图实现算法对于会C++编程的人来说,不如直接用C++编程顺手,但是使用蓝图实现demo比代码可视化方面更好。

首先新建一个蓝图类。根据UE4文档,在关卡蓝图、蓝图类、蓝图接口中选择使用类蓝图。以Actor作为父类就可以。


之后我学习了UE4的变量设置,添加一个变量是在“变量”后面点加号,在右边的“细节”栏里具体设置。



UE4通过蓝色表示不同的数据类型,如下:“

变量显示为圆角方框。数据类型变量和引用型变量。
红色变量代表布尔型(true/false)数据。
蓝绿色变量代表整型数据或者没有小数位的数值,比如0、152和 -226。
绿色变量代表浮点型数据或具有小数位的数值,比如 0.0553、101.2887和 -78.322。
洋红色变量代表字符串型数据或者一组字母数字字符,比如 Hello World 。
粉色变量代表显示的文本数据,尤其是在文本需要进行本地化的地方。
金黄色变量代表向量型数据,或者说是代表由三个浮点型数值的元素或坐标轴构成的数值,比如XYZ 或 RGB 信息。
紫色变量代表旋转量数据,这是一组在三维空间中定义了旋转度的数值。
橙色变量代表变换数据,它包括平移(三维位置)、旋转及缩放。

蓝色变量代表Objects(对象), 包括 Lights 、Actors 、StaticMeshes 、Cameras 及 SoundCues。

然后就可以把变量拖拽到蓝图中进行使用了。有一个快捷键,按住ctrl和左键拖拽变量到蓝图,生成一个Get节点,按住alt和左键拖拽变量到蓝图,生成一个Set节点。

又学习了UE4蓝图中函数的使用。我认为我可以把我在C++写的方法,变成一个个函数,然后在蓝图调用即可。

首先实现一个计算两个向量之间欧氏距离的 Euclidean函数:

输入值是两个向量,输出值是一个浮点型的数值。



通过做这个函数我体会到,蓝图其实是代码的另一种表现形式。在连线过程中,根据代码的执行流程,按照逻辑将各个节点连接,以实现各种运算。逻辑还是那个逻辑,只是表达方式不同罢了。

接下来将用蓝图实现计算DTW distance的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值