首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个"position.transform += Vector3(0.0f,0.0f,0.0f)“会改变position.transform的值?

为什么这个"position.transform += Vector3(0.0f,0.0f,0.0f)“会改变position.transform的值?
EN

Stack Overflow用户
提问于 2022-01-06 20:06:04
回答 1查看 60关注 0票数 -1

我在Unity3d和c#脚本中工作。

这在附加到网格的脚本的更新函数中。如果我注释掉这一行,position.transform就会停止变化,但如果不是,那么每帧都会发生很小的变化。

EN

回答 1

Stack Overflow用户

发布于 2022-01-06 21:18:45

假设您是指transform.position,这是全球空间位置,而不是transform.localPosition。如果您的游戏对象是层次结构的一部分,则设置全局位置必须计算一个本地位置(转换),从而得到所需的全局位置。这需要一系列矩阵乘法,可以累积浮点误差。这很可能是你所看到的抖动的根源。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70613029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档