Обработка щелчка мышью на игровом объекте - Unity3d
У меня есть маленькая городская сетка и 3d модель квартиры. Я добавляю сетку к своей сцене и помещаю 3d модель в сетку.
Я пытаюсь справиться с щелчком мыши только на 3d модели. Я использую ниже код. Но я нажимаю в любом месте на экране, он устанавливается как звук = true
Я добавляю сетчатый коллайдер в 3d модель игрового объекта.
if (Input.GetMouseButtonDown (0)) {
Plane p = new Plane (Camera.main.transform.forward , transform.position);
Ray r = Camera.main.ScreenPointToRay (Input.mousePosition);
float d;
if(p.Raycast (r, out d)) {
sound = true;
}
Как я могу решить это?
1 ответ
Решение
Вы можете проверить тег / название игрового объекта. вам нужно использовать вот так:
void Update()
{
if (Input.GetMouseButtonDown (0)) {
Plane p = new Plane (Camera.main.transform.forward , transform.position);
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 100))
{
//Choose one of them below!!!
/// Name Comparison
if(hit.collider.gameObject.name.equals("NameOfTheObject")){
///Do Logic
}
//Tag Comparison
if(hit.collider.gameObject.CompareTag("TagOfTheObject")){
///Do Logic
}
}
}
}