[Решено] Скрипт торпеды - Форум Игроделов
Пт, 17 Май 2024, 05:46 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » [Решено] Скрипт торпеды ([JS] прошу помочь советом)
[Решено] Скрипт торпеды
illeДата: Ср, 18 Май 2011, 10:48 | Сообщение # 1
 
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Всем привет! Такая проблема: есть торпеда ( колайдер , ригидбоди с физикой движения) которая должна падать в воду (колайдер), погружаться на определенную глубину двигаться к цели и взрываться при попадании в любые объекты кроме воды. Как сделать так что бы торпеда не взрывалась при столкновении с водой в момент падения в воду? Простое отключение или игнорирование колизий с водой не подходит , так как тогда торпеда просто тонет. Кто что присоветует?

Всегда готов!
 
СообщениеВсем привет! Такая проблема: есть торпеда ( колайдер , ригидбоди с физикой движения) которая должна падать в воду (колайдер), погружаться на определенную глубину двигаться к цели и взрываться при попадании в любые объекты кроме воды. Как сделать так что бы торпеда не взрывалась при столкновении с водой в момент падения в воду? Простое отключение или игнорирование колизий с водой не подходит , так как тогда торпеда просто тонет. Кто что присоветует?

Автор - ille
Дата добавления - 18 Май 2011 в 10:48
FunnyAlienДата: Ср, 18 Май 2011, 12:37 | Сообщение # 2
NYAN-NYAN?
 
Сообщений: 3643
Награды: 14
Репутация: 835
Статус: Offline
ille, я посоветую анимацию + коллизию не с любым, а с определенным объектом (в твоем случае это нап. подлодка).

Согласно протоколу испытаний, начиная с этого момента, мы перестаем говорить правду. Три, два, один.
 
Сообщениеille, я посоветую анимацию + коллизию не с любым, а с определенным объектом (в твоем случае это нап. подлодка).

Автор - FunnyAlien
Дата добавления - 18 Май 2011 в 12:37
illeДата: Ср, 18 Май 2011, 13:14 | Сообщение # 3
 
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Quote (FunnyAlien)
я посоветую анимацию + коллизию не с любым, а с определенным объектом (в твоем случае это нап. подлодка).

а как анимация может помочь в данной ситуации?
Объектов будет достаточно много: корабли, пл, морское дно или берег.
я правильно понял что совет вещать колизию взрыва не на торпеду, а на все объекты с которыми возможна кализия взрыва?


Всегда готов!
 
Сообщение
Quote (FunnyAlien)
я посоветую анимацию + коллизию не с любым, а с определенным объектом (в твоем случае это нап. подлодка).

а как анимация может помочь в данной ситуации?
Объектов будет достаточно много: корабли, пл, морское дно или берег.
я правильно понял что совет вещать колизию взрыва не на торпеду, а на все объекты с которыми возможна кализия взрыва?

Автор - ille
Дата добавления - 18 Май 2011 в 13:14
DjeeZДата: Ср, 18 Май 2011, 15:23 | Сообщение # 4
 
Сообщений: 270
Награды: 8
Репутация: 291
Статус: Offline
В скрипте получаем объект с которым столкнулись, и если это не вода, то взрываемся. Получить объект, проверить условие - получается добавить две строчки кода, в простейшем случае, вроде, хватит.
 
СообщениеВ скрипте получаем объект с которым столкнулись, и если это не вода, то взрываемся. Получить объект, проверить условие - получается добавить две строчки кода, в простейшем случае, вроде, хватит.

Автор - DjeeZ
Дата добавления - 18 Май 2011 в 15:23
ЛевшаДата: Ср, 18 Май 2011, 15:38 | Сообщение # 5
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Надо применять теги или слои (Tag or Layers).
При столкновении проверять их условием.


X.cor.R (Prologue)
 
СообщениеНадо применять теги или слои (Tag or Layers).
При столкновении проверять их условием.

Автор - Левша
Дата добавления - 18 Май 2011 в 15:38
illeДата: Ср, 18 Май 2011, 22:32 | Сообщение # 6
 
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Code
var Expl : GameObject;

function OnCollisionEnter (colision : Collision) {
//если не Wather то взрываемся
if(colision.gameObject.tag != "Wather")
var Expl = Instantiate(Expl, transform.position, transform.rotation);
Destroy(gameObject);
}

При контакте с водой торпеда пропадает.


Всегда готов!
 
Сообщение
Code
var Expl : GameObject;

function OnCollisionEnter (colision : Collision) {
//если не Wather то взрываемся
if(colision.gameObject.tag != "Wather")
var Expl = Instantiate(Expl, transform.position, transform.rotation);
Destroy(gameObject);
}

При контакте с водой торпеда пропадает.

Автор - ille
Дата добавления - 18 Май 2011 в 22:32
ЛевшаДата: Ср, 18 Май 2011, 22:46 | Сообщение # 7
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (ille)
При контакте с водой торпеда пропадает.

Тьфу, блин понял! biggrin у тебя в любом случае дестрой сработает, заключи все действия в скобки по условию.
Надо вот так:

Code
var expl : GameObject;       

function OnCollisionEnter (colision : Collision)  {       
            //если не Wather то взрываемся       
         if(colision.gameObject.tag != "Wather")  {
            var expl = Instantiate(expl, transform.position, transform.rotation);       
            Destroy(gameObject);       
         }
}

И желательно задержку дестроя, а то испариться не успев взорваться.

Code

var expl : GameObject;
var wait = 0.1;

function OnCollisionEnter (colision : Collision)  {
         //если не Wather то взрываемся
      if(colision.gameObject.tag != "Wather")  {
         var expl = Instantiate(expl, transform.position, transform.rotation);
         yield WaitForSeconds (wait);
         Destroy(gameObject);
       }
}    

Этика Js Unity - крайне не желательно давать имена переменным с большой буквы!


X.cor.R (Prologue)
 
Сообщение
Quote (ille)
При контакте с водой торпеда пропадает.

Тьфу, блин понял! biggrin у тебя в любом случае дестрой сработает, заключи все действия в скобки по условию.
Надо вот так:

Code
var expl : GameObject;       

function OnCollisionEnter (colision : Collision)  {       
            //если не Wather то взрываемся       
         if(colision.gameObject.tag != "Wather")  {
            var expl = Instantiate(expl, transform.position, transform.rotation);       
            Destroy(gameObject);       
         }
}

И желательно задержку дестроя, а то испариться не успев взорваться.

Code

var expl : GameObject;
var wait = 0.1;

function OnCollisionEnter (colision : Collision)  {
         //если не Wather то взрываемся
      if(colision.gameObject.tag != "Wather")  {
         var expl = Instantiate(expl, transform.position, transform.rotation);
         yield WaitForSeconds (wait);
         Destroy(gameObject);
       }
}    

Этика Js Unity - крайне не желательно давать имена переменным с большой буквы!


Автор - Левша
Дата добавления - 18 Май 2011 в 22:46
illeДата: Ср, 18 Май 2011, 23:05 | Сообщение # 8
 
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Все заработало Сспасибо!

Всегда готов!
 
СообщениеВсе заработало Сспасибо!

Автор - ille
Дата добавления - 18 Май 2011 в 23:05
Форум Игроделов » UNITY3D » СКРИПТИНГ » [Решено] Скрипт торпеды ([JS] прошу помочь советом)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024