unity3d - (Unity 3D C#) 传送带物理
问题描述
所以,我正在尝试创建一个平板输送机,一个块可以坐在上面并移动,但我想让它能够转动,所以我不能使用rigidbody.moveposition,我尝试使用addforce,但我不能让它工作正确地不使用 impule 或速度变化,因为它会使矿石滚动(它们是立方体)。我最近的尝试是使用速度,但我不知道如何让它在改变角落时保持原来的速度,这样它就不会搞砸了。
.
如果这没有多大意义,这里有一个更好的解释,我正在尝试在网格上创建一个传送系统,其中每个插槽都有一个方向,并且一个立方体沿着它移动,每当立方体到达转弯时,我想要立方体保持向前移动一小段距离,因此它不会立即改变方向并沿着新的传送带前进,因为这样,它会立即改变并坐在传送带的边缘,而不是继续沿该方向移动.
编辑:我目前正在工作,我现在的问题是立方体在接触传送带时会弹跳,所以它们不会平放在传送带上,我可以通过限制所有立方体旋转来解决这个问题,但有时它会冻结矿石传送带,不允许它移动。
解决方案
由于您没有提供代码,我不知道您要做什么,所以我将给出自己的解决方案:
object.transform.position = Vector3.MoveTowards(target.transform.position, endpoint.position, Time.deltaTime * speed)
然后,当它与它发生碰撞时,它可以关闭这个脚本,所以它停留在最后。
target
是你想要移动endpoint
的地方,是你想要它结束的地方。
将端点设置为游戏对象,并将其放在传送带的末端,这样对象就会朝前移动,看起来就像传送带。
推荐阅读
- flutter - 在 Flutter 中阻止部分 Slider Widget
- python - 创建新的空 GeoDataFrame 的语法
- javascript - 在 N 个区间内拆分最小值和最大值的范围
- typescript - 动态获取对象属性的类型
- r - 使用 R Bloomberg API 下载期权链
- javascript - WPForms - 更改总值
- delphi - 针对之前在 Delphi 中保存的 TADODataSet 运行 SQL TADOQuery
- python - 离散化 xarray.DataArray
- react-native - 如何在 React Native 中将矢量从类组件传递到另一个组件?
- flutter - “错误:NoSuchMethodError:方法‘采取’调用 null