Я сделал движущуюся платформу, которая идет вертикально сверху вниз, а затем снизу вверх и так далее.Платформа движется нормально, но размещение моего плеера делает его нестабильным.
Когда платформа движется сверху вниз, мой игрок как бы подпрыгивает на ней.Когда платформа движется снизу вверх, она остается устойчивой на пути, но когда она достигает верхней точки, мой игрок сам совершает прыжок.
Становится еще хуже, когда я увеличиваю скорость своей платформы.Я не знаю, связано ли это с физическим эффектом единства 2d или как.Я попытался использовать физический материал 2D на моем объекте игрока и платформе, установив bounce на 0 и трение на 50, но, похоже, ничего не работает.У кого-нибудь есть идеи, как отключить физический эффект движущейся платформы?Вот мой код для перемещения платформы:
public class BrickMoveVErtical : MonoBehaviour {
public Vector3 positionOne;
public Vector3 positiontwo;
public Vector3 nextposition;
/*Empty object is already made on unity editor and its parent of platform(Plank) and other
empty object "pointB". Point "B" is already mapped on editor and platform is set to go from
its original pos to point B */
public Transform plankTranform;
public Transform positionBTransform;
public float speed;
// Use this for initialization
void Start () {
positionOne = plankTranform.localPosition;
positiontwo = positionBTransform.localPosition;
nextposition = positiontwo;
}
// Update is called once per frame
void Update () {
move();
}
private void move() {
plankTranform.localPosition = Vector3.MoveTowards(plankTranform.localPosition,nextposition,Time.deltaTime*speed);
if(Vector3.Distance(plankTranform.localPosition,nextposition)<0.1)
{ changeMovementPlank(); }
}
void changeMovementPlank() {
nextposition = nextposition != positionOne ? positionOne : positiontwo;
}
}