【Unity踩坑】为什么有Rigidbody的物体运行时位置会变化

先上图,不知你有没有注意过这个现象呢?

一个物体加上了Rigidbody组件,当勾选上Use Gravity时,运行后,这个物体的位置的值会有变化。这是为什么呢?

刚体由物理系统处理,因此它会对重力、碰撞等做出反应。
物理引擎在每个 fixedupdate 帧上运行(每秒运行多次),并根据对象发生的情况更新位置和速度。

执行诸如"如果没有力 => 不做任何事情"这样的 if 语句会非常慢,因为物理系统能够处理很多很多的对象,所以它只是

下一个位置 = 当前位置 + 速度 * 时间

不管是否真的发生了什么,但我们不需要做任何检查来查看是否发生了任何事情,如果我们有 1000 个对象,这将会很慢。

由于浮点数并不精确,你可能会看到事物发生微小的移动,就像这样。由于浮点数不精确,
你的物体已向左移动了 0.000000059604 个单位,这甚至不可见。

简单来讲,这个变化是由物理系统引起的,变化的值非常微小,可以忽略不计。

参考:

https://www.reddit.com/r/Unity3D/comments/o5koa7/hi_new_to_unity_why_does_adding_rigidbody_fuck_up/

相关推荐
国家一级摸鱼选手12 小时前
MCP(Model Context Protocol)学习笔记
unity·ai·mcp
会思考的猴子13 小时前
Unity3D发布后软件界面右下角出现Trial Version
unity
ellis197014 小时前
Unity资源管理框架Addressables[五] 构建
unity
派葛穆15 小时前
Unity-鼠标悬停改变图像位置
unity·计算机外设·交互
avi911116 小时前
图例设计软件:Focusky,VisualComponents,图片字风格化等试用和推荐,最终还是回到Unity 游戏代码
unity·ai·aigc·游戏开发·设计工具·信息图
张老师带你学17 小时前
unity道具,健身房资源
科技·游戏·unity·游戏引擎·模型
开维游戏引擎19 小时前
开维游戏引擎实例:五子棋
javascript·游戏·html·游戏引擎·ai编程
废嘉在线抓狂.19 小时前
简易拆开即用的高性能计时器(C#)
前端·unity·c#
ellis197020 小时前
Unity资源管理框架Addressables[四] 资源分组管理
unity
张老师带你学21 小时前
unity道具,哑铃架+天文望远镜,一边运动一边观星
科技·游戏·unity·模型·游戏美术