Нужно чтоб Player допустим куб не смог проходить через какую нибудь стену? Unity 2022, Visual Studia 2022, C#
Есть какой нибудь способ чтоб не надо было менять что-то в скрипте игрока. А если и нет способа то просто перечислите способы чтоб не проходил сквозь стену.
Дополненpublic class PlayerMove : MonoBehaviour
{
[SerializeField] private float _speed;
[SerializeField] private Animator _animator;
[SerializeField] AudioSource _run;
private float _oldMousePositionX;
private float _eulerY;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
_oldMousePositionX = Input.mousePosition.x;
_animator.SetBool("Run", true);
_run.Play();
}
if (Input.GetMouseButton(0))
{
Vector3 newPosition = transform.position + transform.forward * Time.deltaTime * _speed;
newPosition.x = Mathf.Clamp(newPosition.x, -2.5f, 2.5f);
transform.position = newPosition;
float deltaX = Input.mousePosition.x - _oldMousePositionX;
_oldMousePositionX = Input.mousePosition.x;
_eulerY += deltaX;
_eulerY = Mathf.Clamp(_eulerY, -70f, 70f);
transform.eulerAngles = new Vector3(0, _eulerY, 0);
}
if (Input.GetMouseButtonUp(0))
{
_animator.SetBool("Run", false);
_run.Stop();
}
}
}
Ты можешь добавить физический материал к коллайдеру стены, который делает его непроницаемым. Настрой физ материалы чтобы игрок не мог проходить сквозь стены.
Используй слой коллизий, триггеры, лучи
Ты коллайдеры стенам поставил хоть?