【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/

相关推荐
Oiiouui15 小时前
Godot-GridGame架构DI容器全局联动设计
架构·游戏引擎·godot
平行云20 小时前
建筑BIM/3D可视化轻量级实时评审与分享方案
unity·ue5·3dsmax·实时云渲染·云桌面·云游戏·建筑bim
2501_915106322 天前
Windows 上开发 Unity iOS,使用 KXBuild 进行真机调试、性能采样与打包 ipa
windows·vscode·unity·ios·个人开发·swift·敏捷流程
FFFFujige2 天前
【Unity】一个的Dots用Ruhanka踩坑记录
unity·游戏引擎
wgslucky2 天前
Godot UI管理与使用
游戏引擎·godot
Oiiouui2 天前
Godot-GridGame架构屏幕UI层
架构·游戏引擎·godot
凯基迪科技2 天前
Unity游戏加密锁逆向方案、选型与攻防分析
游戏·unity·游戏引擎
阿松爱学习3 天前
【Unity开发】局部区域截图功能实现
unity·c#
淡海水3 天前
08-02-优化-LINQ与函数式编程的GC代价
unity·c#·.netcore·linq·gc
警醒与鞭策3 天前
Codex桌面版与Claude桌面版使用设置
android·unity·ai·性能优化