Перейти к содержимому


Фотография

Анимация разговора,движения губ?


Лучший Ответ DarkViper98 , 06 April 2016 - 23:28

Разговоры делаются по-другому, специально для этого - новая возможность от BIS в Arma 3.

 

В папке с миссией создаешь файл texts.bikb

Туда пишешь вот такими блоками: 

class Sentences
{
	class SomeName // Имя любое 
	{
		text = "SomeText"; // Текст 
		speech[] = {"Folder\Sound.ogg"}; // Папка со звуками и указание на звук
		actor = "InitName"; // Называешь в инициализации бойца, пишешь сюда такое же имя. Данная строчка указывает на то кто будет произносить речь.
		variant = ""; 
		variantText = "";
	        class Arguments {};
        };
};
class Arguments{};
class Special{};
startWithVocal[] = {hour};
startWithConsonant[] = {europe, university};

Делаешь блоков сколько нужно в зависимости от того сколько реплик. В конец файла обязательно пишешь то, что указано во втором коде ниже первого. Без этого ничего не будет работать.

 

В папку с миссией добавляешь файл init.sqf

Туда пишешь следующее. 

InitName KbAddTopic ["conversations","texts.bikb","",""]; // conversations - просто название оно может быть любое. texts.bikb - название файла, в котором наши диалоги написаны. Соответственно должно быть такое название.
InitName KbAddTopic ["conversations","texts.bikb","",""]; // InitName - имя твоих действующих лиц, которые будут говорить. Каждому говорящему юниту добавляешь такую команду.

Как добавлять .ogg Надеюсь знаешь. Если у тебя audacity или другая программа, то не забывай переводить дорожку из СТЕРЕО в МОНО. Файлы .ogg кидаешь в папку со звуками. Folder\Sound.ogg Должная соответствовать пути в файле texts.bikb

 

Теперь добавляем движения губами. 

Скачай из Steam инструментов Arma 3 Tools. Заходишь. Видишь Audio, рядом значок папки, заходишь в него. Видишь файл WAVToLIP.exe и на него из папки со звуками перемещаешь свои записи. Появляется в папке со звуком файл .lip. Он должен иметь название такое же как и .ogg

 

Теперь диалог в игре. Ставишь юнитов, все делаешь. Теперь куда-нибудь пишешь команду, чтобы активировать фразу. 

 

InitName KbTell [InitName2,"conversations","Name"];

InitName - имя юнита в инициализации, который будет говорить речь. InitName2 - услышит эту речь, то есть говорят - ему. Если он будет на большом расстоянии от того, кто сказал, то сообщение будет сказано по рации.

 

conversations - имя, которое использовали в init.sqf - то есть должно быть одинаково.

 

Name по-моему название аудиофайла, без .ogg пишется.

 

sleep 3; /// Используешь данную команду для интервала между репликами. 
 
Вроде все расписал, должно работать. Если что-то не получилось, пиши мне короче. 
Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 OFFLINE   phantom_russia

phantom_russia

    Рядовой

  • Пользователи
  • 6 сообщений

Отправлено 05 April 2016 - 23:19

Что делаю не так? нужна для сцены  озвучка и анимации губ. Lip файл генерировал сам как и мона16 бит ogg.
Когда запускается миссия звук воспроизводится а Бот ВасяПетя1 не открывает рот?????а если бота делаю Игрок всё работает.
Имя бота Васька1
а в инициализации у бота пишу Петька1 say "Prolog1";
 
class CfgSounds 
  sounds[] = {}; 
 
  class Prolog1 
  { 
    name = "Prolog1"; 
    sound[] = {"\sound\Prolog1.ogg", db+5, 1.0}; 
    titles[]={0, "BLA BLA"}; 
  }; 
}; 
В папке sound лежат два файла один ogg, другой LIP
frame = 0.040
0.000, 0
1.080, 1
1.120, 2
1.160, 1
1.200, 2
1.240, 3
1.280, 2
1.320, 3
1.360, 1
1.400, 3
1.440, 4
1.480, 3
1.520, 1
1.560, 2
1.640, 3
1.760, 1
1.800, 2
1.840, 3
1.880, 5
1.920, 7
1.960, 2
2.080, 1
2.160, 2
2.200, 1
2.320, 2
2.360, 1
2.400, 0
2.440, 1
2.520, 0
2.800, 1
2.840, 2
2.880, 1
2.920, 2
2.960, 3
3.040, 4
3.080, 3
3.120, 4
3.160, 2
3.200, 3
3.240, 2
3.280, 3
3.320, 4
3.360, 3
3.440, 1
3.480, 0
3.520, 1
3.560, 3
3.600, 2
3.680, 1
3.760, 0
3.800, 1
3.840, 2
3.880, 3
3.920, 2
3.960, 1
4.080, 0
4.600, 1
4.640, 2
4.680, 4
4.720, 2
4.760, 4
4.800, 3
4.880, 1
4.920, 2
5.000, 1
5.040, 3
5.080, 2
5.160, 3
5.200, 6
5.240, 3
5.320, 1
5.360, 0
5.400, 1
5.440, 3
5.480, 4
5.520, 2
5.560, 1
5.600, 0
5.640, 1
5.680, 4
5.720, 2
5.760, 3
5.800, 2
5.840, 3
5.880, 2
5.920, 3
6.000, 1
6.120, 0
6.480, 1
6.520, 4
6.560, 2
6.600, 3
6.640, 2
6.720, 4
6.760, 2
6.880, 7
6.920, 4
6.960, 2
7.000, 1
7.120, 0
7.200, 1
7.280, 2
7.320, 0
7.360, 2
7.400, 3
7.440, 1
7.520, 2
7.640, 1
7.720, 2
7.800, 1
7.840, 0
7.880, 1
7.920, 4
7.960, 2
8.240, 3
8.280, 2
8.360, 3
8.400, 4
8.440, 1
8.720, 4
8.760, 2
8.800, 3
8.880, 1
8.920, 2
8.960, 1
9.040, 0
9.080, 1
9.120, 2
9.200, 1
9.240, 3
9.280, 1
9.520, 2
9.640, 1
9.800, 0
9.920, 2
10.000, 1
10.040, 2
10.080, 4
10.120, 1
10.280, 2
10.400, 1
10.520, 2
10.560, 1
10.920, 2
10.960, 3
11.000, 1
11.080, 2
11.120, 0
11.560, 1
11.600, 2
11.640, 1
11.720, 2
11.760, 1
11.840, 2
11.880, 1
11.920, 2
12.000, 3
12.040, 1
12.120, 2
12.160, 0
12.200, 1
12.240, 2
12.400, 0
12.840, 1
12.880, 2
12.920, 1
12.960, 2
13.000, 1
13.080, 3
13.120, 4
13.160, 2
13.200, 3
13.240, 5
13.280, 4
13.320, 1
13.400, 3
13.440, 2
13.480, 3
13.520, 2
13.560, 1
13.720, 0
13.760, 1
13.840, 0
15.600, 1
15.640, 0
16.160, -1
 

  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 05 April 2016 - 23:42

имя бота Васька1

а в инициализации у бота пишу Петька1

Ничего странным не находите?
  • 0

#3 OFFLINE   phantom_russia

phantom_russia

    Рядовой

  • Пользователи
  • 6 сообщений

Отправлено 06 April 2016 - 13:44

 

имя бота Васька1

а в инициализации у бота пишу Петька1

Ничего странным не находите?

 

Спасибо за внимательность. но причина не в этом. Имя ботам всегда пишу на англ.из пары букв (SA1) или что-то подобное


  • 0

#4 OFFLINE   phantom_russia

phantom_russia

    Рядовой

  • Пользователи
  • 6 сообщений

Отправлено 06 April 2016 - 13:50

Прошу помощи. или образец миссии. 


  • 0

#5 OFFLINE   DarkViper98

DarkViper98

    Ефрейтор

  • Пользователи
  • 48 сообщений

Отправлено 06 April 2016 - 23:28   Лучший Ответ

Разговоры делаются по-другому, специально для этого - новая возможность от BIS в Arma 3.

 

В папке с миссией создаешь файл texts.bikb

Туда пишешь вот такими блоками: 

class Sentences
{
	class SomeName // Имя любое 
	{
		text = "SomeText"; // Текст 
		speech[] = {"Folder\Sound.ogg"}; // Папка со звуками и указание на звук
		actor = "InitName"; // Называешь в инициализации бойца, пишешь сюда такое же имя. Данная строчка указывает на то кто будет произносить речь.
		variant = ""; 
		variantText = "";
	        class Arguments {};
        };
};
class Arguments{};
class Special{};
startWithVocal[] = {hour};
startWithConsonant[] = {europe, university};

Делаешь блоков сколько нужно в зависимости от того сколько реплик. В конец файла обязательно пишешь то, что указано во втором коде ниже первого. Без этого ничего не будет работать.

 

В папку с миссией добавляешь файл init.sqf

Туда пишешь следующее. 

InitName KbAddTopic ["conversations","texts.bikb","",""]; // conversations - просто название оно может быть любое. texts.bikb - название файла, в котором наши диалоги написаны. Соответственно должно быть такое название.
InitName KbAddTopic ["conversations","texts.bikb","",""]; // InitName - имя твоих действующих лиц, которые будут говорить. Каждому говорящему юниту добавляешь такую команду.

Как добавлять .ogg Надеюсь знаешь. Если у тебя audacity или другая программа, то не забывай переводить дорожку из СТЕРЕО в МОНО. Файлы .ogg кидаешь в папку со звуками. Folder\Sound.ogg Должная соответствовать пути в файле texts.bikb

 

Теперь добавляем движения губами. 

Скачай из Steam инструментов Arma 3 Tools. Заходишь. Видишь Audio, рядом значок папки, заходишь в него. Видишь файл WAVToLIP.exe и на него из папки со звуками перемещаешь свои записи. Появляется в папке со звуком файл .lip. Он должен иметь название такое же как и .ogg

 

Теперь диалог в игре. Ставишь юнитов, все делаешь. Теперь куда-нибудь пишешь команду, чтобы активировать фразу. 

 

InitName KbTell [InitName2,"conversations","Name"];

InitName - имя юнита в инициализации, который будет говорить речь. InitName2 - услышит эту речь, то есть говорят - ему. Если он будет на большом расстоянии от того, кто сказал, то сообщение будет сказано по рации.

 

conversations - имя, которое использовали в init.sqf - то есть должно быть одинаково.

 

Name по-моему название аудиофайла, без .ogg пишется.

 

sleep 3; /// Используешь данную команду для интервала между репликами. 
 
Вроде все расписал, должно работать. Если что-то не получилось, пиши мне короче. 

Сообщение отредактировал DarkViper98: 07 April 2016 - 00:21

  • 1

#6 OFFLINE   phantom_russia

phantom_russia

    Рядовой

  • Пользователи
  • 6 сообщений

Отправлено 27 January 2017 - 22:19

 

Разговоры делаются по-другому, специально для этого - новая возможность от BIS в Arma 3.

 

В папке с миссией создаешь файл texts.bikb

Туда пишешь вот такими блоками: 

class Sentences
{
	class SomeName // Имя любое 
	{
		text = "SomeText"; // Текст 
		speech[] = {"Folder\Sound.ogg"}; // Папка со звуками и указание на звук
		actor = "InitName"; // Называешь в инициализации бойца, пишешь сюда такое же имя. Данная строчка указывает на то кто будет произносить речь.
		variant = ""; 
		variantText = "";
	        class Arguments {};
        };
};
class Arguments{};
class Special{};
startWithVocal[] = {hour};
startWithConsonant[] = {europe, university};

Делаешь блоков сколько нужно в зависимости от того сколько реплик. В конец файла обязательно пишешь то, что указано во втором коде ниже первого. Без этого ничего не будет работать.

 

В папку с миссией добавляешь файл init.sqf

Туда пишешь следующее. 

InitName KbAddTopic ["conversations","texts.bikb","",""]; // conversations - просто название оно может быть любое. texts.bikb - название файла, в котором наши диалоги написаны. Соответственно должно быть такое название.
InitName KbAddTopic ["conversations","texts.bikb","",""]; // InitName - имя твоих действующих лиц, которые будут говорить. Каждому говорящему юниту добавляешь такую команду.

Как добавлять .ogg Надеюсь знаешь. Если у тебя audacity или другая программа, то не забывай переводить дорожку из СТЕРЕО в МОНО. Файлы .ogg кидаешь в папку со звуками. Folder\Sound.ogg Должная соответствовать пути в файле texts.bikb

 

Теперь добавляем движения губами. 

Скачай из Steam инструментов Arma 3 Tools. Заходишь. Видишь Audio, рядом значок папки, заходишь в него. Видишь файл WAVToLIP.exe и на него из папки со звуками перемещаешь свои записи. Появляется в папке со звуком файл .lip. Он должен иметь название такое же как и .ogg

 

Теперь диалог в игре. Ставишь юнитов, все делаешь. Теперь куда-нибудь пишешь команду, чтобы активировать фразу. 

 

InitName KbTell [InitName2,"conversations","Name"];

InitName - имя юнита в инициализации, который будет говорить речь. InitName2 - услышит эту речь, то есть говорят - ему. Если он будет на большом расстоянии от того, кто сказал, то сообщение будет сказано по рации.

 

conversations - имя, которое использовали в init.sqf - то есть должно быть одинаково.

 

Name по-моему название аудиофайла, без .ogg пишется.

 

sleep 3; /// Используешь данную команду для интервала между репликами. 
 
Вроде все расписал, должно работать. Если что-то не получилось, пиши мне короче. 

 

Забыл сказать спасибо. Всё работает .Ошибся, сейчас и не вспомнить.Texts.bikb назвал не так. Спасибо 


  • 0

#7 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 09 October 2017 - 16:38

Что-то ничего не пойму. Всё сделал так как написано, звук не воспроизводится и анимации нет. 


  • 0

#8 OFFLINE   Подонак

Подонак

    Ефрейтор

  • Пользователи
  • 48 сообщений
  • Откуда:Якутия

Отправлено 29 December 2017 - 04:15

 

Разговоры делаются по-другому, специально для этого - новая возможность от BIS в Arma 3.

 

В папке с миссией создаешь файл texts.bikb

Туда пишешь вот такими блоками: 

class Sentences
{
	class SomeName // Имя любое 
	{
		text = "SomeText"; // Текст 
		speech[] = {"Folder\Sound.ogg"}; // Папка со звуками и указание на звук
		actor = "InitName"; // Называешь в инициализации бойца, пишешь сюда такое же имя. Данная строчка указывает на то кто будет произносить речь.
		variant = ""; 
		variantText = "";
	        class Arguments {};
        };
};
class Arguments{};
class Special{};
startWithVocal[] = {hour};
startWithConsonant[] = {europe, university};

Делаешь блоков сколько нужно в зависимости от того сколько реплик. В конец файла обязательно пишешь то, что указано во втором коде ниже первого. Без этого ничего не будет работать.

 

В папку с миссией добавляешь файл init.sqf

Туда пишешь следующее. 

InitName KbAddTopic ["conversations","texts.bikb","",""]; // conversations - просто название оно может быть любое. texts.bikb - название файла, в котором наши диалоги написаны. Соответственно должно быть такое название.
InitName KbAddTopic ["conversations","texts.bikb","",""]; // InitName - имя твоих действующих лиц, которые будут говорить. Каждому говорящему юниту добавляешь такую команду.

Как добавлять .ogg Надеюсь знаешь. Если у тебя audacity или другая программа, то не забывай переводить дорожку из СТЕРЕО в МОНО. Файлы .ogg кидаешь в папку со звуками. Folder\Sound.ogg Должная соответствовать пути в файле texts.bikb

 

Теперь добавляем движения губами. 

Скачай из Steam инструментов Arma 3 Tools. Заходишь. Видишь Audio, рядом значок папки, заходишь в него. Видишь файл WAVToLIP.exe и на него из папки со звуками перемещаешь свои записи. Появляется в папке со звуком файл .lip. Он должен иметь название такое же как и .ogg

 

Теперь диалог в игре. Ставишь юнитов, все делаешь. Теперь куда-нибудь пишешь команду, чтобы активировать фразу. 

 

InitName KbTell [InitName2,"conversations","Name"];

InitName - имя юнита в инициализации, который будет говорить речь. InitName2 - услышит эту речь, то есть говорят - ему. Если он будет на большом расстоянии от того, кто сказал, то сообщение будет сказано по рации.

 

conversations - имя, которое использовали в init.sqf - то есть должно быть одинаково.

 

Name по-моему название аудиофайла, без .ogg пишется.

 

sleep 3; /// Используешь данную команду для интервала между репликами. 
 
Вроде все расписал, должно работать. Если что-то не получилось, пиши мне короче. 

 

Ребятушки, подскажите этот способ актуальный? что то не получается заставить бота говорить?


  • 0

#9 OFFLINE   ReXcOr

ReXcOr

    Ст.сержант

  • Пользователи
  • 264 сообщений
  • Откуда:Moscow

Отправлено 30 December 2017 - 01:45

У меня тоже не получается...
Причём некоторые фразы он говорит, но в основном звук глючит, губы не шевелятся и тд
Видимо опять бисы что-то запороли
  • 0

#10 OFFLINE   Scully

Scully

    Рядовой

  • Пользователи
  • 13 сообщений

Отправлено 22 March 2018 - 18:48

Тоже проблема с  KbTell. У меня и фразы работают и губы шевелятся все как надо, но звука нет, хотя через "say" звук есть. Такое чувство, что строчка:

speech[] = {"Folder\Sound.ogg"};

просто-напросто не срабатывает. Тем не менее ошибок никаких нет...


Сообщение отредактировал Scully: 22 March 2018 - 18:52

  • 0




Яндекс.Метрика