Как я могу создать несколько вариантов класса/врага с помощью StateMachine в Unity с использованием C#?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу создать несколько вариантов класса/врага с помощью StateMachine в Unity с использованием C#?

Сообщение Anonymous »

Я следил за несколькими источниками, чтобы создать свою собственную StateMachine в Unity Engine без каких-либо подсостояний. Мне удалось создать StateMachine, которая отвечает всем основным и простым требованиям персонажа в видеоигре, таким как ходьба, бег, приседание, уклонение, поворот и одна базовая комбинация рукопашных атак.
Моя цель: создать врага или различных игровых персонажей, таких как маг, волшебник, танк, лучник и т. д., используя эту машину состояния персонажа в качестве основы. Я также не мог понять, как я могу сделать так, чтобы этот персонаж/класс мог переключаться между несколькими наборами оружия без изменения класса? Я подумал, что мне следует попытаться использовать здесь полиморфизм и наследование, чтобы отклониться от этого базового класса.
Я также хотел использовать объекты, допускающие сценарии, чтобы поддерживать чистоту и хранить цифры урона и значения здоровья. и т. д. для разных классов/врагов, но это вопрос для другого поста.
Я прикреплю свои текущие состояния и StateMachine для базового визуального понимания состояний, которые имеет средний игрок/NPC. общего и сколько различных состояний у меня есть.
Копировать, вставлять эти состояния или конечный автомат каждый раз или переписывать каждый сценарий состояния с другим именем не кажется эффективным или логичным, поэтому я вернулся к предыдущему коммиту . Единственный способ, который я могу придумать, - это получить от CharacterStateMachine (имя моей StateMachine) и переопределить некоторые методы, такие как Attack (воспроизводит анимацию атаки дальнего боя и наносит разные значения урона вместо урона от атаки ближнего боя), но я не уверен, как это сделать. именно это.
Я не продвинулся дальше, и когда я попытался провести исследование, исходя из своих потребностей, я не смог найти конкретного решения, которому я мог бы следовать. Итак, я здесь.
Спасибо за ваше время и участие!

Подробнее здесь: https://stackoverflow.com/questions/788 ... e-in-unity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»