В общем я так понимаю, что модель уже есть и скелет для неё тоже уже сделан. При этом автоматически шипы к скелету не пристыковались и остаются там, где были, при попытке менять позу модели. Значит envelope отключен. Кстати, шипы нужно добавлять прямо в объект модели, чтобы они могли пристыковаться к скелету - нужно выбрать модель, нажать tab для редактирования и дорисовать нужное. После этого нужно найти и выбрать сам скелет, выбрать pose mode вместо object mode и попробовать скелет подвигать. Если вновь добавленное на это не реагирует вообще никак, значит envelope точно отключено. В этом случае нужно посмотреть название кости, к которой хотелось бы закрепить шип - для этого выбрать скелет, перейти в режим редактирования и выбрать подходящую кость. Её имя есть внизу в свойствах. После этого переходим обратно к модели, и выбираем пририсованный шип целиком. В свойствах есть небольшой отдельчик под названием vertex groups - там нужно выбрать группу вертексов с названием той подходящей кости и нажать кнопочку add, расположенную рядом. В результате выбранные вертексы добавятся в эту группу. Чтобы проверить, получилось ли всё это, нужно снять выделение с вертексов и нажать кнопку select в вертексгруппах - это выберет все вертексы в группе, должен выбраться и свежедобавленный шип.
А самый лучший способ, конечно, разобрать какую-нибудь карту и понять, как сделано там. Так можно постичь множество фишек, которых нет в мануалах, да и, глядя на качественные уровни, выработаешь "чувство стиля".
1. На здумвики очень размыто расписан дефинишн sndinfo $ambient. Обьясните, пожалуйста, синтаксис и каждое значение этого дефинишна.
2. Как привязать, например, к такой строке (SFX/FireLoop1 FIRELOP1) значение point, равное по свойствам с point в $ambient, не используя при этом $ambient?
Простоым языком, мне нужно чтобы звук от огня не был слышен уже примерно метра через 3 от, собственно, источника, а то это сущий ужас, когда ты идешь по улице и слышишь, как он прорывается сквозь стену дома с закрытыми окнами, особо не теряя при этом громкости.
То есть это выглядит вот так, параметр отвечающий за затухание "attenuation"
A_PlaySound (string soundname[, int slot[, float volume[, bool looping[, float attenuation]]]])
Вот еще что написано: "you need to be within around 64 units of the sound source to hear it clearly", получается надо стоять почти вплотную около источника звука, чтобы его услышать. На практике с этим параметром можно делать Поверапы и прочие Итемы издающие звук, когда их носит игрок, если они в инвентаре этот звук продолжает сопровождать игрока пока он любым способом не избавится от этого звучащего итема. Причем с этим параметром в значении "Static" звук будет проджолжать идтии с места где был взят Итем. Все в этом вопросе ясно и понятно и это не то...
Я загасить звук огня на разумном расстоянии не меняя громкость не смог.
Спасибки за совет, я обязательно протестирую этот момент. Я знаю как это сделать в $ambient при помощи point, он отвечает именно за затухание, не трогая при этом громкость (как я понял), но мне не хочется убирать в декорейте звуки, полностью переделывать в эмбиент и привязывать к мапспотам (как я это делал в dreamish). Собственно в этом и вопрос - можно ли настроить attenuation без привязки к $ambient?
Полистал здумвики, а именно A_PlaySound и A_PlaySoundEx. Как я понял, именно attenuation отвечает за угасание, и полностью копирует свойства point. Касательно
you need to be within around 64 units of the sound source to hear it clearly
, то этот комментарий применим при att = 20, думаю можно поиграться между 3-мя и до 20. При жестоком угасании при 3-4 и при незначительном около значения 20 - думаю, работает наподобие обратной бинарной часовой системы, где значение 16 будет равно =(((x/2)/2)/2)/2.
В общем, в вопросе разобрался, спасибо еще раз за напутствие. Дальше только тестить вручную вплоть до достижения идеального результата.