Показать сообщение отдельно
Старый 28.07.2011, 00:49   #5
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Очень нужна помощь..

Так можем таскать превив модельки за мышкой.
Ray _ray;
RaycastHit _hit;
bool _previw=false;
bool _instans=false;

void Update()
{
  if(
GUI.Button(new Rect(10705030), "Click me"))
  {
   
_previw=!_previw;
  }  
  if(
_previw)
  {
  
ray=Camera.main.ScreenPointToRay(Input.mousePosition);
     if (
Physics.Raycast(_rayout _hitMathf.Infinity100))
        { 
          if(!
_instans)
          {
           if (
_hit.collider.tag == "Floor")
             {                
              
Instantiate(_tower_Prefab,_hit.point,Quaternion.identity); 
              
_instans=true;                  
             } 
           }
        }
    
transform.position=_hit.point;
  }

Так расставить кубики по узлам сетки
Vector3 [] _point_List=new Vector3[30]
float _x=0;
float _z=0;
float _j=0;


void Start()
{
 for(
int i=0;i<30;i++)
 {
  
_point_List[i]=new Vector 3(_x,0,_z)
  
GameObject _waypoint GameObject.CreatePrimitive(PrimitiveType.Cube);
  
_waypoint.transform.position=_point_List[i];
  
_waypoint.tag="Empty";
   
_x=i+100f;
   
_j++;
  if(
_j%5==0f)
     {
       
_z=i+50f;
       
_x=0;
       
_j=0;
     }
 }

Так реагируем на приближение к обьекту
void OnCollisionEnter(Collision collision)
{
public 
Transfotm _tower_Prefab;
 if(
collision.gameObject.tag=="Empty")
  {
  
renderer.material.color=Color.green;
  if (
Input.GetButtonDown("Fire1"))
   {
    
Gameobject _waypointOn=collision.gameObject;
    
Instantiate(_tower_Prefab,_waypointOn.transform.position,Quaternion.identity);
    
Destroy(_waypointOn);
   }
  } 

В общих чертах логика такая.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
PasPar2 (28.07.2011)