Что делать, если объект проваливается, когда я пытаюсь его поставить туда куда смотрю?
я хочу ставить объект в ту точку, на которую смотрю, иногда оно норм работает, а иногда нет и мой объект проваливается в стол/стену и тд и тп. Я хочу как-то избавиться от такого бага, как быть?
Я использую такой код currentGameObject.transform.position = hit.point;
Что я делаю не так?
Ray ray = new Ray(playerCamera.transform.position, playerCamera.transform.forward);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, raycastDistance))
{
Collider objectCollider = currentGameObject.GetComponent<Collider>();
Vector3 surfaceNormal = hit.normal;
Vector3 objectHalfSize = objectCollider.bounds.extents;
Vector3 offset = Vector3.Scale(surfaceNormal, objectHalfSize);
currentGameObject.transform.position = hit.point + offset;
}
Код работает везде кроме коллайдеров, у которых meshcollider, с ними ерунда какая-то. С шансом 50 на 50 мой объект проваливается, я не понимаю почему. Даже если сделать смещение и как бы сверху объект будет, то есть шанс, что он провалится сковзь мой meshcollider.
У меня модель - плита, плоскость, но сзади стена поднятая. По бокам работает всегда как надо и ставится объект рядом с моей плитой, не внутри неё. А вот если сверху, то 50 на 50 что провалится объект мой