roblox 上的陀螺仪有问题

问题描述 投票:0回答:1

每当我使用身体陀螺仪让玩家直视时,它就会开始抛掷角色,有时只是稍微笔直向上,但它仍然会抛掷角色,我四处搜索,但找不到解决我的问题的方法,有任何提示吗或者关于如何防止这个问题或替代解决方案的建议?

这就是我让玩家看向速度方向的方法: bodyGyro.CFrame = CFrame.lookAt(Vector3.new(), bodyVelocity.Velocity.Unit * 2 * rayDirection)

rayDirection 只是 1 或 -1。

我尝试在人形机器人上禁用布娃娃,但这没有帮助。

lua scripting game-development roblox
1个回答
0
投票

我看到你正在使用 CFrame.lookAt 函数,如果你阅读文档,你可以找到以下内容:

返回一个新的CFrame,其位置为at并面向lookAt,可以选择指定向上方向(up),默认值为(0, 1, 0)。

如果你再读一点:

在高俯仰角(大约 82 度)时,您可能会遇到数值不稳定的情况。如果这是一个问题,或者如果您需要不同的“向上”向量,请使用 CFrame.fromMatrix() 更准确地构造 CFrame。此外,如果 LookAt 位于 pos 正上方(俯仰角 90 度),则“向上”向量切换到 X 轴。

这意味着这是预期的行为,因为数值不稳定性与陀螺仪中的速度设置相结合,导致了这种甩动。

正如文档所描述的,您需要查看 CFrame.fromMatrix 来构造正确的 CFrame。如果这不起作用,您还想检查手动修改向上向量是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.