Проблема с ходьбой в точку(РЕШЕНО!)

Программирование на Юнити.

Проблема с ходьбой в точку(РЕШЕНО!)

Сообщение DARKPARK 16 июл 2010, 04:37

Добрый день!
У меня Есть Объект и Камера , скрипт весящий на камере при клике мыши видёт Объект в нужную точку , но когда он остонавливается он начинает дёргаться , возможно ли это исправить ?

HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://dc221.4shared.com/download/G2D5gxOS/75_online.unity3d&w=600&h=450&t=false&preview=1' height='"+(450+30)+"' width='600' frameborder='0' scrolling='no'></iframe>"); </script>



(js)
Код: Выделить всё
var hero:GameObject;
var pointeffect:GameObject;
var maincamera:Camera;
var move:boolean = false;
var wantedPosition;
function Update () {
   var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
   var hit : RaycastHit;
   if (Physics.Raycast (ray, hit, 100)) {
      if (Input.GetButtonDown ("Fire1")) {
         wantedPosition = Vector3(hit.point.x, 1, hit.point.z);
         move = true;
      }
   }
   if(move) {
      hero.transform.LookAt(wantedPosition);
      hero.transform.Translate (Vector3.forward * Time.deltaTime * 4);
      if(wantedPosition == hero.transform.position) {
         move = false;
      }
   }
}

Зарание спасибо !!!
P.S. Есть ещё вопрос как сделать так чтоб камера двигалась за объектом как в деабло 2.
Последний раз редактировалось DARKPARK 17 июл 2010, 01:13, всего редактировалось 1 раз.
DARKPARK
UNец
 
Сообщения: 7
Зарегистрирован: 03 май 2010, 13:19

Re: Проблема с ходьбой в точку

Сообщение Zaicheg 16 июл 2010, 07:37

Я полагаю, что флаг move не принимает значение false. Потому что высота для точки задана неверно. Если речь идёт о перемещении по плоскости (а в вашем случае только такое возможно), то высоту задавать лучше так
wantedPosition = Vector3(hit.point.x, hero.transform.position.y, hit.point.z);
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Проблема с ходьбой в точку

Сообщение badbii 16 июл 2010, 10:12

udaleno
Последний раз редактировалось badbii 23 ноя 2010, 11:43, всего редактировалось 1 раз.
badbii
UNIт
 
Сообщения: 65
Зарегистрирован: 12 дек 2009, 20:27

Re: Проблема с ходьбой в точку

Сообщение DARKPARK 16 июл 2010, 13:16

зачем мне пример , хочу просто это доделать , темболее там на с шарпе , а мне на (js) нужно
DARKPARK
UNец
 
Сообщения: 7
Зарегистрирован: 03 май 2010, 13:19

Re: Проблема с ходьбой в точку

Сообщение Golandez 16 июл 2010, 14:38

Думаю лучше будет
Код: Выделить всё
transform.position.y  = Terrain.activeTerrain. SampleHeight  (transform.position);

чтобы не было в дальнейшем казусов.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Проблема с ходьбой в точку(РЕШЕНО!)

Сообщение DARKPARK 17 июл 2010, 01:17

Спасибо всем !
Да действительно move не принимает значение false. Кому надо вот решение.
if(Vector3.Distance(hero.transform.position , wantedPosition) < 0.1) {
move = false;
}
DARKPARK
UNец
 
Сообщения: 7
Зарегистрирован: 03 май 2010, 13:19


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6