Поиск сообщества
Показаны результаты для тегов 'OKW'.
Найдено: 2 результата
-
Руководство по добавлению звуков в анимации (на основе учебника Мaster.) Для дальнейшей работы вам будет необходим редактор пакетов Sims 3: S3Pe (причем именно этой версии) 1) Установите S3Pe. Затем загрузите в него пакет, в котором содержится ваша анимация. (Предполагается, что у вас уже есть пакет с клипом анимации) Это должно выглядеть как на примере ниже, но ПОМНИТЕ, что вам нужно выбрать нужный клип, прежде чем вы кликните на Grid. Это должно вызвать следующий диалог, который потребует от вас сделать следующее: Теперь начинается самое интересное! Вас ждет следующий диалог: Тут необходимо дать несколько пояснений: А) В Симс3 используются звуки и эффекты, в виде двух типов звуковых клипов: форматов TS3 (* .snr) и TS3 (* .sns). Для озвучивания анимации, можно использовать звуковыми клипы, из стандартных библиотек звуков и эффектов Симс 3, которые находятся в библиотеках данных Симс3 FullBuild1.package и аналогичных библиотеках дополнений к игре. Эти звуковые клипы имеют TAG: "_AUD", и располагаются: \The Sims 3\GameData\Shared\Packages\ FullBuild1.package). Как уже было сказано выше, названия подходящих клипов можно найти в анимациях других аниматоров, или самостоятельно извлекая и прослушивая звуковые клипы. Для этого, надо выдернуть из пакета со звуками файлы (имейте в виду что с одинаковыми названиями могут идти звуки(речь).snr и эффекты(шумы).sns , так что имеет смысл выдергивать оба файла), затем грузите и инсталируете этот декодер: ealayer3-0.7.0-win32, после чего копируете извлеченные файлы в папку с декодером. Откройте эту папку и кликнув левой кнопкой мыши на файл .snr и перетащите его поверх файла ealayer3.exe. Появится черное командное окно, которое кратковременно начнет мигать, после чего будет сгенерирован файл MP3. Повторите то же самое с файлом .sns. Слушайте полученные одноименные файлы МР3. Б) Вы можете создать свой собственный звуковой клип для игры или анимации. О том как это сделать вы может узнать из этой темы. Далее мы сделаем это: После того, как вы правильно установили таймкод(ы). Все, что вам нужно сделать, это нажать ОК и сохранить ваши изменения. И наконец. Остается только сохранить законченную работу в пакет Sims3. Бинго! Идем проверять то ,что получилось в игре. Послесловие: Если что-то еще осталось вам непонятно, пишите в теме или в личку. Соответственно буду отвечать там же. Что-то важное или значимое - переносить в шапку темы.
-
В этом учебнике будет рассказано, как создать и правильно использовать различные (созданные пользователями) звуки и эффекты в ТС3. Как для использования в анимациях (см. тему озвучивание), так и для использование пользовательских звуков в модах с объектами Sims3. Тема создана на основе статей Flyby и Wojtek, за что им огромная благодарность. Для дальнейшей работы, вам потребуется загрузить и установить (при необходимости) следующие программы: 1. S3Pe - редактор пакетов 2. Audacity - звуковой редактор (Возможно, вам придется скачать плагин, чтобы иметь возможность экспортировать файлы MP3) 3. EALayer3 - Звуковой декодер (скачать версию ealayer3-0.6.2, хотя вероятно подойдет и более свежая версия ealayer3-0.7.0-win32.zip) 4. cmd.exe - Командная строка Windows (найдите ее с помощью инструмента поиска Windows) 5. HxD - Редактор шестнадцатеричного кода. Далее: 1. Ваш оригинальный звуковой файл должен быть в формате WAW, 16 бит, 44100 Гц или формата MP3 и длиться менее 1 минуты. Файлы должен быть стерео (моно пока не проверен). 2. Подготовьте аудиофайл. (Если необходимо, то отредактируйте его с помощью Audacity). 2.1. Откройте Audacity и импортируйте туда ваш файл. (необязательно) - если вы знакомы с программой, вы можете настроить файл по своему вкусу перед экспортом окончательной версии. 2.2. Убедитесь, что для для вашего файла установлено значение сэмплирования 44100 (Гц), а формат сэмплирования - 32-бит (Стерео). Вы можете отредактировать его, нажав на стрелку, которая обведена на картинке. 2.3. После того как ваш файл будет готов, экспортируйте его в MP3. (Убедитесь, что вы установили кодек LAME для Audacity.) следующим образом: File/Export sound... или Ctrl+Shift+E. 2.3.1. Введите имя файла, нажмите «Save as a type», выберите «MP3 files» из списка и нажмите «Options». 2.3.2. Установите значение Bit Rate Mode как: Variable, Quality как: 3,155-195 kps, Variable Speed как: Standard, Channel Mode как: Joint Stereo. (См. рисунок ниже) 2.4. Теперь ваш файл готов к экспорту. Нажмите «ОК», проигнорируйте поле «Метаданные» и сохраните файл там, где вам удобно. Если хотите, то вы можете заменить «старый» MP3-файл. На этом работа с Audacity закончена. 3. Работа с EALayer3 (перекодирование готового файла МР3 в формат игры ТС3). 3.1. Скопируйте в папку Ealayer файл cmd.exe (файл запуска консоли командной строки) и в открывшемся окне консоли, наберите команду следующего вида: ealayer3 -E your_file.mp3 -o your_file.snr --single-block , где "your_file" это имя вашего mp3-файла. В итоге вы получите на выходе файл *.snr. Аналогично, если вам нужно получить файл *.sns, то наберите команду: ealayer3 -E your_file.mp3 -o your_file.sns , где "your_file" это имя вашего mp3-файла и вы получите на выходе файл *.sns. 3.2. Теперь вам нужно изменить имя вашего файла. Если вам нужен в игре файл *.snr. То вам необходимо переименовать его следующим образом: S3_01A527DB_001407EC_131F036BBEF3B4D2_new_file%%+_AUD.snr , где 131F036BBEF3B4D2 является хэшом названия файла new_file. Следует помнить, что название файла (new_file) не должно содержать пробелов и букв русского языка. Индекс 001407EC никогда не меняется, так как это признак звуковых файлов, а индекс 01A527DB используется для файлов звука *.snr и соответственно для файлов эффектов *.sns используется индекс 01EEF63A. Эти действия необходимы, что бы в дальнейшем, игра "понимала", что это за файлы и как к с ними быть. Для дальнейшей работы, вам необходимо сделать ОБА типа файлов: *.snr и *.sns: S3_01A527DB_001407EC_131F036BBEF3B4D2_new_file%%+_AUD.snr и S3_01EEF63A_001407EC_131F036BBEF3B4D2_new_file%%+_AUD.sns Не забудьте сделать резервную копию вашего файла МР3, на случай, если что-то пойдет не так. 4. Работа с HxD. 4.1. Откройте и настройте HxD. Для этого: Нажмите Additional/Options ... и в окне «View» отметьте/ выберите параметры. (Как на рисунке ниже). 4.2. Редактирование *.snr файла. Откройте ваш *.snr файл в HxD и измените Offset на (h). Выберите и скопируйте первые восемь байт (16 цифр, организованных в 4 блока). Отметьте все, кроме первых 16 шестнадцатеричных цифр (восемь байт), а затем удалите все остальные данные: оставив только эти 16 цифр в начале файла (как показано выше)! Для этого, выделите все остальные данные, щелкнув правой кнопкой мыши + Выбрав все или Ctrl + A и нажав Удалить. Поскольку мы усекаем файл .snr, то таким образом, меняем тип файла, с содержащего звуковые данные, на чистый файл заголовка без каких-либо звуковых данных. Для этого, мы должны изменить байт по адресу 04 на «40», чтобы сообщить движку игры, что это заголовок, а не файл, содержащий звуковые данные. Окончательная версия вашего .snr должна выглядеть так: Адрес: 00 02 04 06 Значение: 0504 AC44 40XX XXXX Сохраните результат в новом файле и помните, что ваш новый файл, имеет тоже имя и расширение, что и ваш исходный файл *.snr. В итоге, вы создали файл с чистым заголовком, который в дальнейшем, будет связывать файл .snr с файлом .sns. Примечание: Насколько известно автору руководства (Flyby), существует два основных способа организации работы со звуковыми (исходнми) файлами в игре. Первый способ имеет работает только с двумя файлами: .snr-файлом (содержащем звуковые данные mp3-Layer3) и .audtun-файл (содержащем информацию о звуковом файле, его параметрах и правилах использования). Другой способ состоит в работе с тремя файлами: первый .snr-файл (содержит только заголовок), второй .sns-файл (звуковые-данные) и третий .audtun-файл (информацию). Поскольку автору руководства не удалось использовать 2-х файловый способ (как он ни пытался), то мы должны выполнить работу «трехфайловым способом». Автор подробно исследовал звуковые звуковые файлы в пакете FullBuild1.package и обнаружил, что среди тех файлов, которые используют один файл .snr (и никаких других дополнительных .sns), многие начинаются непосредственно с 40. Поэтому, он сделал вывод, что значение 40 (шестнадцатеричное), которое мы записали в адрес 04, служит указанием того, что звуковой файл использует формат EALayer mp3. И следовательно, он должен присутствовать в шапке. Что касается байтов по адресу 06-07 (Не спрашивайте меня почему), то лучше их не трогать! Скорее всего они содержат данные о длине и количестве сэмплов. 4.3. Редактирование *.sns файла. Теперь вам нужно отредактировать *.sns файл, который вы сгенерировали из оригинального МР3. Откройте этот файл в редакторе HxD. Вы увидите много цифр! Прежде всего, нужно поискать шестнадцатеричные значения 0480, которые расположены по адресу: 0x06 (цифра 12-15). Примерно так: Адрес: 00 02 04 06 Значение: 0000 0153 0000 0480 Измените первые четыре шестнадцатеричные цифры (или 2 байта) на: «002F», теперь первые восемь байт вашего файла должны выглядеть так: Адрес: 00 02 04 06 Значение: 0000 0153 0000 002F Посмотрите на адреса 02-03. В нашем примере это 0153. Нажмите Ctrl + G, введите 0153 и нажмите OK. Редактор перенаправляет вас на нужный адрес. Обычно это два нулевых байта (0000), начиная с этого адреса. Эти два байта, а также все последующие байты будут смещены на новую позицию, когда вы вставите специальный блок кода. Крайне важно будет найти их новую позицию после того, как вы завершите вставку кода, потому что индекс в байтах 02-03 должен быть изменен на этот новый адрес. Загрузите файл MTS_Flyby_1211063_Tutorial_templates.rar и сохраните файл на рабочем столе. Затем, откройте архив и распакуйте файл CodeBlock (C4) .sns на рабочий стол. После чего, откройте этот файл с помощью HxD. В HxD скопируйте из этого файла, весь код (Ctrl + A + Ctrl + C) и вставьте его (Ctrl + V) туда, куда вы были перенаправлены в Вашем файле. Положение курсора после вставки кода будет указывать на новый адрес. Вы можете видеть это как число Offset в левом нижнем углу. В данном случае это 217. Теперь замените адреса 02-03 на новый адрес. Адрес должен состоять из 4 цифр, поэтому мы добавляем 0 перед адресом, так что это 0217 (Было 0153, а стало 0217). После чего сохраните ВАШ файл (Сохранить изменения Ctrl + S). 5. Если вы соберете оба полученных файла в пакет (с по мощью S3Pe). То если верить автору Wojtek, этого должно быть достаточно для использования их в озвучке анимации OKW (См. тему). 6. Если же вы собираетесь создать мод или объект с индивидуальной озвучкой, то вам нужно подготовить еще один файл, необходимый для управления информацией двух других, чтобы иметь возможность «направить» поток mp3-звука в нужный слот. В игре есть несколько слотов, которые могут подхватывать или маршрутизировать звуковые потоки и назначать им дополнительные параметры. Особенно такие как усиление, скорость, трехмерное (пространственное) звучание и.т.д.. Вы можете думать об этих слотах или интерфейсах как о подканалах звукового микшера. Для этого, нам понадобится файл типа .audtun. Идентификационный код или индекс этого типа файла: S3_8070223D_001407EC. Имя этого файла может отличаться от имен файлов, которыми он должен управлять. Итак, давайте дадим ему немного другое имя, чтобы убедиться, что связь все еще очевидна, например, «new_fileA». Имя файла .audtun должно иметь следующий формат: S3_8070223D_001407EC_hashcode_new_fileA %% + AUDT.audtun, чтобы потом его тоже можно было бы добавить в пакет (с помощью S3Pе). Хеш-код названия new_fileA: 0x7167A215781C40B7. Поэтому правильное имя этого файла должно быть: S3_8070223D_001407EC_7167A215781C40B7_new_fileA %% + AUDT.audtun Вы можете использовать шаблон .audtun, предоставленный в этой теме выше, для создания вашего файла audtune. Он направит ваш звук в UI-слот (или микшер-подгруппу), который выводит звук напрямую, без учета окружающей среды или положения/расстояния до объекта. (UI-слот) - это самый простой интерфейс. Есть и другие, такие как sting-слот, музыкальный слот, ambiance-слот и т. д., с которыми просто сложнее работать. Итак, для начала, давайте возьмем UI-слот. Переименовав копию этого шаблона, откройте его в Hex-редакторе. Когда вы посмотрите на него, то вы можете легко идентифицировать два блока по четыре байта по значению FF, выглядя так: FFFF FFFF. Перед первым из этих блоков вы видите 8 байтов (в формате Little Endian), которые определяют, к какому звуковому слоту направляется управляемый mp3-поток: это просто хеш-код этого конкретного слота. Но нам нужно сконцентрироваться на 8 байтах перед вторым появлением в четыре раза больше FF (FFFF FFFF). В файле шаблона я переписал этот блок из 8 байтов с восемью байтами «22», поэтому его легко найти. Здесь мы должны заполнить (общий) хеш-код наших .snr и .sns-файлов. Этот код: 131F036BBEF3B4D2 («новый_файл»). Поскольку bcgjkmpetncz формат Little-Endian (прямой порядок байтов), то мы должны поместить этот код побайтно в «неправильном направлении», прежде чем вставлять его в файл .audtun. Результат (в нашем примере) будет D2B4F3BE6B031F13. После того, как вы «перевернулис» байты, то все, что вам нужно сделать, это вставить их перед вторым блоком FFFF FFFF вместо 8 байтов-заполнителей (2222 22222 2222 22222). Вот и все. Вы закончили работу, теперь вы можете импортировать файлы в пакет с помощью S3Pе (просто перетащив их!). 7. Последний раздел посвящен тому, как использовать (или «вызывать») свой собственный звук из своего программного кода. В SimIFace.Audio есть простой метод обращения к звуковому файлу, который вы можете использовать для запуска звука в любое время из любого места в вашем коде. (все примеры в C#): Audio.StartSound("sound_name"); // (Это статический метод, и поэтому) Это кажется довольно простым способом. Однако, используя этот метод, вы можете столкнуться с проблемами. (По крайней мере, это случилось со мной.) Я заметил, что иногда, после неопределенного количества обращений, звук становится недоступным , а в некоторых случаях, моя игра даже падает. Вот почему я считаю такой способ обращаться к звуковому файлу - небезопасным методом. В моем моде MODoor-Controller_v_3.2 (который доступен для скачивания на MTS) я впервые использовал собственные звуки, созданные способом, описанным выше. Звуки применяются к пользовательскому интерфейсу двери или (если быть более точным), к Object-Picker-Boxes, которые позволяют пользователям выбирать симов в качестве владельцев ключей и так далее. Если вы щелкнете по имени в списке симов, то иконка в конце этой строки изменится, и в то же время появится звук. Если вам интересно, скачайте его и убедитесь сами (имя файла - «MODoor-Controller_1.2.rar»). Это файл, который содержит код. Вам нужен по крайней мере один из клонированных файлов дверей, чтобы запустить мод, например, '01_MODoorV3_Luxery ...') Я использовал другой метод вызова пользовательских звуков в моем скрипте, который немного сложнее, чем (небезопасный) метод, описанный выше. Во всяком случае - он оказался безопасным: Переменная типа «Sims3.SimIFace.Sound» назначается для каждого звука, используемого в пользовательском классе (контролирующем Object.Picker). Вы получаете несколько новых (Sound-) объектов в качестве новых экземпляров класса 'Sound': Code: using Sims3.SimIFace; ... public class PickerBox : ModalDialog { ... private Sound mSting_1 = new Sound("sound_name_a"); private Sound mSting_2 = new Sound("sound_name_b"); private Sound mSting_3 = new Sound("sound_name_c"); ... private Sound mlastSound; ... ... } Поскольку вы имеете дело с объектами типа Sound, вы можете получить доступ (почти) к любому методу или параметру в этом классе или родительских классах. И таким образом, теоретически иметь возможность управлять такими вещами, как громкость, панорамирование, fx, в качестве пост-обработки. Файл, который вы вызываете (к которому обращаетесь), всегда является файлом .audtun. В инструкции я упомянул, что файл .audtun должен иметь имя, немного отличающиеся от двух других (.snr и .sns). В моем случае я решил направить audtun к UI-подканалу, что имеет смысл, потому что мои звуки предназначены для воспроизведения в UI-контексте (Object-Picker-Box). Конечно же, вы можете перенаправить звук и на другие интерфейсы... Инструкции для вызова звуков могут быть выполнены следующим образом: Code: if ((this.mlastSound != null) && this.mlastSound.IsPlaying()) // calling method 'isPlaying' // in Class 'SimIFace.Sound' // make sure the sound is stopped before the next one starts to avoid clash // or buffer overflow(?)) { this.mlastSound.Stop(); // calling method Stop() } this.mlastSound = playSting; // remember the name of the current sound. if (playSting != null) { playSting.Start(); // calling Sound.Start() } Эти строки должны быть размещены в методе, который реагирует на событие. В MODoor их можно найти в: 'private void SelectionChanged (List <ObjectPicker.RowInfo> selectedRows)'; Это почти все ... В конце концов я немного "прибрался". Следующий код находится в: 'protected override bool OnEnd (uint endID)', который вызывается, когда пользователь нажимает кнопку "ОК" в окне выбора (и окно закрывается): Code: if (this.mlastSound != null) { this.mlastSound.Dispose(); } this.mSting_1.Dispose(); this.mSting_2.Dispose(); this.mSting_3.Dispose(); return true; Если честно, я не уверен, действительно ли это необходимо, но лучше подстраховаться. Тема создана по материалам статей: [Скрытое содержимое] и [Скрытое содержимое]