14

Диалоги на Unity3D

Здравствуйте, посетители форума, начинающие, а так же продвинутые программисты. Сегодня я хотел поделиться с вами своей простенькой системой диалогов. Сейчас объясню принцип работы, а с самими скриптами, можете ознакомиться на  GitHub https://github.com/Walperr/Dialogs-On-Unity3D

Суть достаточно проста, мы загружаем записи из XML файлов и сортируем их по элементам наших массивов, которые в свою очередь, уже будут отображаться на экране в качестве диалогов.  Работает это по вот такой вот схеме

Выглядит просто, однако основной сложностью было как раз то, что НПС переводил нас на несколько возможных фраз от игрока. Если в XML файле у нас все фразы, от НПС стоят по порядку друг за другом, и вызываются по их порядковому номеру, то с фразами игрока все немного иначе. В файле они находятся так же по порядку, но имеют атрибут, который определяет к какому блоку относится эта фраза. В итоге сам файл, хранящий в себе фразы будет выглядеть примерно с такой структурой.

Вроде все просто, каждая сказанная фраза НПС дает возможность сказать фразы, относящиеся к какому-то блоку, каждая фраза из блока, заставляет сказать соответствующую ей фразу от НПС. Есть еще один аспект, который хотелось бы упомянуть. Ветки диалогов, в которые нам не попасть из основного дерева, они как правило открываются после каких-то событий в игровом мире. Примеров я приводить не стану, думаю вы и сами придумаете кучу.

Реализовал я это так: я прописал еще пару фраз отдельно и пометил их, у них, как и у фраз НПС только один атрибут, они не идут блоками, а одиночными фразами, хотя можно добавить несколько фраз из одного события. Они будут переводить нас на фразы НПС, которые как и ранее будут переводить нас на  те же блоки с фразами игрока. Это те же ветки диалогов, просто входим мы в них сторонними фразами, которые активируем после какого-то события в мире игры.  Что же, это основной принцип создания системы диалогов для вашей игры. Ознакомиться с исходником вы можете на гитхабе по ссылке https://github.com/Walperr/Dialogs-On-Unity3D
К сожалению не было времени дописать расширение для редактора юнити, чтобы удобнее настраивать сами диалоги, поэтому все делается в ручную в самом файле. Редактирование самого исходника и дополнение приветствуется. Может кто-то и сделает это окошко для редактирования диалоговых деревьев.

Unity

260 постов2.7K подписчиков

Правила сообщества

• Запрещается постить вопросы, мемы и прочую ерунду - для этого есть форумы и другие специализированные ресурсы.


• Распространение и обсуждение пиратского ПО, кейгенов, ключей и прочих пиратских файлов запрещено.


• Соблюдайте сетевой этикет. Оскорбительное поведение и мат (в том числе сокращенный или завуалированный) караются баном.


• Запрещается разводить полемики на тему "какой движок круче". Здесь мы обсуждаем только Unity.


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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества