Заморозить врага [Решено]

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Заморозить врага [Решено]

Сообщение Receptor 12 май 2012, 16:50

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

1) После полной остановки анимации добавить на объект Rigidbody (это я знаю как), удалить старый коллайдер (это тоже знаю) и добавить коллайдер принимающую форму застывшего меша. Меня интересует как раз то, можно ли сгенерировать новый коллайдер по текущей форме меша? Понимаю, что вопрос где-то нелепый, но хотелось бы узнать :)

... Или еще вариант:

2) Думал о том, что бы зараннее установить на мобе коллайдеры капсульные на каждой кости, и просто их включать при необходимости.

Приму с радостью и любые другие варианты, связанные с имитацией окаменения/заморозки объекта в реальном времени.
Последний раз редактировалось Receptor 13 май 2012, 13:14, всего редактировалось 2 раз(а).
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Заморозить врага

Сообщение Receptor 13 май 2012, 11:27

Разобрался. Дал коллайдеры каждоый части тела моба, при замарозке плавная остановка анимации, и плавный переход с одной дифусной карты в другую... + добавляется Rigidbody, что бы объект мог падать, потом разбиваться и т.п.

Посоветуйте, как визуально можно сделать лучше заморозку, мб сосульки какие добавить как-то или что-то в этом роде...

А то пока что уныло выглядит. (добавлю еще при заморозке источник света и партиклы холодного пара, но нужно что-то самой моделью делать)



И еще, если тут на форуме где-то есть включение/выключение Рагдолла, и подъем врага после Рагдолла, поделитесь ссылкой.
Последний раз редактировалось Receptor 13 май 2012, 12:03, всего редактировалось 1 раз.
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Заморозить врага

Сообщение alt3d 13 май 2012, 11:42

Уныло выглядит, потому-что он когда падает не разбивается на кусочки, что не логично и сразу зацепляет подсознание.

А добавить.. не оценить по маленькой картинке текущий вид.
Может добавлять текстуру под врага на небольшое расстояние - как будто у него под ногами земля замерзает. И мне кажется если он застывать будет почти мгновенно - будет лучше.

Вообщем саб-зиро одобряет подобные вещи )
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: Заморозить врага

Сообщение Receptor 13 май 2012, 11:56

alt3d Ну само собой разбиваться будет. Кст при таком падении не факт что ледяная скульптура разобьется, возможно просто расколится на несколько частей (было бы прикольно реализовать, но не представляю даже как). Про замерзание под ногами интересно, попробую :) Только с декалями разберусь сначала
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Заморозить врага

Сообщение Левш@ 13 май 2012, 12:06

было бы прикольно реализовать, но не представляю даже как

После падения подмени модель на нарезанную и с анимой разбивания.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Заморозить врага

Сообщение Receptor 13 май 2012, 13:12

Левш@ Так у меня ж текущая анимация застывает (а это может быть что угодно), хотя никто и не заметит наверное. Так и сделаю :)
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Заморозить врага [Решено]

Сообщение AndreyMust19 13 май 2012, 13:42

При столкновении холодного болта с врагом добавь спецэффектов. И сосулек на тело конечно L-)
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Заморозить врага [Решено]

Сообщение lol 13 май 2012, 18:24

Используй плагин shatter toolkit для риалтайм разбивания. А для вставания с регдолла - Advanced Ragdoll.
lol
Старожил
 
Сообщения: 508
Зарегистрирован: 15 ноя 2009, 10:48
Откуда: Москва

Re: Заморозить врага [Решено]

Сообщение Acolit 13 май 2012, 19:16

А можешь скриптик свой заморозки скинуть?
а то тоже нужно кое-что такое, хоть посмотрю, как действует что
Аватара пользователя
Acolit
UNIверсал
 
Сообщения: 431
Зарегистрирован: 08 мар 2012, 11:15

Re: Заморозить врага [Решено]

Сообщение Receptor 13 май 2012, 20:28

AndreyMust19
lol Мне не хотелось бы покупать что-либо, их тех изображений, что хотелось бы самому всему научиться... Но с другой стороны, т.к. я новичок в программировании на первое время можно что-то приобретать. А для рагдола я UGR! присмотрел уже на сторе. Поднимание после рагдолла не факт что понадобится, да и сделать его можно и самому, по крайней мере в теории представляю как.

Acolit
Да там ничего сложного, мне не жалко (весь скрипт большой, только метод отвечающий за заморозку вот):

Синтаксис:
Используется csharp
void Froze(){
               
                if(negativeFrozeSpeed<0.995f){
                        negativeFrozeSpeed+=0.02f;
                        mobRenderer.material.SetFloat("_LerpBalance",negativeFrozeSpeed);
                }else{
                        negativeFrozeSpeed=1f;
                }
               
                if(frozeSpeed>0.005f){
                        frozeSpeed-=0.02f;
                }else{
                        frozeSpeed=0f;
                        Rigidbody frozenRigidbody = gameObject.AddComponent<Rigidbody>();
                        frozenRigidbody.mass = 50;
                        frozenRigidbody.angularDrag = 1;
                        frozenRigidbody.drag = 1;
                }
                foreach (AnimationState state in mobMesh.animation) {
            state.speed = frozeSpeed;
        }
        }
       
        void OnCollisionEnter(Collision mobCollision){
                if(mobCollision.collider.tag == "IceSphere"){
                        if (!(mobType == MobType.Phantom)){
                        mobFrozen = true;
                        }
                }
        }
 


В Update() если mobFrozen == true; то Froze()
еще бы все эти таймеры типа negativeFrozeSpeed научится оптимизировать
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Заморозить врага [Решено]

Сообщение Acolit 14 май 2012, 15:24

спасибо!!благодарю!
Аватара пользователя
Acolit
UNIверсал
 
Сообщения: 431
Зарегистрирован: 08 мар 2012, 11:15


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Google [Bot] и гости: 19