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

Перемещение
На террайн вешаем тег "Floor"
Ray _ray;
RaycastHit _hit;
float _speed=20f;
bool _go=false;
void Update()
{
 if (
Input.GetButtonDown("Fire1"))
  {
    
_ray=gameObject.camera.ScreenPointToRay(Input.mousePosition);
     if (
Physics.Raycast(_rayout _hitMathf.Infinity100))
        {
           if (
_hit.collider.tag == "Floor")
             {
               
GameObject _waypoint = new GameObject(); 
                
_waypoint.transform.position=_hit.point;  
                
_go=true;                       
                
animation.Play();                      
              }               
        }
  }
  if(
_go)
  {
     
transform.Translate(Vector3.Normalize(_waypoint.transform.positiontransform.position) * Time.deltaTime _speed);
  }
  if(
transform.position == _waypoint.transform.position)
  {
      
_go=false;
      
animation.Stop();
      
Destroy(_waypoint);
   }

В общих чертах так.Это не рабочий скрипт,это логика.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.

Последний раз редактировалось Lestar, 26.07.2011 в 00:42.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Warlock_29A (08.08.2011)