Показать сообщение отдельно
Старый 25.08.2011, 17:44   #7
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Выделение объектов. RayCast

public class DebugScript MonoBehaviour
     
{
         private 
bool _debug true;
         private 
Material _first_Mat;
         private 
GameObject _my_Object;

         
void Start()
         {
             
_my_ObjectGameObject.FindWithTag("MyTag");   //Находим свой обьект по тегу
             
_first_Mat _my_Object.renderer.material;   //Запоминаем какой на нем изначально материал
         
}

         
void Update()
         {
             if (
Input.GetMouseButtonUp(0))
             {
                 
Ray ray Camera.main.ScreenPointToRay(Input.mousePosition);            //получим координаты мышки
                 
RaycastHit hit;                                                         //Объявим структуру, из которой будем брать данные
                 
if (Physics.Raycast(rayout hit100))                                 //возвращает true если сталкивается с чем либо
                 
{
                     if (
_debugDebug.DrawLine(ray.originhit.point);                  //покажем линией на выделяемый объект.
                     
if (hit.collider.gameObject.tag == "MyTag")                         // Разрешаем помечать объекты только с этим тегом
                         
hit.collider.gameObject.renderer.material.color Color.green;  //выделяем цветом объект, по колайдеру которого мы попали    
                 
}
             }
             if(
Input.GetKey(KeyCode.W))
             {
                 
_my_Object.renderer.material _first_Mat;                                // По нажатию на W возвращаем начальный материал
             
}
         }
     } 
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием