MOLIER ART STUDIO
Пятница, 28.04.2017, 01:43
Приветствую Вас Гость | RSS
 
Главная Шаги - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Wintermute Engine » Работа со звуком / Sounds » Шаги
Шаги
KrosadДата: Пятница, 07.01.2011, 00:15 | Сообщение # 1
Группа: Проверенные
Сообщений: 55
Награды: 1
Репутация: 8
Статус: Offline
Награды
У меня вопрос по поводу озвучивания шагов персонажа. Как сделать, чтобы звук проигрывался только тогда, когда персонаж двигается?

www.anatestudio.com
 
AmneziAДата: Пятница, 07.01.2011, 11:26 | Сообщение # 2
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
у меня только такой вариант:
подогнать озвучку в "максе". а потом уже в движке оно само станет на свои места.


Мой блог: http://pro100-blog.ru/

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
KrosadДата: Среда, 19.10.2011, 21:46 | Сообщение # 3
Группа: Проверенные
Сообщений: 55
Награды: 1
Репутация: 8
Статус: Offline
Награды
Решил этот вопрос следующим образом:
открыл спрайт анимации ходьбы актера в редакторе спрайтов и прикрепил к кадрам, где нога ступает на пол, звук шага. Единственный минус в том, что когда меняется поверхность пола, то для смены звука шагов надо создавать копию актера, только с другим звуком в анимации.


www.anatestudio.com
 
AmneziAДата: Среда, 19.10.2011, 23:01 | Сообщение # 4
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
вообщем то к спрайту можно скрипт пришить. остались "мелочи" - написать правильный код))

Мой блог: http://pro100-blog.ru/

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
Jeka81Дата: Вторник, 31.07.2012, 13:45 | Сообщение # 5
Группа: Проверенные
Сообщений: 28
Награды: 1
Репутация: 7
Статус: Offline
Награды
Quote (Krosad)
Единственный минус в том, что когда меняется поверхность пола, то для смены звука шагов надо создавать копию актера, только с другим звуком в анимации.

Вовсе нет!!! В миллион раз проще!
Выделяешь пол в редакторе сцен. Ниже, где галочки Layout, Decoration и Blocked есть две кнопочки - Scripts и Custom. Жмем Custom.
Появится окошко свойств для объекта floor. Жмем Add property (Добавить свойство).
В поле Name вписываем переменную, которая будет характеризовать свойства всех разновидностей поверхности полов, например FloorSurface (поверхность пола). Теперь во всех полах, какие бы они не были - металл, земля, вода и т.д. - в поле Name вписываем эту переменную.
В поле Value (значение) пишем материал пола, если, например, металлический пол, то metal, если деревянный, то wood (или derevo если с английским не очень).
Не забываем сохранять изменения в сцене!
Далее - открываем анимацию ходьбы нашего персонажа (например actors/molly/dd/walk.sprite). И в тех кадрах, где нога соприкасается с землей, в строке Event (событие) пишем footstep (проще говоря "шаг"). Делаем это для правой и левой ноги. Ну и, конечно, повторяем это для анимаций каждого напрвления (dd, ll, rr, uu, ur, ul, dr, dl). Таким образом мы привязали к каждому шагу в любом направлении событие footstep.
Осталось самое малое - в скрипт персонажа добавить такой код:

////////////////////////////////////////////////////////////////////////
on "footstep"
{

// выясняем местоположения героя на сцене
var Reg = Scene.GetRegionAt(this.X, this.Y);
if (Reg!=null)
{

if (Reg.FloorSurface == "metal")
{
switch(Random(1,5))
{
case 1: this.PlaySound("sounds\footsteps\step_metal1.ogg",false); break;
case 2: this.PlaySound("sounds\footsteps\step_metal2.ogg",false); break;
case 3: this.PlaySound("sounds\footsteps\step_metal3.ogg",false); break;
case 4: this.PlaySound("sounds\footsteps\step_metal4.ogg",false); break;
case 5: this.PlaySound("sounds\footsteps\step_metal5.ogg",false); break;
}
}
if (Reg.FloorSurface == "soft")
{
switch(Random(1,3))
{
case 1: this.PlaySound("sounds\footsteps\step_soft_01.ogg",false); break;
case 2: this.PlaySound("sounds\footsteps\step_soft_02.ogg",false); break;
case 3: this.PlaySound("sounds\footsteps\step_soft_03.ogg",false); break;
}
}
}
}
////////////////////////////////////////////////////////////////////////////////

При ходьбе по металлу рандомно проигрываются звуки шага по металлу от 1 до 5. По мягкой поверхности мягкий шаг от от 1 до 3. Это сделано чтобы звук шага был не всегда одинаков. Сам звук должен быть очень коротким - долю секунды, или проще - один звук - один шаг.
Ну вот, вроде, и всё. Удачи!


Jeka81
 
Форум » Wintermute Engine » Работа со звуком / Sounds » Шаги
Страница 1 из 11
Поиск:

Copyright MyCorp © 2017
!!! На сайте могут находиться статьи, которые, честно и не помню, откуда они у меня появились, одним словом нет информации о первоисточнике и авторе, если на них наткнётся автор, просьба к нему написать мне, чтобы я смог поставить ссылку на источник. !!!