U++ FMath数学工具
FMath是 Unreal Engine 提供的数学工具类里面集中放置了大量常用数学函数例如取最大值、最小值限制数值范围绝对值随机数插值三角函数开方、乘方浮点数比较基本写法int32 Result FMath::Max(10, 20);1.最值MaxMinint32 Result FMath::Max(10, 20);int32 Result FMath::Min(10, 20);2.Clamp 限制数值范围FMath::Clamp(当前值, 最小值, 最大值);float Health 120.0f; Health FMath::Clamp(Health, 0.0f, 100.0f);最后Health返回100.0f。3.Abs 绝对值float Result FMath::Abs(-15.0f);4.RandRange、FRand随机数生成指定范围的随机数int32 RandomNumber FMath::RandRange(1, 10);float RandomNumber FMath::RandRange(0.0f, 100.0f);整数版本通常包含最大值FRand生成0.0f到1.0f之间的随机浮点数float RandomValue FMath::FRand();5.Lerp 线性插值FMath::Lerp(起始值, 目标值, 比例);例FMath::Lerp(0.0f, 100.0f, 0.0f); // 0 FMath::Lerp(0.0f, 100.0f, 0.25f); // 25 FMath::Lerp(0.0f, 100.0f, 0.5f); // 50 FMath::Lerp(0.0f, 100.0f, 1.0f); // 100向量插值FVector StartLocation(0.0f, 0.0f, 0.0f); FVector EndLocation(1000.0f, 0.0f, 0.0f); FVector NewLocation FMath::Lerp( StartLocation, EndLocation, 0.5f );6.FInterpTo 插值移动函数让浮点数平滑地接近目标值地插值函数距离目标越远变化越快距离目标越近变化越慢。float NewValue FMath::FInterpTo(Current,Target,DeltaTime,InterpSpeed);7.IsNearlyEqual 浮点数比较由于计算机底层原理float A 0.1f 0.2f;float B 0.3f;A和B在底层不一定完全相等UE提供FMath::IsNearlyEqual()也可以指定误差if (FMath::IsNearlyEqual(A, B, 0.001f)){}IsNearlyZero 判断一个浮点数是否接近0float Speed 0.00001f; if (FMath::IsNearlyZero(Speed)) { UE_LOG(LogTemp, Warning, TEXT(速度接近0)); }8.平方、开方、乘方float Result FMath::Square(5.0f);//平方float Result FMath::Sqrt(25.0f);//平方根float Result FMath::Pow(2.0f, 3.0f);//乘方9.三角函数float SinValue FMath::Sin(Angle);float CosValue FMath::Cos(Angle);float TanValue FMath::Tan(Angle);注意传入值是弧度不是角度转换float Radians FMath::DegreesToRadians(90.0f);float Result FMath::Sin(Radians);10.Round、Floor、Ceil浮点数处理四舍五入int32 Result FMath::RoundToInt(3.6f);向下取整int32 Result FMath::FloorToInt(3.9f);向上取整int32 Result FMath::CeilToInt(3.1f);去掉小数部分int32 Result FMath::TruncToInt(3.9f);11.Sign 获取正负号float Result FMath::Sign(-20.0f);正数返回1.0f负数返回-1.0f12.Wrap 循环限制数值float Angle FMath::Wrap(450.0f, 0.0f, 360.0f);返回9013.MapRangeClamped 映射数值范围将一个范围中的数值转换到另一个范围float Health 50.0f; float Percent FMath::GetMappedRangeValueClamped( FVector2D(0.0f, 100.0f), FVector2D(0.0f, 1.0f), Health );映射函数适用于更复杂的范围例如将传感器数值0~1023映射为物体缩放1~3

相关新闻

期刊AI率一般要求降到多少?搞清红线再降到外审合格

期刊AI率一般要求降到多少?搞清红线再降到外审合格

期刊AI率一般要求降到多少?搞清红线再降到外审合格 你现在最想弄明白的,大概就是一句话:期刊到底要求 AI 率降到多少,才算不会被卡。稿子投出去,编辑回一句"AIGC 疑似度偏高,请降低后重投"&…

2026/7/24 23:17:59 阅读更多 →
一个人的 RTOS 项目迎来新版本:HRTOS V3.32 发布,支持任务调度、Shell、Modbus RTU

一个人的 RTOS 项目迎来新版本:HRTOS V3.32 发布,支持任务调度、Shell、Modbus RTU

HRTOS V3.32 正式发布:面向 8051 的轻量级硬实时操作系统 经过持续开发与测试,HRTOS V3.32 正式发布。 HRTOS(Hard Real-Time Operating System)是一款面向资源受限 MCU 的轻量级实时操作系统,主要目标是在有限的硬件…

2026/7/22 1:57:34 阅读更多 →
从技术实现到法律边界:微信数据恢复工具的技术合规性深度分析

从技术实现到法律边界:微信数据恢复工具的技术合规性深度分析

从技术实现到法律边界:微信数据恢复工具的技术合规性深度分析 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 【技术挑战】开源项目面临的法律合规困境 在开源技术快速发展的今天,技术实现与法律合…

2026/7/22 1:57:34 阅读更多 →

最新新闻

Nintendo Switch终极破解指南:大气层系统Atmosphere完整教程

Nintendo Switch终极破解指南:大气层系统Atmosphere完整教程

Nintendo Switch终极破解指南:大气层系统Atmosphere完整教程 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想要完全解锁你的Nintendo Switch游戏主机吗?大气层系统…

2026/7/24 23:18:16 阅读更多 →
JAVA练习343- 最小栈

JAVA练习343- 最小栈

题目概览 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int value) 将元素 value 推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部…

2026/7/24 23:18:16 阅读更多 →
我用 Dify + 蓝耘 DeepSeek 搭了一个“职场规矩智能体”,专治各种尴尬

我用 Dify + 蓝耘 DeepSeek 搭了一个“职场规矩智能体”,专治各种尴尬

每日一句 先行者是孤独的, 他们往往没有留下姓名, 留下歪歪斜斜的脚印, 为后来者签署通行证。 目录每日一句前言一、需求拆解:一个能输出可执行建议的“职场顾问”需要满足哪些硬指标二、选型过程:我需要的是一套“可…

2026/7/24 23:18:16 阅读更多 →
IMO满分AI模型技术解析:数学推理架构与部署实践

IMO满分AI模型技术解析:数学推理架构与部署实践

这次我们来看一个令人瞩目的AI里程碑事件——多款AI模型在国际数学奥林匹克竞赛(IMO 2026)中获得满分。这不仅标志着AI在复杂推理领域的重大突破,更意味着这些模型背后的技术架构和训练方法值得深入分析。从技术角度看,能够在IMO中…

2026/7/24 23:18:16 阅读更多 →
大模型本地部署与云端API调用的全面对比分析

大模型本地部署与云端API调用的全面对比分析

1. 大模型部署方式的核心抉择当我们需要将大模型投入实际应用时,第一个要面对的就是部署方式的选择。这个问题看似简单,实则牵涉到技术架构、成本控制、数据安全等多个维度的综合考量。作为经历过多次部署实战的老兵,我想分享一些切身体会。本…

2026/7/24 23:18:16 阅读更多 →
【详细】FreeRTOS任务的内部机制

【详细】FreeRTOS任务的内部机制

一.结构体volatile StackType_t * pxTopOfStack:保存当前任务堆栈的栈顶指针。ListItem_t xStateListItem:用于将任务挂接到各种调度状态链表中。ListItem_t xEventListItem:当任务因等待某个同步/通信对象(队列、信号量、互斥量、…

2026/7/24 23:17:16 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻