Я создал сценарий, который использует RayCasting для обнаружения двух Prefabs - One prefab имеет тег под названием «target», а второй prefab имеет тег под названием «unTarget». При нажатии на prefab 1 с тегом «Target» его предполагается увеличить счетчик и при нажатии на prefab 2 с тегом «unTarget» его предполагается уменьшить счетчик. Кажется, что это работает, когда на сцене присутствует только один Prefab. Он будет увеличиваться/уменьшаться, когда добавляется только один. Когда оба prefabs находятся в Сцене, оба сборника будут увеличиваться. Я не знаю, почему это происходит. Любая помощь или идеи? Извините, если мой код немного грязный.Unity - Raycast не работает, когда несколько сцен на сцену
using UnityEngine;
using System.Collections;
public class clicks : MonoBehaviour
{
public int score;
void Start()
{
score = 0;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown (0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit,200))
{
if (GameObject.FindGameObjectWithTag ("target"))
{
score++;
}
else
{
score--;
}
}
}
}
Кроме того, намного проще реализовать IPointerClickHandler, чем вручную использовать raycasting. –