当前位置: 首页 > news >正文

【UE5】CPP中使用ControlRig蓝图节点示例

基本流程

1774598530978

逻辑代码迁移到C++自定义ControlRig节点:

需要.Build中添加编译要用到的模块AnimationCore

1774598536172

RigUnit_ProceduralCharacter.h

#pragma region 计算脚部的目标朝向//计算脚部的目标朝向USTRUCT(meta = (DisplayName = "GetFootTargetAngle"))struct PROCEDURALANIM_API FRigUnit_GetFootTargetAngle : public FRigUnit{GENERATED_BODY()RIGVM_METHOD()virtual void Execute() override;UPROPERTY(meta = (Input))FVector RigSpaceVelocity;UPROPERTY(meta = (Output))float FootTargetZAngle;};FVector EulerFromQuat(const FQuat& Rotation, EEulerRotationOrder RotationOrder = EEulerRotationOrder::ZYX, bool bUseUEHandyness = false);FQuat FromTwoVectors(const FVector& A, const FVector& B);#pragma endregion

RigUnit_ProceduralCharacter.cpp

#pragma region 计算脚部的目标朝向FRigUnit_GetFootTargetAngle_Execute(){const float OriginalZAngle = AnimationCore::EulerFromQuat(FromTwoVectors(FVector(0,1,0),RigSpaceVelocity)).Z;if (OriginalZAngle > 100){FootTargetZAngle = OriginalZAngle - 180;}else if (OriginalZAngle < -100){FootTargetZAngle = OriginalZAngle + 180;}else{FootTargetZAngle = OriginalZAngle;}}FQuat FromTwoVectors(const FVector& A, const FVector& B){if (A.IsNearlyZero() || B.IsNearlyZero()){return FQuat::Identity;}return FRigVMMathLibrary::FindQuatBetweenVectors(A, B);}
#pragma endregion

1774598542118

对于一些蓝图和实际C++API名字不一致的节点

搜DisplayName="蓝图节点名"找对应的C++API

比如:Interpolate节点

1774598644513

1774598764221

http://www.jsqmd.com/news/544772/

相关文章:

  • 2025-2026年云南旅行社推荐:年轻人户外轻奢体验热门旅行社对比 - 十大品牌推荐
  • 2026年阿克苏地区玻璃钢化粪池厂家口碑盘点,看看哪家更靠谱 - 工业品牌热点
  • WiFi CSI感知技术:无设备感知的颠覆性革命
  • 3分钟掌握微信QQ防撤回:Windows平台实用补丁完全指南
  • 市面上比较好的LED数码管屏制造企业哪家权威
  • OpenClaw内存优化方案:Qwen3.5-9B大模型轻量化加载技巧
  • 2026年防火铝塑板厂家推荐:商业空间室内装修高性价比选择与采购避坑指南 - 十大品牌推荐
  • 2025年12月四级真题第1套PDF共9页
  • 从苹果AirTag到国产车钥匙:拆解UWB芯片厂商格局与选型指南(附功耗实测参考)
  • ScanTailor Advanced:专业扫描文档处理的全方位解决方案
  • Arduino数据记录仪实战:用SPI模式SD卡模块存储传感器数据(避坑指南)
  • 新疆瑞能母线桥架费用多少,管理和售后能保障吗 - 工业品网
  • 【AI】API 调用基础:执行式AI必备网络请求知识
  • OpenClaw版本升级:Qwen3.5-9B兼容性检查与平滑迁移指南
  • Python正则表达式实战:高效提取信息的完整指南
  • 2026年阿里企业邮箱收费标准详解:套餐选择与开通指南 - 品牌2025
  • 【实时更新中】Note -「Intro. to TOC」“我们盛放直到世界倾圮”
  • BiliTools:全能B站资源管理工具,让离线学习与内容备份无忧
  • 2026工业省电空调市场盘点:哪些品牌值得关注?优质的工业省电空调机构分析精选优质厂家 - 品牌推荐师
  • Jable视频下载插件使用指南:三步解决视频保存难题
  • 深入解析Shim在跨版本API兼容中的实战应用
  • 86. 如何在 Prometheus 的 kube-state-metrics 中加入额外的资源标签
  • WinDiskWriter:让Mac用户轻松制作Windows启动盘的专业工具
  • 自助建站平台哪个好 - 码云数智
  • vLLM-v0.17.1实操手册:vLLM服务自动扩缩容(KEDA+Prometheus)
  • 聊聊2026好用的伸缩门厂家,沧州、北京、天津、太原地区推荐 - 工业设备
  • 多年以后,面对 Vibe Code,我想起了拿起 TDD 的那个下午
  • 别再混淆了!深入对比Vivado中AXI DMA IP核与PS端DMA控制器的角色与分工
  • FanControl终极指南:5步掌握Windows风扇智能控制,告别噪音烦恼!
  • 2026年国内有名的轻烧粉厂家找哪家,轻质医药氧化镁/氢氧化镁/氧化镁/碳酸镁/氧化镁糊/轻烧粉,轻烧粉厂家哪家好 - 品牌推荐师