unity3d - 如何将一个对象“平滑”地移离另一个对象?
问题描述
我的游戏是一个基本的绳索摆动游戏,我让 ObjectA(墙)远离 ObjectB(从绳子上摆动的球),然后当 ObjectB 不再处于触发器中时,ObjectA 移回其原始位置。当 ObjectA 移回其原始位置时,它像黄油一样光滑,但是当被 ObjectB 推开时,它会变得不稳定,尤其是在高速时(但我需要它高速移动,请参阅下面的代码以了解)。需要明确的是,我的代码完全可以运行,只是我正在寻找一个鬼鬼祟祟的技巧或技巧来帮助消除“推开”效果,就像它返回到 BaseWallPosition 时的情况一样。
void Update() {
if (BallInTrigger) {
target.position = Vector2.MoveTowards(target.position, new Vector2(transform.position.x, BaseWallPosition.y), -1 * rb.velocity.magnitude * Time.deltaTime);
}
else {
target.position = Vector3.MoveTowards(target.position, BaseWallPosition, WallMoveSpeed * Time.deltaTime);
}
}
void OnTriggerStay2D(Collider2D col) {
if (col.tag == "Wall") {
BallInTrigger = true;
}
}
这段代码显然还有很多内容,但这是问题的重要内容
解决方案
推荐阅读
- python - Pandas 在同一列中获得最常用的值
- javascript - 如果我没有向 URL 提供参数值,我如何呈现 PageNotFound.js?
- python - setup_method 中的 pytest 夹具
- graphql - GraphQL DataLoader 应该将请求包装到数据库还是将请求包装到服务方法?
- c# - 无法在 .NET Core 中向 IConfiguration 添加扩展方法(但在其他类上工作)
- django - 如何在 django 中显示特定用户名的特定输出?
- python - 软件包的 pip 安装从源代码工作,从软件包失败
- spring-boot - 如何使用 RabbitMQ 消息将 Spring Boot 应用程序上传到 AWS EC2?
- reactjs - 如何使用 useState 修复自动 typeConversion
- node.js - 缓冲区中的 wkhtmltopdf 响应