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

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


http://www.kler.cn/a/300079.html

相关文章:

  • SpringBoot集成Flink-CDC,实现对数据库数据的监听
  • Node.js——express中间件(全局中间件、路由中间件、静态资源中间件)
  • 论文笔记(六十二)Diffusion Reward Learning Rewards via Conditional Video Diffusion
  • 电子应用设计方案101:智能家庭AI喝水杯系统设计
  • 【Linux知识】Linux常见压缩文件格式以及对应命令行
  • 【AI编辑器】字节跳动推出AI IDE——Trae,专为中文开发者深度定制
  • fastadmin 清除插件缓存报错
  • swift:qwen2 VL 多模态图文模型lora微调swift
  • Spring boot启动过程详解
  • 本地部署大语言模型详细讲解
  • 信号保存和处理
  • pdf.js如何支持base64的查看
  • DMDRS学习
  • 数组与贪心算法——179、56、57、228(2简2中)
  • 使用QT界面运行roslaunch,roslaunch,roscore等
  • 贝锐蒲公英远程视频监控方案:4G入网无需公网IP,跨品牌统一管理
  • 实现从 Milvus 中获取数据,并基于嵌入向量重新排序的功能
  • 【LeetCode】:面试题 16.05. 阶乘尾数
  • 练练演活姜迎紫 入围金鹰奖提名演技派实至名归
  • 简析欧盟《人工智能法案》的落地和适用范围
  • 【车载开发系列】ParaSoft单元测试环境配置(一)
  • 1、创建多模块的maven springboot项目
  • Mac电脑剪切板在哪里找 苹果电脑剪切板打开教程【详解】
  • Java List转Map
  • 数据赋能(200)——开发:数据开发管理——影响因素、直接作用、主要特征
  • C++引用简介