Как реализовать перелезания на объект в Unity2D?
Я столкнулся с такой проблемой: коллайдер игрока устроен таким образом, что при прыжке игрок может зацепится коллайдером руки за платформу, а сам игрок будет в воздухе, и на платформу забраться не сможет. Я уже нацепил на гейм обжект руки с коллайдером скрипт, который по идеи должен при контакте с платформой подбрасывать игрока, но скрипт не работает. Я делал это через RigidBody.AddForce, и возможно скрипт не может получить RigidBody персонажа. Если что, код скрипта:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ArmTriggerScript : MonoBehaviour
{
public Transform player;
private void OnCollisionEnter2D(Collision2D collision)
{
player.GetComponent<Rigidbody2D>().AddForce(Vector2.up * 10f);
Debug.Log("Получилось");
}
}
Ответы (1 шт):
Автор решения: Qwer
→ Ссылка
Нужно триггер поставить на край платформы.
- Как только персонаж попадает в триггер - отключаем управление (в твоём случае и Rigigbody как я понял).
- Проигрываем анимацию как персонаж залезает на край платформы.
- Включаем управление обратно.

