* * * Форумы на Наша-Life THREAD * * * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- THREAD : Анимация текстур при помощи прокси Started at 14-12-2008 10:35 by SoJa Visit at https://bbs.hl-inside.ru/showthread.php?threadid=48302 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 1] Author : Painkilla Date : 14-12-2008 10:35 Я замоделил модельку мистера Хэнки (да-да, первая модель :D ) и вот набежало пару вопросов: 1)как делать анимацию для контры (для хл2 делал). Там непонятно два референса и как их соеденить в один? 2) Как зафиксить такую ситуацию, что оружие и руки развёрнуты на 180 градусов? После компила... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 2] Author : Painkilla Date : 14-12-2008 13:19 Сорри за даблпост, нужно прикрепить вторую картинку. В общем, со вторым я разобрался, а вот первый вопрос остаётся в силе. Кстати, я даже не ожидал что так симпотично выйдет :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 3] Author : Тим Date : 14-12-2008 13:31 mr, Говняшка рождественская какашка ! :D П.с это нож или граната ?? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 4] Author : Painkilla Date : 14-12-2008 13:49 Граната =) Сразу вдогонку, хотелось бы оживить скин и сделать ему мигающие глазки. Анимированные текстуры я делал, но мне хотелось бы сделать так: Первый кадр "Открытые глаза" - 2 секунды Второй и третий "закрытие-приоткрытие" - секунда/пол. А в текстурках вроде можно задать только количество кадров в секунду или (оч. надеюсь) я не прав? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 5] Author : Stone Date : 14-12-2008 14:47 А что мешает продублировать кадры? Симпотично выглядит в игре) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 6] Author : Painkilla Date : 14-12-2008 15:36 "А что мешает продублировать кадры?" А можно поподробней? :) Или ссылочку какую-нибудь? Просто мой вопрос подразумевает, что я "не в теме" :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 7] Author : FishMan Date : 14-12-2008 15:56 Нененене... Дублирование кадров приведёт к неоправданному увеличению размера текстуры. Щас покопаюсь, скажу... Вот... Дописываеш в vmt следующее: [code]"Proxies" { "AnimatedTexture" { "animatedTextureVar" "$basetexture" //^^ грубо говоря, какой поток текстуры (читай что) //анимировать. Можно, например, анимировать $bumpmap //или $envmapmask. "animatedTextureFrameNumVar" "$frame" //^^ имя переменной, которую нужно инкрементировать (т.е. +1). //Судя по всему зарезервирована в коде и автоматически //перескакивает на нулевой кадр при достижении //максимального значения + одно. (поправьте если я не //прав) //Что ещё сюда можно написать я честно - хз. //Вообще прокси - большая загадка, разгадать которую не //хотят более компетентные в таких делах люди, вроде //Маньяка или Клима... "animatedTextureFrameRate" "2" //^^ скорость кадров в секунду. } }[/code]О том, как вообще скомпилировать текстуры с несколькими кадрами внутри написано [url=http://www.hl2world.com/wiki/index.php/AnimatedTextures]тут[/url]. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 8] Author : Painkilla Date : 14-12-2008 16:16 FishMan, супер! Спс -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 9] Author : Stone Date : 14-12-2008 16:20 Ну не на всю ж модель тукстура-то.. Только на глаза. Если решения не найти другого через прокси например - то берем и дублируем кадры, которые дольше должны отображаться (глаза открыты). ИМХО для текстурки маленького размера не столь принципиально. Только ессно глаза нужно отдельными поликами смоделлить и на них эту текстуру наложить. ХОХОХО! Порылся в VDC, в разделе про прокси материалов.. Короче что хочешь можно сделать, даже код для собственного прокси написать - только это из пушки по воробьям. Для решения твоей задачи можно например по синусоиде менять частоту кадров - максимум - там где мигание, минимум - там где его нету. И период синусоиде поставить равным количеству кадров. А результирующая переменная - скорость анимации. Но епт, как ты это делать и тестить будешь, если плохо в этом разбираешься - я не знаю:) [size=1][i]Stone добавил [date]1229271831[/date]:[/i][/size] Фиш - круто конечно, но по-моему это номер стартового фрэйма. Вряд ли что-то куда-то пропускается, да и как это поможет в нашей задаче с миганием? Нам ведь частоту кадров менять нужно.. А в прокси никаких загадок как раз и нету:) Чего там - обычные преобразования над переменными, которыми ты хочешь. Хочешь - альфу в зависимости от чего-нибудь уменьшай/увеличивай, хочешь - цвет, хочешь - степень блеска. Что угодно в общем.. А если нужно еще сильнее задротством пострадать - можно полезть в код и свои преобрвазования добавить. Было б желание) Вот: [url]http://developer.valvesoftware.com/wiki/Material_Proxy[/url] [url]http://developer.valvesoftware.com/wiki/List_Of_Material_Proxies[/url] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 10] Author : FishMan Date : 14-12-2008 16:58 Не, ну это-то понятно, я общий смысл тоже понимаю... Я говорю о конкретных вещах. Т.е. объяснение каждой прокси. Попробуй ченить своё написать, небольшую програмку, которая будет что-то вычислять и кудато передавать значение... Я лично не смогу, ибо всё это до конца не понимаю. [quote]Фиш - круто конечно, но по-моему это номер стартового фрэйма[/quote] Оо что именно? Вот это: "animatedTextureFrameNumVar" "$frame" ??? Я эту строку не понимаю до конца. На VDC написано: Frame variable to increment переводится как Fram'овая переменная для инкремента. =\ Ну как я понял первое слово можно опустить и можно вписать например: $alpha $color $envmapmaskscale $envmaptint Хотя не думаю, что проканает. Альфа и envmapmaskscale - флоатовские значения, хотя скорее всего увеличится на целое число, но не факт. А все остальное - одномерные массивы с тремя столбцами, какой из них инкрементировать? Все три? И! Важный момент, до какого числа инкрементировать? До бесконечности? Зависнет всё нафиг =) Сколько байт под переменную выделено? Что делать при переполнении? Нету ведь никаких логических функций, вроде если переполнение, то... Поэтому сюда кроме $frame скорее всего ничего нельзя ничего написать. Ибо у фреймов есть конечное максимальное число, а-ля последний кадр. Т.е. получается видим AnimatedTexturе (анимированная текстура), а читаем тупо, как инкремент переменной. Т.е. прокся создана для анимации, но по сути это тупой "перещёлкиватель" на единичку (суть инкремента). Теоретически, то же самое, думаю, можно сделать используя Add... хотя это задротство, даже с точки зрения программирования, к тому же не разумное использование ресурсов. Странно, а декремента нету О_о А что если я вдруг захочу анимацию в обратную сторону проиграть? И что, если мне надо начать анимацию с не с первого фрейма? Мой текст эти проблемы не решает. Set $Frame n мб? О_о?! Хотя нету там такого "set", мб просто "$frame" "n" или $frame=n? Где "int frame", беззнаковое целочисленное то бишь. Синтаксис какой? А да точно... Т.е. пишется вот так: $frame 10 т.е. переменной frame присваеваем значение 10, иными словами устанавливаем стартовый кадр - 10. [b]To Do:[/b] А как проигрывать анимацию в обратном направлении? [quote]Нам ведь частоту кадров менять нужно..[/quote] Ну дык: "animatedTextureFrameRate" "2" я ж написал... А вот каммент с VDC к этому параметру: Framerate in frames per second По сути управляет временным интервалом, между двумя инкрементами, то бишь как часто (в секундах) будет происходить инкремент. Для незнающих: Инкремент - увеличение на единицу. Декремент - уменьшение на единицу. Грубо говоря эта операция тратит меньше ресурсов чем ручное прибавление единицы, ибо реализована слегка подругому. Я уже не помню, как. На лекциях чета говорили... помоему сдвигами битов в ячейке памяти, чтоли... ааа... не помню... чтото там с битами мутится и получается, что число на единицу увеличивается... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 11] Author : Stone Date : 14-12-2008 17:42 Балииин... Че-то на меня иногда находит, туплю я.. Короче все правильно - есть переменная $frame, которая задает текущий кадр. Ей можно даже присвоить начальное значение перед входом в прокси (вроде бы 0о), если нет - то будет 0. Дальше - "animatedTextureFrameNumVar" "$frame", т.е. переменная, котрая задает номер фрэйма в анимированной текстуре. Потом (или сначала) задаем, что же анимируется: "animatedTextureVar" "$basetexture" (может быть, например, $bumpmap) Ну и наконец частота кадров в секунду: "animatedTextureFrameRate" "2" Больше параметров нету, т.е. чтобы вертать все взад нужно плясать с бубном (либо через те же прокси как-то можно, вычитая из макс. количества фрэймов текущий номер, например, либо через код). Кстати $alpha, $color ограничены снизу 0, сверху 1. Видимо, при выходе за пределы этих чисел тупо округляться будет до этих границ, вот и все. Как известно, $color например - векторная величина. К его компонентам можно по-отдельности обращаться: "$color[0]" Короче ман тот многое объясняет, нужно только покурить его хорошенько и потратить N-ное количество времени на тесты (жаль его хватает только чтобы воздух сотрясать тут:rolleyes: ) А теперь вернемся к проблеме). Хотелось сделать так, чтобы открытые глаза были долго, а мигание проходило быстро. Понятно, что если два кадра будет в текстуре - то и частота их смены будет постоянной. В общем наилучшее решение на мой взгляд - вынести текстуру глаз в отдельную, и с помощью дублирования фрэймов сделать нечто похожее: 00 00 00 00 00 0_ 00 (прикрыт только один глаз, думаю все поймут:) ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 12] Author : FishMan Date : 14-12-2008 17:50 ненене... Сань, точнее будет сказать, что строчкой animatedTextureFrameNumVar мы указываем в какую переменную возвращать значение. Оппа! Есть такая штука как Clamp Которая зажимает значения между минимумом и максимумом! =) А в resultVar пишется имя переменной, которую надо зажать =) Т.е. вот так: "Proxies" { "Clamp" { "min" "0" "max" "2" "resultVar" "$frame" } } И переменная frame будет изменяться только от 0 до 2. Это я предыдущему вопросу про верхний предел. Опля! Думаю помощью LessOrEqual можно добиться нужного результата!.. Нука... Ща чёнить придумаем. Хм... Ну чтото вроде этого: [code]"$basetexture" "path\texture" $counter 1 $closeopen 10 "Proxies" { "clamp" {"min" "1" "max" "10" "resultVar" "$closecounter"} "AnimatedTexture" { "animatedTextureVar" "$basetexture" "animatedTextureFrameNumVar" "$counter" "animatedTextureFrameRate" "1" } "LessOrEqual" { "srcVar1" "$counter" "srcVar2" "$closeopen" "resultVar" "$frame" } }[/code] По идее вот так каждые десять секунд какашка должна моргать... Но только при условии, что всего два кадра анимации. Как я понял LessOrEqual возвращает только 0 или 1. И будет работать только в том случае, если первый кадр является нулевым. Хз теоретически должно работать =) Хотя не... Моргнёт она только 1 раз. Щас... а не... благодаря клампу всё норм... короче... должно работать =) Ну на всякий случай (просто я хз какие значения возвращает LessOrEqual): [code]"$basetexture" "path\texture" $counter 1 $closeopen10 "Proxies" { "clamp" {"min" "1" "max" "10" "resultVar" "$closecounter"} "AnimatedTexture" { "animatedTextureVar" "$basetexture" "animatedTextureFrameNumVar" "$counter" "animatedTextureFrameRate" "1" } "LessOrEqual" { "srcVar1" "$counter" "srcVar2" "$closeopen" "lessEqualVar" "$frame" "greaterVar" "$frame" } }[/code] И всё-таки мне кажется, что LessOrEqual возвращает значения 0, 1, 2 =\ Значит в идеале надо три кадра, чтобы ниче не слетело =) Хотя, наверное, будет правильнее вот так: [code]"$basetexture" "path\texture" "$counter 1" "$closeopen 10" "$animatedtexturevar" "$basetexture" "$animatedTextureFrameNumVar" "$frame" //"$animatedTextureFrameRate" 1 "Proxies" { "clamp" {"min" "1" "max" "10" "resultVar" "$closecounter"} "LessOrEqual" {"srcVar1" "$counter" "srcVar2" "$closeopen" "lessEqualVar" "$frame" "greaterVar" "$frame"} LinearRamp {"rate" "1" "initialValue" "$counter" "resultVar" "$counter"} }[/code] А вот, кстати, как к массивам обращаются... "resultVar" "$bumpoffset[0]" тут идёт обращаются к первому столбцу, то бишь $bumpoffset[2] - обращение к третьему столбцу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 13] Author : Stone Date : 14-12-2008 18:58 Так, про массивы я писал уже)) А вот про моргание ппц ты скриптец извращенский написал - думаешь Painkilla поймет хоть процент от того, что ты написал? :D По-моему мы тут вообще с тобой беседу не по теме затеяли:)))) Слух! Надо в любом случае протестить на реальном примере, давай пока не сделаем этого не будем сюда свои догадки писать, флудеры нах)) Может чуть попозжа потестить удастся, меня одно очень смущает: не совсем понимаю, в какой момент срабатывают эти прокси.. Возможно, они один раз пройдутся и успокоятся, а AnimatedTexture задаст нужные параметры и тоже успокоится. Тогда вся затея рушится как карточный домик, сам понимаешь:) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 14] Author : FishMan Date : 14-12-2008 19:02 Блииииииин! Точняк... AnimatedTexture и LinearRamp выполняются бесконечно. А clamp и LessOrEqual сцуко тока 1 раз =( Для первой то это приемлиемо... А вот LessOrEqual нада тоже бесконечно, при каждом изенении значения... То бишь то, что я написал не будет работать =( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 15] Author : manJak Date : 14-12-2008 19:04 > прокси - большая загадка, разгадать которую не хотят более компетентные в таких делах люди Достаточно в раздел по текстурированию заглянуть, там - одна из более-менее свежих тем. :) > по сути это тупой "перещёлкиватель" на единичку Именно) А максимум тупо берётся из кол-ва кадров в указанной текстуре. > если я вдруг захочу анимацию в обратную сторону проиграть? Фиш, включай моск. =)) Отрицательный фреймрейт никто не отменял) Что касается мигания, тут можно вообще обойтись без AnimatedTexture) Просто менять $frame по синусоиде где-то в диапазоне [0, 1.1]. Я не помню, округляется $frame или от него просто отбрасывается дробная часть.. Вроде последнее. (Учитывая, что 0-й кадр - открытые глаза, а 1-й - закрытые.) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 16] Author : FishMan Date : 14-12-2008 19:05 Вот тоже интересно, округляется или нет... Скорее всего нет, хотябы потому что есть abs... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 17] Author : Stone Date : 14-12-2008 19:12 Пришел Маньяк, все решил с пол-тычка))) Про фрэймрейт отрицательный кстати не уверен, надо потестить опять-таки. Про синусоиду писал тоже:) Только изврат это)) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 18] Author : manJak Date : 14-12-2008 19:19 FishMan Ээ.. abs? Мб, floor ты имел ввиду?) Stone, какой же это изврат? Изящней некуда)) [code]Proxies { Sine { resultVar $frame sinemin 0 sinemax 1.1 sineperiod 10 } } [/code] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 19] Author : FishMan Date : 14-12-2008 19:24 Нет, abs - вычисляет модуль числа. А я вот идею с синусами отбросил тока потому, что не уверен округлит он или отбросит... Painkilla Короче, вот финальный вариант, добавь в свой vmt: [code]"$animatedtexturevar" "$basetexture" "$animatedTextureFrameNumVar" "$frame" "Proxies" { "Sine" { "resultVar $frame" "sinemin" "0" "sinemax" "1.1" "sineperiod" "10" } }[/code] "sineperiod" "10" - вот эта строка управляет временем, т.е. по сути каждые десять (хз чего) секунд, наверное, будет происходить просчёт значения синуса. Т.е. каждые 100 секунд будет происходить смена 0 кадра на 1 и обратно. Кадров должно быть всего 2... Можно сделать и больше, например четыре кадра, увеличив амплитуду синусоиды, поменяв значение максимума. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 20] Author : manJak Date : 14-12-2008 19:35 > abs - вычисляет модуль числа Я потому и не понял, что ты имел ввиду) В данном случае-то от модуля пользы нет. Если фрейм округляется, то диапазон просто другой задать) [0, 0.6], например. > отрицательный рейт скорее всего не проканает Не вижу смысла ограничивать положительными числами. :) Ща вообще возьму и код посмотрю)) [size=1][i]manJak добавил [date]1229283472[/date]:[/i][/size] > каждые десять секунд, наверное, будет происходить просчёт значения синуса Неа) Это время между вершинами волн. Короче, какашка будет мигать раз в 10 сек. =) А прокси выполняются все, сверху в низ, каждый раз когда что-либо рендерится этим материалом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 21] Author : FishMan Date : 14-12-2008 19:38 [quote]Не вижу смысла ограничивать положительными числами. Ща вообще возьму и код посмотрю))[/quote] Неее... Ну смотри, Маньяк. Даже если можно отрицательное число. Это ведь просто тайминг. Т.е. каждые *рейт* секунд происходит инкремент. Т.е. менять надо именно инкремент на декремент, а не рейт... Ну и что с того, что у тебя время в обратную сторону пойдёт (что просто не возможно)? Значения то всё равно будут плюсоваться... [quote]Неа) Это время между вершинами волн. Короче, какашка будет мигать раз в 10 сек. =)[/quote] А! То есть за десять секунд координата проходит путь по синусоиде от min, до max. Понял... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 22] Author : manJak Date : 14-12-2008 19:47 Эх)) Смотри game\client\baseanimatedtextureproxy.cpp. > а десять секунд координата проходит путь по синусоиде от min, до max Не-не-не-не. :D За 10 сек - полный цикл - от min до min. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 23] Author : FishMan Date : 14-12-2008 19:53 [quote]Не-не-не-не. За 10 сек - полный цикл - от min до min.[/quote] А ну да :D [quote]Эх)) Смотри game\client\baseanimatedtextureproxy.cpp[/quote] Неее... всё я спать ))) Painkilla Короче, каждые 10 сек какашко будет моргать =) Разобрались. Проверь. З.Ы. На счёт увеличения амплитуды - не сработает, ибо данный способ работает только для 0 и 1 (оба глаза открыты/закрыты), ибо после 1 (если по одному глазу 0 - открыты оба глаза, 1 - открыт левый глаз, 2 - открыт правый глаз, или 4 значения, с промежуточным "открыты оба глаза"), глаз будет слишком долго закрытый, ибо чтобы на то, чтобы просчитать все значения от 1 до 2 уйдёт какое-то время =) Слуш, моть синус на функцию хевисайда умножить с соответствующим запаздыванием, чтобы получить разрыв? Шучу-шучу :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 24] Author : manJak Date : 14-12-2008 20:10 > на функцию хевисайда умножить, чтобы получить разрыв? Разрыв моска? Мооожно)) Если честно, в последнем абзаце нифига не понял. %) Какие-то глаза.. -_О Кстати, только ща заметил: у тебя в посте #799288 две первых строки лишние - они ничего не делают. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 25] Author : FishMan Date : 14-12-2008 20:16 [quote]Кстати, только ща заметил: у тебя в посте #799288 две первых строки лишние - они ничего не делают[/quote] Так стоп! Как тогда различать анимацию, например, бампа от бейза? Они ведь обе могут быть анимированы. И как сказать, какая переменная будет управлять фреймами? По мне так в этих двух строках устанавливается соответствие... Короче, давай подождём, пока Пейнкилла, всё протестирует =) 2 Painkilla [b]2 do:[/b] попробуй потестить с первыми двумя строками и без них. Те две строки я добавлял по аналогии. У Valve есть такой материальчик: [code]"UnlitGeneric" { // Original shader: basetexture "$basetexture" "sprites/zerogxplode" "$animatedtexturevar" "$basetexture" "$animatedtextureframenumvar" "$frame" "$animatedtextureframerate" 1.00 "Proxies" { "AnimatedTexture" { } } }[/code] На счёт отрицательного рейта я, наверное, не прав. Дошло пока курил... Кадры в секунду. Т.е. -2 кадра в секунду, как раз и будет означать декремент, хотя хз... Тестить нада... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 26] Author : manJak Date : 14-12-2008 20:40 > Как тогда различать анимацию, например, бампа от бейза? Проще простого) Номер кадра для бейза - $frame, для бампа - $bumpframe (вроде ещё какие-то есть). > подождём, пока Пейнкилла, всё протестирует =) Я на проксях хаундая съел, мне можно верить наслово. :D:D > У Valve есть такой материальчик ... Омфг. о__О Параметры проксей задаются внутри прокси и не имеют "вечнозелёного" префикса! [code] "Proxies" { "AnimatedTexture" { "animatedtexturevar" "$basetexture" "animatedtextureframenumvar" "$frame" "animatedtextureframerate" 1.00 } }[/code] Тут только одно может быть: что это пережитки какой-то старой системы.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 27] Author : Stone Date : 14-12-2008 21:15 ФИГА ВЫ... 0о Короче тоже хотел сказать что толку нет выносить параметры проксей за рамки их самих - ессно они и работать не будут, если самой прокси нету) А вот с синусом я лучше дождусь проверки - не верю, что все решает именно $frame без указания фрэйм собственно чего крутиться будет:) Вряд ли параметр "animatedtexturevar" зазря придумали 0о -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 28] Author : FishMan Date : 15-12-2008 04:19 [quote]Омфг. о__О Параметры проксей задаются внутри прокси и не имеют "вечнозелёного" префикса![/quote] Ну там ключик стоит перед параметром. А в проксях он не пишется. Следовательно, я предположу, что это что-то вроде глобальной переменной... [quote]> Как тогда различать анимацию, например, бампа от бейза? Проще простого) Номер кадра для бейза - $frame, для бампа - $bumpframe (вроде ещё какие-то есть).[/quote] А зачем тогда вообще нужен "animatedtexturevar" "$basetexture"? О_о [quote]Я на проксях хаундая съел, мне можно верить наслово.[/quote] Ты смори, сам хаундая хавал, а нам не дал! Жадина! :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 29] Author : manJak Date : 15-12-2008 08:26 > я лучше дождусь проверки Так оно, конечно, вернее) Ну а я результат знаю, осталось только вам в этом убедится. =)) А animatedtexturevar - я же говорил ужо - чтобы прокся знала, сколько в текстуре кадров и перескакивала на нулевой при "переполнении") Не более, не менее. > $frame без указания фрэйм собственно чего крутиться будет Что крутится будет, повторюсь, определяет имя самой переменной. Из базовой текстуры движок (вернее шейдерная длл-ка) берёт $frame-ный кард, из нормалки - $bumpframe-ный (загляните в сорцы этих дллок под эп1). И кроме этих параметров ничто не указывает на то, какой кадр будет юзаться. Следовательно, менять кадры можно чем только душа пожелает, хоть здоровьем игрока. :) FishMan, он нифкусный. >_< -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 30] Author : Тим Date : 15-12-2008 09:55 Painkilla можешь сделать модель ножиком ?? И плиз выложи эту модель )) я хочу такую ) И будет классно если сделать эту гранату гранатой для l4d будет пищалкой, это будет ваще жесть ))))) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 31] Author : FishMan Date : 15-12-2008 10:07 [quote]А animatedtexturevar - я же говорил ужо - чтобы прокся знала, сколько в текстуре кадров и перескакивала на нулевой при "переполнении") Не более, не менее.[/quote] ээээм... Т.е. мы можем сделать так: [code]"Proxies" { "AnimatedTexture" { "animatedtexturevar" "$bumpmap" "animatedtextureframenumvar" "$frame" "animatedtextureframerate" 1.00 } }[/code] И тогды, будет анимироваться base, но колличество кадров будет соответствовать bumpmap'у? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 32] Author : Painkilla Date : 15-12-2008 10:50 Так. Собственно, обьясните доступным языком : имеется простая текстура три кадра с бампом, что надо всё-таки написать? Пробовал ваши штуки копипастить, ругается-не сохраняется. П.С. Нифига себе как всё сложно Оо Валвы не могли по аналогии с gifом сделать? :D 2Тим когда доделаю - обязательно. 2all И ещё вот фигня (ппц, жизнь сложная штука :D) - у ворлд модели гранаты имеется две модели: w_eq_fraggrenade.mdl w_eq_fraggrenade_thrown.mdl Первую я нормально скомпилил (это моделька, которую игроки держат в руке), а вот после компила второй с сервера меня выкидывает и ругается на эту модель. Там одна кость static_prop. Я привязал модель к ней, так что ей надо-то? П.С. в мв модель нормально отображается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 33] Author : Xelious Date : 15-12-2008 12:04 Блин, ну народ вы жжоте! 3 умных человека сидят и обсуждают как заумными функциями заставить какашку моргать :D :D :D. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 34] Author : redbox Date : 15-12-2008 12:15 Painkilla а как ошибка выглядит вобще? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 35] Author : Тим Date : 15-12-2008 12:17 вот, может поможет , это создание анимированного спрей лого.. Xelious ты меня своей фразой до слез рассмешил !! ссылку-то забыл )) [url]http://www.cs-s.ru/index.php?id=124[/url] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 36] Author : FishMan Date : 15-12-2008 12:51 Painkilla Кинь мне текстуру на [email=sarge_vbc@mail.ru]почту[/email], желательно в двух вариантах. Два кадра (закрытые открыте глаза) в 2 файлах и оба файла скомпилированные в 1 VTF... Xelious Под столом =))) Кстати, я начал было об этом задумываться, гдето там по середине, но потом увлёкся и забыл собственно, какую задачу решаем :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 37] Author : manJak Date : 15-12-2008 12:53 > Т.е. мы можем сделать так: > ... > И тогды, будет анимироваться base, но колличество кадров будет соответствовать bumpmap'у? Именно. :) > текстура три кадра А третий откуда взялся? Промежуточный? Тогда так: [code]Proxies { Sine { resultVar $frame sinemin 0 sinemax 2.1 sineperiod 10 } Sine { resultVar $bumpframe sinemin 0 sinemax 2.1 sineperiod 10 } }[/code] Если чего, сам подкрутишь sinemax в небольшом интервале (+-0.5 где-то). Xelious, :lol:, "забыл собственно, какую задачу решаем". -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 38] Author : Painkilla Date : 15-12-2008 13:42 Блин, чтото не курицца. сначала я скопипастил Маньяковский код включил игру. И в общем, промежуточные кадры показываются где-то по 2 секунды, ну а открытые глаза долго. Эксперементировал наугад, стало чуть-чуть быстрее, вот код: [CODE]Proxies { Sine { resultVar $frame sinemin 0 sinemax 1.6 sineperiod 5 } Sine { resultVar $bumpframe sinemin 0 sinemax 1.6 sineperiod 5 } }[/CODE] Но все равно, мне надо чтоб промежуточные кадры , все два, промелькнули где-то за полсекунды-секунду. :rolleyes: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 39] Author : Frozen442 Date : 15-12-2008 14:41 а нужно ли это моргание вообще?) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 40] Author : FishMan Date : 15-12-2008 15:06 Нет конечно. Суть в познании, а не в том, чтобы заставить какашку моргать... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 41] Author : Stone Date : 15-12-2008 15:27 Тут есть несколько решений:) Можно тупо уменьшить период синуса - тогда и моргать быстрее будет, но и чаще это будет происходить. А можно уменьшать амплитуду до 1.. Ты наоборот ее поднял, а нужно там чуть ли не 1.001 выставлять например:) И мне тоже пошли)))) [URL=stone33@mail.ru]Почта[/URL] А во второй модели гранаты кости проверь - там скорее всего не может быть static_prop'а - нефигу ему там быть. Вероятнее всего кость имеет особое название, соответствующее w-модели игрока - тогда она сможет сначала быть прицепленной к руке, а потом отцепиться и полететь куда ее кинут. Вроде так обычно бывает.. Ксел А вот меня больше забавляет даже не это - а то что тема называется "Скриншоты", а сыр-бор перетек в кодинг проксей. Если бы ты как-нибудь разгреб это и засунул в отдельную тему в разделе Текстурирование - респект был бы! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 42] Author : Painkilla Date : 15-12-2008 15:53 [QUOTE][i]Оригинальное сообщение от Stone [/i] [B]И мне тоже пошли))))[/B][/QUOTE] Мм.. Было бы там что-то стоящее , просто минута в фотошопе , текстуру потом подкуручу. Ну, если так уж хочется, вышлю:D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 43] Author : ROCK Date : 15-12-2008 23:55 Забавно конечно) а я бы сделал дубовым способом. Отдельную маленькую с альфой текстуру с кучей кадров. И глаза налепил бы парой полигонов) и все) но это так... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 44] Author : Тим Date : 16-12-2008 06:30 Теперь 2 темы скриншоты О_о ??? А все чт в этой теме выдрали из другой ?? извените за оффтоп.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 45] Author : FishMan Date : 16-12-2008 10:15 Ээээээээ нафига тему переместили? Оо ААа дошло... да я дурак :D Painkilla Слуш, ты не внимательный! Я же просил с ДВУМЯ кадрами прислать! Так и знал, что у тебя их там три будет! И [b]каждый кадр в отдельном файле[/b] (первый кадр - один файл, второй кадр - второй файл) просил... Сэкономь моё время, пришли мне: а) два кадра в отдельных файлах - 1 с открытыми глазами, 2 - с закрытыми б) оба кадра скомпилированные в 1 файл. Думаешь охото в этом ковыряться? Раскомпилировать/компилировать... исправлять в шопе глаза... бррр =\ У тя там градиенты, тупой заливкой не сделать закрытые глаза... А лучше пришли мне psd текстуры со слоями... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 46] Author : Georg Destroy Date : 16-12-2008 19:34 Я может быть скажу какую нибудь глупость, но не проще ли сделать анимацию самой модели, а не текстуры? Веко будет парой полигонов на косточке и моргать себе как угодно долго и даже подмигивать игроку... Подмигивающая такая какашка... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 47] Author : Stone Date : 18-12-2008 14:46 Ыть) Лицевая анимация какашки - кто больше? :D :D :D Кстати этот способ весьма неплох - но благодаря автору и его желанию сделать все через ж..текстуру у нас появилась уникальная возможность разобраться в такой мудреной хренотени как прокси материалов. Ксел - спасибо что тему разделил! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 48] Author : Painkilla Date : 18-12-2008 14:51 [QUOTE][i]Оригинальное сообщение от Stone [/i] [B]Ыть) Лицевая анимация какашки - кто больше? :D :D :D Кстати этот способ весьма неплох - но благодаря автору и его желанию сделать все через ж..текстуру у нас появилась уникальная возможность разобраться в такой мудреной хренотени как прокси материалов. Ксел - спасибо что тему разделил! [/B][/QUOTE] Лицевая анимация? Оо Я тут написал что это первая модель, окститесь! Кстати, а на фонг можно наложить альфа канал? (не через нормал мапу, а чтоб нормал мапа отдельно, альфа канал фонга - отдельно) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 49] Author : FishMan Date : 18-12-2008 15:39 вроде можно... Тока на вдц нету ничего об этом, но это не значит что нельзя, там много материала нехватает... В оранжбоксе я точно помню есть basealphaphongmask, но блин в точности написаного мной я не уверен, я помню там коряво было, но точно не помню... UPD: В общем то что я сказал в этом посте выше - максимум того, что можно сделать, о чём я читай ниже. Упомянутая мной "корявая формулировка" звучит вот так: $basemapalphaphongmask 1/0 Т.е. для альфы фонга (белый - наличие эффекта, черный - отсутствие) будет юзаться текстура с альфа-канала базовой текстуры, а не нормалмапы (по умолчанию)... Нельзя указывать в качестве alphaphongmask внешний файл - большой минус. Т.е. если выхотите добавить Selfilum или Translcunet, то придётся юзать альфу с карты нормалей, это проблема, когда карта нормалей не нужна... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 50] Author : darth_biomech Date : 19-12-2008 12:08 [CODE]"UnlitGeneric" { "$baseTexture" "decals\deadmatter" "$translucent" "1" "$decal" 1 "$decalscale" 0.25 "Proxies" { "AnimatedTexture" { "animatedtexturevar" "$basetexture" "animatedtextureframenumvar" "$frame" "animatedtextureframerate" 8 } } } [/CODE] Какие изменения нужно внести в сий код, чтобы анимация не гонялась по кругу, а остановилась на последнем фрейме? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 51] Author : FishMan Date : 19-12-2008 12:12 По идее, нада закоментить "animatedtexturevar" "$basetexture"... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 52] Author : darth_biomech Date : 19-12-2008 12:36 Идея добилась того что текстура вообще перестала анимироваться.=) Error: Material "decals/deadmatter" : proxy "AnimatedTexture" unable to initialize! Так что это не то. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 53] Author : manJak Date : 19-12-2008 14:19 darth_biomech Как-то так (не проверялось): [code] "UnlitGeneric" { "$baseTexture" "decals\deadmatter" "$translucent" "1" "$decal" 1 "$decalscale" 0.25 $max <номер последнего кадра (их кол-во минус адын)> "Proxies" { "AnimatedTexture" { "animatedtexturevar" "$basetexture" "animatedtextureframenumvar" "$frame" "animatedtextureframerate" 8 } LessOrEqual { srcVar1 $frame srcVar2 $max lessEqualVar $frame greaterVar $max resultVar $frame // эквивалент: if ($frame > $max) $frame = $max } } }[/code] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 54] Author : darth_biomech Date : 22-12-2008 03:53 Нет, не заработала... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 55] Author : manJak Date : 22-12-2008 08:25 Хмммм. Странно. Надо мне самому проверить.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 56] Author : CoolFENIX Date : 12-01-2009 16:14 Не поможете проксией для звёздочек? Этакий звездный путь... это для стены-телепорта =) [img]http://s40.radikal.ru/i089/0901/b9/7623438f617c.png[/img] Возможно добавлю анимацию... чтобы звезды мерцали Может что-то крутящееся, вертящееся? ммм... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 57] Author : CoolFENIX Date : 24-01-2009 03:52 Плиз плиз, вот даже текстурку получше нашел [url]http://s43.radikal.ru/i101/0901/94/f09393e152b3.jpg[/url] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 58] Author : FishMan Date : 24-01-2009 08:04 Ты скажи, ты скажи... че те нада, че нада, может дам, может дам, че ты хоооооошь... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 59] Author : Painkilla Date : 24-01-2009 08:14 Он просит как-нибудь ее анимировать , чтобы поставить на стенку-телепорт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 60] Author : CoolFENIX Date : 24-01-2009 15:22 Угу )) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 61] Author : CoolFENIX Date : 31-01-2009 17:28 Если её покадрово анимировать, я задолблюсь... А в проксиях я что-то совсем не пойму как делать закруты всякие.. повоороты... хммм.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 62] Author : Frozen442 Date : 01-02-2009 10:42 я сам от проксей далёк,но попробуй создать ВМТ к обычной текстуре(в качестве базовой используй это небо ночное),а в конце вставь это: $ang 0 Proxies { Sine { sinemin 0 sinemax 45 sineperiod 15 // время цикла resultVar $ang } TextureScroll { texturescrollvar $bumptransform texturescrollrate 0.01 texturescrollangle $ang } TextureScroll { texturescrollvar $basetexturetransform texturescrollrate 0.01 texturescrollangle $ang } } } [size=1][i]Frozen442 добавил [date]1233485048[/date]:[/i][/size] // sinemax 45 - насколько я понял,это угол поворота текстуры,поэкспериментируй с этим значением. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 63] Author : DNK Date : 07-07-2009 10:02 сем привет! вот тоже вопрос, вот у меня есть анимированная текстура с альфой, но что то не выходит прописать в vmt, надо чтоб постоянно крутилась текстура, помогите...подскажите что написать...=) Вот мой данный код: "VertexLitGeneric" { "$translucent" 1 "$basetexture" "DNK/spider/body" "$envmap" "env_cubemap" "$envmapmask" "DNK/spider/body" "$decal" 1 "$decalscale" 1 "$modelmaterial" "DNK/spider/body" } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 64] Author : Frozen442 Date : 07-07-2009 11:41 ох.. чёто тут всего и много. почему в качестве карты отражений используется диффуз? зачем ты сделал эту текстуру декалью?0_о "$modelmaterial" "DNK/spider/body" - это вроде вообще не нужно. а как у тебя текстура анимирована,покадрово?если хочешь через прокси,то нужно дописывать нечто,похожее на то,что в моём предыдущем посте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 65] Author : DNK Date : 07-07-2009 11:58 все как есть, все нужно, так задумано! надо только как нить заставить проигрывать анимацию, я пробовал это реализовать и не как не выходит.... а что дописать я именно не знаю... по кадрово наверно, три кадра в одном файле... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 66] Author : Frozen442 Date : 07-07-2009 15:42 По кадрам тут есть [url]https://www.source-inside.ru/index.php?id=133[/url] ,я сам 2 раза делал,давно правда. В итоге у тебя получится текстура,которая сама будет в игре бесконечно приоигрываться.Там можно задать скорость и тп. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 67] Author : Pl@zmer Date : 08-07-2009 03:22 [b]DNK[/b] [url=http://monolife.ucoz.ru/publ/3-1-0-3]ЗДЕСЬ[/url] можно найти информацию по твоему вопросу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 68] Author : DNK Date : 08-07-2009 04:48 так так, спасибко! теперь такой вопрос: как заставить проигрывать другую текстуру из трех кадров и это карта нормали... вот кусок кода с помощью которого и у меня анимация играет: "Proxies" { "AnimatedTexture" { "animatedTextureVar" "$basetexture" "animatedTextureFrameNumVar" "$frame" "animatedTextureFrameRate" "5" } } } я подписывал и так: ... "animatedTextureVar" "$bumpmap" ... и так не работает... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 69] Author : manJak Date : 08-07-2009 07:16 AnimatedTexture { animatedTextureVar $bumpmap animatedTextureFrameNumVar $bumpframe animatedTextureFrameRate 5 } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 70] Author : DNK Date : 08-07-2009 09:02 значит так мне написать? "AnimatedTexture" { "animatedTextureVar" "$basetexture" "animatedTextureFrameNumVar" "$frame" "animatedTextureFrameRate" "5" { "animatedTextureVar" "$bumpmap" "animatedTextureFrameNumVar" "$bumpframe" "animatedTextureFrameRate" "5" } } или "AnimatedTexture" { "animatedTextureVar" "$basetexture" "animatedTextureVar" "$bumpmap" "animatedTextureFrameNumVar" "$bumpframe" "animatedTextureFrameNumVar" "$frame" "animatedTextureFrameRate" "5" } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 71] Author : manJak Date : 08-07-2009 19:26 Ни так, ни сяк)) [code]Proxies { AnimatedTexture { animatedTextureVar $basetexture animatedTextureFrameNumVar $frame animatedTextureFrameRate 5 } AnimatedTexture { animatedTextureVar $bumpmap animatedTextureFrameNumVar $bumpframe animatedTextureFrameRate 5 } }[/code] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 72] Author : CoolFENIX Date : 09-07-2009 15:14 Подскажите, пожалуйста, проксю на спиральное кручение (обычное кручение) :) Для наглядности: [url]http://s59.radikal.ru/i164/0907/21/3414f56fa720.jpg[/url] вот эту фигушку надо заставить крутится :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 73] Author : manJak Date : 09-07-2009 19:35 Насчёт спирального не знаю, но обычное вращение вокруг центра может выглядеть например так: $center "[.5 .5]" $rot 0 Proxies { CurrentTime { resultVar $rot } TextureTransform { centerVar $center rotateVar $rot // градусы resultVar $basetexturetransform } } Это вращение по градусу в секунду. Если слишком медленно - умножай rot) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 74] Author : CoolFENIX Date : 09-07-2009 23:43 Что-то она глупо скроллится вверх, притом не ровно по-центру... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 75] Author : manJak Date : 10-07-2009 07:27 о______о Нууу, хз.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 76] Author : BloodyFoxy Date : 19-07-2009 13:02 Если что, могу дать сайт mocap-анимации, там много бесплатного есть... и платного. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 77] Author : Xelious Date : 19-07-2009 13:10 Бладь... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 78] Author : KLIMaka Date : 19-07-2009 16:42 Вот оно, "биологическое оружие нового поколения"!!! Он просто расплавит наш мозг!!! Товарищ Бладь, по-вашему какая связь между "Анимацией текстур при помощи прокси" и "mocap-анимацией"? Ну кроме слова "анимация"... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 79] Author : Painkilla Date : 19-07-2009 18:00 [QUOTE][i]Оригинальное сообщение от BloodyFoxy [/i] [B]Если что, могу дать сайт mocap-анимации, там много бесплатного есть... и платного. [/B][/QUOTE] Геймдизайнеры все такие блади ? Ничего что раздел про текстурирование ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The messages has been download from Форумы на Наша-Life at https://bbs.hl-inside.ru at 11.05.2024 03:05:39