При вхождение в триггер проигрывается анимация? - Форум Игроделов
Сб, 27 Апр 2024, 10:33 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » HELP & FAQ » При вхождение в триггер проигрывается анимация? (вопрос)
При вхождение в триггер проигрывается анимация?
MrKyzminДата: Сб, 16 Фев 2013, 20:45 | Сообщение # 1
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Пробовал в ScriptReference найти, находил совершенно друге не то что надо, кто может дать сылку на урок ну или написать какая команда отвечает за проигрывание анимации при вхождение в триггер зону?

Добавлено (16.02.2013, 20:45)
---------------------------------------------
Написал боле мене хороший скрипт. Но появилась друга проблема:

Код
var time :  float =0; //Время
var Trigger : GameObject; //Объект анимации
var Animation : AnimationClip; //Анимация
function OnTriggerStay(other : Collider)
{
Trigger.animation.clip = Animation;
Trigger.animation.Play();
{
time += 0.1; //Прибавление времени
Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет
}
}


Ошибка тут:

Код

time += 0.1; //Прибавление времени


В "+="

Кто подскажет как исправить


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +


Сообщение отредактировал MrKyzmin - Сб, 16 Фев 2013, 20:59
 
СообщениеПробовал в ScriptReference найти, находил совершенно друге не то что надо, кто может дать сылку на урок ну или написать какая команда отвечает за проигрывание анимации при вхождение в триггер зону?

Добавлено (16.02.2013, 20:45)
---------------------------------------------
Написал боле мене хороший скрипт. Но появилась друга проблема:

Код
var time :  float =0; //Время
var Trigger : GameObject; //Объект анимации
var Animation : AnimationClip; //Анимация
function OnTriggerStay(other : Collider)
{
Trigger.animation.clip = Animation;
Trigger.animation.Play();
{
time += 0.1; //Прибавление времени
Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет
}
}


Ошибка тут:

Код

time += 0.1; //Прибавление времени


В "+="

Кто подскажет как исправить

Автор - MrKyzmin
Дата добавления - 16 Фев 2013 в 20:45
ЛевшаДата: Сб, 16 Фев 2013, 20:51 | Сообщение # 2
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Нет там ошибки... просто назови переменную по другому. (time зарезервировано юнити).

X.cor.R (Prologue)
 
СообщениеНет там ошибки... просто назови переменную по другому. (time зарезервировано юнити).

Автор - Левша
Дата добавления - 16 Фев 2013 в 20:51
MrKyzminДата: Сб, 16 Фев 2013, 21:01 | Сообщение # 3
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Я поменял переменную но все равно исход тот же

Код

var Tm :  float =0; //Время  
  var Trigger : GameObject; //Объект анимации  
  var Animation : AnimationClip; //Анимация  
  function OnTriggerStay(other : Collider)  
  {  
  Trigger.animation.clip = Animation;  
  Trigger.animation.Play();  
  {  
  Tm +=0.1; //Прибавление времени  
  Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет  
  }  
  }  
   


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеЯ поменял переменную но все равно исход тот же

Код

var Tm :  float =0; //Время  
  var Trigger : GameObject; //Объект анимации  
  var Animation : AnimationClip; //Анимация  
  function OnTriggerStay(other : Collider)  
  {  
  Trigger.animation.clip = Animation;  
  Trigger.animation.Play();  
  {  
  Tm +=0.1; //Прибавление времени  
  Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет  
  }  
  }  
   

Автор - MrKyzmin
Дата добавления - 16 Фев 2013 в 21:01
seamanДата: Сб, 16 Фев 2013, 21:36 | Сообщение # 4
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
1.
Код
Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет  

Это неверно. Эта строчка означает, что объект Trigger исчезнет через 1 секунду после первого вызова OnTriggerStay
2.
Код
  {    
    Tm +=0.1; //Прибавление времени    
    Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет    
    }

Зачем эти скобки?
3.
Код
  Tm +=0.1; //Прибавление времени

Я JS не знаю, но если тут выдает ошибку, то попробуйте так:
Код
  Tm +=0.1f; //Прибавление времени

4. Чтобы триггер исчез через 1 секунду после пребвания в нем нужно проверять Tm:
Код
Tm += o.1f;
if(Tm > 1) Destroy(Trigger);
 
Сообщение1.
Код
Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет  

Это неверно. Эта строчка означает, что объект Trigger исчезнет через 1 секунду после первого вызова OnTriggerStay
2.
Код
  {    
    Tm +=0.1; //Прибавление времени    
    Destroy(Trigger, 1); //Если время равно 1 объект Trigger исчезнет    
    }

Зачем эти скобки?
3.
Код
  Tm +=0.1; //Прибавление времени

Я JS не знаю, но если тут выдает ошибку, то попробуйте так:
Код
  Tm +=0.1f; //Прибавление времени

4. Чтобы триггер исчез через 1 секунду после пребвания в нем нужно проверять Tm:
Код
Tm += o.1f;
if(Tm > 1) Destroy(Trigger);

Автор - seaman
Дата добавления - 16 Фев 2013 в 21:36
MrKyzminДата: Сб, 16 Фев 2013, 23:00 | Сообщение # 5
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Цитата
Это неверно. Эта строчка означает, что объект Trigger исчезнет через 1 секунду после первого вызова OnTriggerStay


Если я правильно понимаю то если вместо OnTriggerStay поставить OnTriggerExit при выходе из тригера проиграет анимация и триггер удалиться, а если я не правильно понимаю то мы вошли в триггер зону и через 1 секунду он удалится.


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
Сообщение
Цитата
Это неверно. Эта строчка означает, что объект Trigger исчезнет через 1 секунду после первого вызова OnTriggerStay


Если я правильно понимаю то если вместо OnTriggerStay поставить OnTriggerExit при выходе из тригера проиграет анимация и триггер удалиться, а если я не правильно понимаю то мы вошли в триггер зону и через 1 секунду он удалится.

Автор - MrKyzmin
Дата добавления - 16 Фев 2013 в 23:00
ЛевшаДата: Сб, 16 Фев 2013, 23:24 | Сообщение # 6
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (seaman)
Tm +=0.1; //Прибавление времени
Я JS не знаю, но если тут выдает ошибку, то попробуйте так:
Tm +=0.1f; //Прибавление времени

без разницы, можно f не ставить. Там ошибки нет.


X.cor.R (Prologue)
 
Сообщение
Цитата (seaman)
Tm +=0.1; //Прибавление времени
Я JS не знаю, но если тут выдает ошибку, то попробуйте так:
Tm +=0.1f; //Прибавление времени

без разницы, можно f не ставить. Там ошибки нет.

Автор - Левша
Дата добавления - 16 Фев 2013 в 23:24
commandobyДата: Вс, 17 Фев 2013, 10:16 | Сообщение # 7
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
А не проще ли сделать, чтоб триггер удалялся после окончания анимации:
Код
   if (!animation.isPlaying) {
         Destroy(Trigger);
}


Блог.
 
СообщениеА не проще ли сделать, чтоб триггер удалялся после окончания анимации:
Код
   if (!animation.isPlaying) {
         Destroy(Trigger);
}

Автор - commandoby
Дата добавления - 17 Фев 2013 в 10:16
ЛевшаДата: Вс, 17 Фев 2013, 14:15 | Сообщение # 8
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Код
Destroy(Trigger, animation.clip.length);


smile


X.cor.R (Prologue)
 
Сообщение
Код
Destroy(Trigger, animation.clip.length);


smile

Автор - Левша
Дата добавления - 17 Фев 2013 в 14:15
MrKyzminДата: Ср, 20 Фев 2013, 17:50 | Сообщение # 9
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Ну в общем объект "Trigger" не удаляется после проигрывания анимации, вот код:

Код
var Trigger : GameObject; //Объект анимации  
var Animation : AnimationClip; //Анимация  
  function OnTriggerExit(other : Collider)  
  {  
  Trigger.animation.clip = Animation;  
  Trigger.animation.Play();  
   if (!animation.isPlaying) {  
          Destroy(Trigger, animation.clip.length);
  }
  }
  


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеНу в общем объект "Trigger" не удаляется после проигрывания анимации, вот код:

Код
var Trigger : GameObject; //Объект анимации  
var Animation : AnimationClip; //Анимация  
  function OnTriggerExit(other : Collider)  
  {  
  Trigger.animation.clip = Animation;  
  Trigger.animation.Play();  
   if (!animation.isPlaying) {  
          Destroy(Trigger, animation.clip.length);
  }
  }
  

Автор - MrKyzmin
Дата добавления - 20 Фев 2013 в 17:50
ЛевшаДата: Ср, 20 Фев 2013, 19:49 | Сообщение # 10
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Опять костыли... нельзя переменные называть зарезервированными именами... (var Animation)
Анимайшен должно висеть на обьекте скрипта или иметь в скрипте ссылку на нее и не на клип а на аудиоСурш.
smile

PS.Я лично пользовался этим методом, работает.


X.cor.R (Prologue)
 
СообщениеОпять костыли... нельзя переменные называть зарезервированными именами... (var Animation)
Анимайшен должно висеть на обьекте скрипта или иметь в скрипте ссылку на нее и не на клип а на аудиоСурш.
smile

PS.Я лично пользовался этим методом, работает.

Автор - Левша
Дата добавления - 20 Фев 2013 в 19:49
MrKyzminДата: Сб, 02 Мар 2013, 20:47 | Сообщение # 11
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Нус тогда вещай какую именно переменную нужно заменить biggrin

Добавлено (02.03.2013, 20:47)
---------------------------------------------
Все решил проблему сделал всё через анимацию когда мы входим в триггер он вместе с анимацией уходит вниз. Тему можно закрывать.


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеНус тогда вещай какую именно переменную нужно заменить biggrin

Добавлено (02.03.2013, 20:47)
---------------------------------------------
Все решил проблему сделал всё через анимацию когда мы входим в триггер он вместе с анимацией уходит вниз. Тему можно закрывать.


Автор - MrKyzmin
Дата добавления - 02 Мар 2013 в 20:47
thedark666Дата: Ср, 13 Ноя 2013, 08:44 | Сообщение # 12
Нет аватара
 
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Я сам новичок в скриптах , но вот тут решил переделать 1 скрипт и сделать из него 2 таких на 1 триггер , дабы можно было делать процессы вроде Уникальных Проигрываний Анимаций , не только одной.

Когда входишь в триггер проигрывается анимация любого обьекта (желательно того , который стоит в триггере , дабы видеть его.
Код
var Trigger : GameObject; //Объект анимации (Анимированная Модель FBX)
     var Animation : AnimationClip; //Анимация при входе в триггер
      function OnTriggerEnter(other : Collider)      
      {      
      Trigger.animation.clip = Animation;      
      Trigger.animation.Play();      
       if (!animation.isPlaying) {      
              Destroy(Trigger, animation.clip.length);
      }
      }


Проигрывание анимации любого обьекта , при выходе из триггера

Код
var Trigger : GameObject; //Объект анимации (Анимированная Модель FBX)
     var Animation : AnimationClip; //Анимация при выходе из триггера
      function OnTriggerExit(other : Collider)      
      {      
      Trigger.animation.clip = Animation;      
      Trigger.animation.Play();      
       if (!animation.isPlaying) {      
              Destroy(Trigger, animation.clip.length);
      }
      }


Так например ты можешь зайти в триггер и типуля будет махать тебе рукой , в то время как при выходе из триггера рядом стоящий с ним типуля даст ему с ноги в голову , вот такой вот интересный замутил процесс двумя скриптами на одном триггере cool

Да , да... Знаю... Тут вас много таких , которые вообще суперские штучки мутят , но я то всё же без знаний с риском делил скрипт на два с их успешной работоспособностью в дальнейшем , тупо путём логики и знанием Английского tongue


Сообщение отредактировал thedark666 - Ср, 13 Ноя 2013, 08:48
 
СообщениеЯ сам новичок в скриптах , но вот тут решил переделать 1 скрипт и сделать из него 2 таких на 1 триггер , дабы можно было делать процессы вроде Уникальных Проигрываний Анимаций , не только одной.

Когда входишь в триггер проигрывается анимация любого обьекта (желательно того , который стоит в триггере , дабы видеть его.
Код
var Trigger : GameObject; //Объект анимации (Анимированная Модель FBX)
     var Animation : AnimationClip; //Анимация при входе в триггер
      function OnTriggerEnter(other : Collider)      
      {      
      Trigger.animation.clip = Animation;      
      Trigger.animation.Play();      
       if (!animation.isPlaying) {      
              Destroy(Trigger, animation.clip.length);
      }
      }


Проигрывание анимации любого обьекта , при выходе из триггера

Код
var Trigger : GameObject; //Объект анимации (Анимированная Модель FBX)
     var Animation : AnimationClip; //Анимация при выходе из триггера
      function OnTriggerExit(other : Collider)      
      {      
      Trigger.animation.clip = Animation;      
      Trigger.animation.Play();      
       if (!animation.isPlaying) {      
              Destroy(Trigger, animation.clip.length);
      }
      }


Так например ты можешь зайти в триггер и типуля будет махать тебе рукой , в то время как при выходе из триггера рядом стоящий с ним типуля даст ему с ноги в голову , вот такой вот интересный замутил процесс двумя скриптами на одном триггере cool

Да , да... Знаю... Тут вас много таких , которые вообще суперские штучки мутят , но я то всё же без знаний с риском делил скрипт на два с их успешной работоспособностью в дальнейшем , тупо путём логики и знанием Английского tongue

Автор - thedark666
Дата добавления - 13 Ноя 2013 в 08:44
Форум Игроделов » UNITY3D » HELP & FAQ » При вхождение в триггер проигрывается анимация? (вопрос)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024