Суббота, 20 Апреля 2024, 08:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблема с Рэгдоллом
Проблема с Рэгдоллом
Grisha56Дата: Пятница, 14 Июля 2017, 01:05 | Сообщение # 1
был не раз
Сейчас нет на сайте
Привет всем.Решил значит создать игру,нужно сделать смерть персонажа,сделал два обьекта,один обьект - Рэгдолл,другой - персонаж,которым можно управлять.
И столкнулся с проблемой перемещения рэгдолла на место персонажа.
Проблема: рэгдолл застывает на месте, планировалось что будет продолжать падать
Код:
public GameObject Player;
public GameObject deadPlayer;

public Transform DeadPlayer;
public Transform LivePlayer;

if (Input.GetKeyDown(KeyCode.X))
{
Player.SetActive(true);
deadPlayer.SetActive(false);
DeadPlayer.rotation = LivePlayer.rotation;
DeadPlayer.position = LivePlayer.position;
}
Заранее спасибо.
puksusДата: Пятница, 14 Июля 2017, 01:40 | Сообщение # 2
Пчёлка Зоя
Сейчас нет на сайте
Я в юнити не работал и не знаю, чо там и как, но... вы уверены в этих строчках?
Player.SetActive(true);
deadPlayer.SetActive(false);

Может, логичнее вот так?
Player.SetActive(false);
deadPlayer.SetActive(true);


https://vk.com/beezoya
VuvkДата: Пятница, 14 Июля 2017, 07:42 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Grisha56, какой-то ну очень кривой способ создать трупик вместо персонажа. По идее нужно, чтобы и трупик, и игрок был одним и тем же объектом. Когда игрок "умирает", отключить скрипты управления, включить физику на всех частях тела и включить, если есть, скрипты трупика.
puksus верно подметил.
Если же использовать трупик, как отдельный префаб всё-таки, то создание трупа умещается в двух строках кода:
Код

public GameObject player;
public GameObject deadPlayer;

if (Input.GetKeyDown(KeyCode.X))
{
  if (player)
  {
    // создать дохлого игрока в месте игрока и с поворотом игрока
    if (deadPlayer)
      Instantiate (deadPlayer, player.transform.position, player.transform.rotation);
    // удалить игрока
    Destroy(player);
  }
}


Сообщение отредактировал Vuvk - Пятница, 14 Июля 2017, 07:47
Grisha56Дата: Пятница, 14 Июля 2017, 13:59 | Сообщение # 4
был не раз
Сейчас нет на сайте
puksus, знаю,мой косяк,когда ставил наоборот активировался труп,я потом просто поменял местами обьекты и забил.

Добавлено (14 июля 2017, 13:59)
---------------------------------------------
Vuvk, я не понимаю,это бред, рэгдолл опять зависает в воздухе

Сообщение отредактировал Grisha56 - Пятница, 14 Июля 2017, 13:55
VuvkДата: Пятница, 14 Июля 2017, 14:01 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Grisha56, а это значит, что с самим префабом куклы что-то не так. Например, одна из частей тела static.
Grisha56Дата: Пятница, 14 Июля 2017, 17:20 | Сообщение # 6
был не раз
Сейчас нет на сайте
Vuvk, Все, проблема была из-за hinge joint 2d,я так понял, что он крепился к "воздуху"

Добавлено (14 июля 2017, 17:20)
---------------------------------------------
Vuvk, + rep

Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблема с Рэгдоллом
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг