Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1

Волк дохнет не правильно :(

03.03.2020, 23:38. Показов 579. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет
есть пара ботов "волки" и когда их бъешь то их хп уменьшается на 0 или ниже то они "дохнут" тоесть в аниматоре устанавливается тригер "смерть" и соответсвенное проигрывается анимация смерти

видео

начало видео
когда я в инспекторе устанавливаю ХП на 0 или ниже то анимация проигрывается как положенно, все булевые срабатывают (код движения и тп выполняется если bool isDead=false


от 20 секунды видео
но когда я подхожу с оружием и бъю волка пока он не "умрет" то анимация смерти не проигрывается хотя все тригеры и переменные меняют значения как надо


что я упускаю????? что то я не врубаюсь

Добавлено через 3 минуты
ПыСы на Неписях "Гуманойдах" стоит такойже NPCContoller с такими же значениями, с аниматорКонтроллером для гуманойдов
анимации проигрываются правильно

дело не в импорте костей и анимаций иначе бы они не проигрывались когда меняю значение ХП в инспекторе, и я проверял настройки импорта несколько раз
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2020, 23:38
Ответы с готовыми решениями:

Дохнет память
Народ помогите с советом по оперативной памяти. Мой системник: Процессор Intel Core 2 Quad Q9400 2.66 (3.2Ghz) Материнская плата Asus...

кука дохнет
люди задаю вопрос: создаю куку: setcoocie('blablabla','bla bla bla', time()+99999999, '/') она создаётся, но тока как юзер выйдет...

Преждевременно дохнет сессия
Народ, помогите! Скоро начну об стену биться. В общем, на стороне сервера преждевременно дохнет сессия. Сессионная кука передается...

6
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
05.03.2020, 10:48
Цитата Сообщение от Steroid Посмотреть сообщение
ботов "волки"
смешно волк воет и плывет к игроку))
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
05.03.2020, 11:44  [ТС]
Цитата Сообщение от MuaddibFremen Посмотреть сообщение
волк воет и плывет к игроку)
ну это он типа игрока заметил и подзывает стаю на помошь, а потом бежит к игроку (еще не доработано, это типа стейт)
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
05.03.2020, 11:44
Может баг в Unity? Судя по видео переход в контроллере работает...
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
05.03.2020, 12:07  [ТС]
Цитата Сообщение от wmysterio Посмотреть сообщение
баг в Unity
на другом компе даже пробовал
немогу понять почему
я заметил еще фишку что когда ударю "волка" один раз и потом меняю значение его здоровья в инспекторе то он тоже не "падает"
а если до ютого не бил то падает
в коде все норм (вроде)
скрипт с ХП волка:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public float aktuelleLebensPunkte; // актуальное ХП
 
// метод где наношу урон
public void SchadenZufugen(int damage)
    {
        aktuelleLebensPunkte -= damage;
        //animator.SetTrigger("hit");
 
    }
// проверяю количество ХП
private void LebenspunkteVerwalten()
    {
        lebensPunkteImage.fillAmount = aktuelleLebensPunkte / maxLebensPunkte;
        if (aktuelleLebensPunkte >= maxLebensPunkte)
        {
            aktuelleLebensPunkte = maxLebensPunkte;
        }
// если 0 или меньше присваиваю в контроллере белевой IsDead тру
        if (aktuelleLebensPunkte <= 0)
        {
            aktuelleLebensPunkte = 0;
            npcController.bIsDead = true;
        }
    }

скрипт контроллера:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void WennTot()
    {
// проверяю если умер
        if (bIsDead)
        {
// присваиваю стейт Dead
            state = NPCStates.Dead;
            nPCDirector.LebendeNpcCharaktere.Remove(gameObject);
            nPCDirector.GestorbeneNpcCharaktere.Add(gameObject);
        }
    }
// стейт Dead выглядит так (вырезанно из свича)
case NPCStates.Dead:
                animator.SetTrigger("dead");
                break;


Добавлено через 7 минут
скрипт оружия:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public int waffenSchaden;
    private GameObject waffenTrager;
    private Transform elternObj;
    // Start is called before the first frame update
    void Start()
    {
        GetComponent<BoxCollider>().enabled = false;
        elternObj = transform.parent;
        int i = 1;
// ищу самый "верхний" ГО чтоб узнать кто держит в руках оружие "хозяин"
        while (elternObj != null)
        {
            //Debug.Log("Eltern Object ist " + i + " " + elternObj.name);
            elternObj = elternObj.parent;
            if (elternObj != null)
            {
                waffenTrager = elternObj.gameObject;
                i++;
            }
            else
            {
                break;
            }
        }
// если игрок присваиваю в скрипте игрока актуальное оружие
        if (waffenTrager.GetComponent<PlayerInventory>() != null)
        {
            waffenTrager.GetComponent<PlayerInventory>().waffeInDerHand = gameObject;
        }
// если нпс то прискаиваю неписю актуальное оружие
        if (waffenTrager.GetComponent<NPCInventar>() != null)
        {
            waffenTrager.GetComponent<NPCInventar>().waffeInDerHand = gameObject;
        }
        Debug.Log("Waffenträger = " + waffenTrager);
    }
 
    private void OnTriggerEnter(Collider other)
    {
// если колизая с игроком и игрок НЕ "хозяин" оружия
        if ((other.tag == "Player") && (other.gameObject != waffenTrager))
        {
            other.GetComponent<PlayerFertigkeiten>().SchadenErleiden(waffenSchaden); // игрок получает урон
            GetComponent<BoxCollider>().enabled = false;
        }
 
// тоже самое с неписем
        if ((other.tag == "NPC") && (other.gameObject != waffenTrager))
        {
            other.GetComponent<NPCWerte>().angreifer = waffenTrager; // присваиваю неписю ГО кто его только что ударил 
            other.GetComponent<NPCWerte>().SchadenZufugen(waffenSchaden); // наношу урон
// если игрок еще не был врагом то он становится врагом
            if (other.GetComponent<NPCController>().bPlayerIstFeind == false)
            {
                    other.GetComponent<NPCController>().bPlayerIstFeind = true;
                
            }
        }
    }
0
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
05.03.2020, 15:23
Цитата Сообщение от Steroid Посмотреть сообщение
в коде все норм (вроде)
если чтто работает но не правильно. то это однозначно в коде не норм %)
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
05.03.2020, 17:20  [ТС]
Цитата Сообщение от MuaddibFremen Посмотреть сообщение
коде не норм
на других неписях все работает

Добавлено через 1 минуту
только одно отличие на волках галочка "RootMotion" не стоит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2020, 17:20
Помогаю со студенческими работами здесь

Что дохнет от кз в горячей части
Доброго времени суток! Есть у меня не особо нужный БП fsp pnr400, решил его помучать и впаять туда к высоковольтным банкам параллельно...

поставил домино 8, комп дохнет...
Привет! Поставил себе сервер 8, как только запускаю его у себя это все... комп просто жуть тормозит, поставил все в станд...

PHP дохнет после попытки подключиться к mysql
День добрый, вот такой код пытаюсь запустить для теста соединения с БД: &lt;?php $dblocation = &quot;127.0.0.1&quot;; $dbname =...

Батарея в UPS дохнет от одного перехода на батарею?
Привет! Есть у меня вот такой UPS: http://www.apc.som/resource/ymstude/tec ... u=BE525-RS На нём висит небольшой сервер, ADSL-модем....

Дохнет видео (i915 OnBoard) кто виноват?
здравствуй глубокоуважаемый Олл. Исходные данные: Linux: Debian 5.0.7 (Lenny) Gnome Environment MB: Gigabyte 8I915GMF с видео на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru