Светим лучом на объект. Вопрос: как получить ссылку на этот объект, когда луч перестает на него светить?
if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask))
{
obj = hit.collider.gameObject;
// действие с объектом
}
else
{
// ссылка на объект теряется
}
К примеру, светим на объект, получаем его компонент и меняем его цвет. Потом убираем луч и нужно поменять цвет обратно.
Как один из вариантов, можно создать два списка объектов. В одном ("старом списке") будем хранить ссылки на объекты, полученный рейкастом в прошлый раз, а второй ("новый") список будем заполнять при текущем рейкасте.
После этого выполняем действия с объектами "нового" списка.
Затем пробегаем по всем элементам "старого списка" и ищем соответствующие объекты в "новом списке". Если совпадений нет - значит "луч перестает светить" - производим действия, которые необходимо произвести в данном случае.
После этого "старый список" заменяем значениями "нового", а "новый" очищаем.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть класс ApplicationClass с методом CustomMethod: