Я следил за несколькими источниками, чтобы создать свою собственную StateMachine в Unity Engine без каких-либо подсостояний. Мне удалось создать StateMachine, которая отвечает всем основным и простым требованиям персонажа в видеоигре, таким как ходьба, бег, приседание, уклонение, поворот и одна базовая комбинация рукопашных атак.
Моя цель: создать врага или различных игровых персонажей, таких как маг, волшебник, танк, лучник и т. д., используя эту машину состояния персонажа в качестве основы. Я также не мог понять, как я могу сделать так, чтобы этот персонаж/класс мог переключаться между несколькими наборами оружия без изменения класса? Я подумал, что мне следует попытаться использовать здесь полиморфизм и наследование, чтобы отклониться от этого базового класса.
Я также хотел использовать объекты, допускающие сценарии, чтобы поддерживать чистоту и хранить цифры урона и значения здоровья. и т. д. для разных классов/врагов, но это вопрос для другого поста.
Я прикреплю свои текущие состояния и StateMachine для базового визуального понимания состояний, которые имеет средний игрок/NPC. общего и сколько различных состояний у меня есть.
Копировать, вставлять эти состояния или конечный автомат каждый раз или переписывать каждый сценарий состояния с другим именем не кажется эффективным или логичным, поэтому я вернулся к предыдущему коммиту . Единственный способ, который я могу придумать, - это получить от CharacterStateMachine (имя моей StateMachine) и переопределить некоторые методы, такие как Attack (воспроизводит анимацию атаки дальнего боя и наносит разные значения урона вместо урона от атаки ближнего боя), но я не уверен, как это сделать. именно это.
Я не продвинулся дальше, и когда я попытался провести исследование, исходя из своих потребностей, я не смог найти конкретного решения, которому я мог бы следовать. Итак, я здесь.
Спасибо за ваше время и участие!
Подробнее здесь: https://stackoverflow.com/questions/788 ... e-in-unity
Как я могу создать несколько вариантов класса/врага с помощью StateMachine в Unity с использованием C#? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему у меня не появляется анимация взрыва, когда я стреляю во врага в Unity 2D? [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-