Всем привет.
Кто знает\сталкивался, как можно игнорировать коллайдеры при использовании
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
я создаю патрон, вычисляю таким образом точку, куда нужно этот патрон направить и добавляю ему velocity:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
//check if ray hits something
Vector3 targetPoint;
if (Physics.Raycast(ray, out hit))
{
Debug.Log("gameobject name " + hit.collider.gameObject.name);
Debug.Log("gameobject point" + hit.point);
targetPoint = hit.point;
}
else
targetPoint = ray.GetPoint(75); //Just a point far away from the player
//Calculate direction from attackPoint to targetPoint
Vector3 directionWithoutSpread = targetPoint - attackPoint.position;
//Calculate new direction with spread
Vector3 directionWithSpread = directionWithoutSpread + new Vector3(x, y, 0); //Just add spread to last direction
GameObject currentBullet = Instantiate(bullet, attackPoint.position, Quaternion.identity);
Debug.Log("directionWithSpread " + directionWithSpread);
currentBullet.GetComponent<Rigidbody>().velocity = directionWithSpread * shootForce;
и все норм работает, пули долетают до места, куда я кликал мышью. но на сцене есть объекты с большим BoxCollider. и когда я нажимаю мышью на местно, где этот BoxCollider определен, патрон летит не в нужном направлении, судя по дебагу потому, что определяет "местом нажатия" не meshRender объекта а именно границу BoxCollider-а.
Вопрос - как можно такое поведение побороть игнорировать эти collider-ы?
p.s.
галочка BoxCollider как триггер к сожалению не помогает (