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