unity3d - Unity 移动平台刚体之间的交互
问题描述
我有一个使用它的 Reigidbody 不断移动平台的协程,这是代码:
private IEnumerator MovePlatform(Vector3 startPosition, Vector3 endPosition)
{
float i = 0;
float rate = 1f / speed;
while (i < 1f)
{
i += Time.deltaTime * rate;
rigidbody.MovePosition(Vector3.Lerp(startPosition, endPosition, i));
yield return null;
}
StartCoroutine(MovePlatform(endPosition, startPosition));
}
rigidbody.MovePosition
如果我希望我的刚体进行交互,这是移动平台的正确方法。
但问题是:
如果平台垂直移动,则平台顶部的物体在移动时会不断跳跃。
如果平台水平移动,则平台顶部的物体会前后滑动。显然这不是我希望他们做的。我希望平台上的物体保持静止。
我尝试了什么:
- 手动设置物体的速度 - 不是我想要的
- 使用具有高摩擦力的物理材料——不是我想要的
如何实现移动平台与物体之间自然良好的交互?
PS PLEASENOPARENT方法谢谢
解决方案
推荐阅读
- python - 用于验证步骤的更改 Keras 模型
- java - 检查互联网连接时出错
- excel - 使用 VBA 检测不活动
- java - 在表达式内使用赋值运算符
- javascript - JxBrowser 从资源 URL 加载 HTML,无法打开 websocket
- django - 如何使用Django rest框架将虚拟json响应发布到服务器而不将其添加到数据库
- javascript - 如何在 Blogger 的小部件 Feed 中显示“showItemThumbnail”?
- python - Python-如何将 .txt 文件(两列)转换为字典元素?
- reactjs - React 预处理道具
- javascript - window:beforeunload 适用于 chrome 浏览器,但不适用于 chrome 移动浏览器。角 6