Top.Mail.Ru
Ответы

Нужно чтоб 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();
}

}
}

По дате
По рейтингу
Аватар пользователя
Новичок
10мес

Ты можешь добавить физический материал к коллайдеру стены, который делает его непроницаемым. Настрой физ материалы чтобы игрок не мог проходить сквозь стены.
Используй слой коллизий, триггеры, лучи

Аватар пользователя
10мес

Ты коллайдеры стенам поставил хоть?