Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
off-log-Byte
(Junior Member)

Зарегистрирован: Jan 2010
Проживает: Россия/Магнитогорск
Написал: 396 сообщений

Оценка: 8 Votes 8 чел.

Сообщение #1075263
В предыдущих сериях
Цитата:
https://bbs.nashalife.ru/showthread...260#post1064260

Из интересного, что я заметил, что если ставить таймер в 0.01, то он считает время ПРИБЛИЗИТЕЛЬНО как в 0.0333333.


Кароче, то, что в хаммере написано, что точность до 0,01 это не правда)) Это просто такая условность, чтобы выставлять пошагово что и за чем идёт. В реальности получается не 0,01, а 0,03333 примерно Я это доказал опытным путём на сотне другой тестов, тщательно всё проверяя да хотя бы через тот же host_timescale. Именно по этому ТЫ САМ мне говорил, что только анимированной текстуркой это делается

Я думал ты мне напишешь, что-то такое...
[Предполагаемый_твой_совет_мне]
Измени свой шейдер с таково
Цитата:
"UnlitGeneric"
{
"$basetexture" "signs/numb"
"$surfaceprop" "default"
"Proxies"
{
"MaterialModifyAnimated"
{
"animatedtexturevar" "$basetexture"
"animatedtextureframenumvar" "$frame"
"animatedtextureframerate" 100
}
}
}

на такой...
Цитата:
"UnlitGeneric"
{
"$basetexture" "signs/numb"
"$surfaceprop" "default"


"$framerateoftimer" "0"
"Proxies"
{
"MaterialModifyAnimated"
{

"animatedtexturevar" "$basetexture"
"animatedtextureframenumvar" "$frame"
"animatedtextureframerate" "$framerateoftimer"
}
}
}




Создай ещё один material_modify_control с параметром не $frame, а $framerateoftimer и чутка измени триггеры. В триггере сброса таймера обращаешься к первому mmc, который изменяет само значение кадра на нуль. OnTrigger - mmc_numbmilsec - SetMaterialVar - 0. В триггере остановки таймера делай так OnTrigger - mmc_numbmilsec_framerate - SetMaterialVar - 0, а в триггере запуска таймера делай так OnTrigger - mmc_numbmilsec_framerate - SetMaterialVar - 100 и будет тебе счастье
[/Предполагаемый_твой_совет_мне]

Но ты такого не написал, да и то что выше я описал не работает. Может я что-то делаю не так? Или фреймрейт менять не дано? Хотя тут сказано...
Цитата:
animatedtextureframerate
Framerate in frames per second. Fixed; cannot be changed once set.

Или я не так понял смысл или криво перевёл, объясните исправлено, то что нельзя было менять фреймрейт или не исправлено?

off-log-Byte добавил 10-08-2012 в 23:19:11:
А даже, если и нельзя менять фреймрейт как тогда быть? Уж не мапингом же решать Триггер должен моментально изменять какой-нибудь параметр в материале как-то типа такого...
Цитата:
"UnlitGeneric"
{
"$basetexture" "signs/numb"
"$surfaceprop" "default"

"$ifstop" "1"
"Proxies"

if ($ifstop)
{
"MaterialModifyAnimated"
{

"animatedtexturevar" "$basetexture"
"animatedtextureframenumvar" "$frame"
"animatedtextureframerate" "0"
}
else
{
"MaterialModifyAnimated"
{

"animatedtexturevar" "$basetexture"
"animatedtextureframenumvar" "$frame"
"animatedtextureframerate" "100"
}
}
}

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

off-log-Byte добавил 10-08-2012 в 23:33:29:
Стоп! Менять фреймрейт можно, ведь StartAnimSequence позволяет его менять же. Значит я наверное не так меняю его через прокси и material_modify_control. Может кто-нибудь тогда подскажет где у меня ошибка?

off-log-Byte добавил 10-08-2012 в 23:43:18:
а может вы просто скажете как пользоваться StartAnimSequence без задания первых значений? То бишь, StartAnimSequence <START_FRAME END_FRAME FRAMERATE LOOP> - указать анимационную последовательность для материала; START_FRAME – начальный кадр, END_FRAME – конечный кадр, FRAMERATE – частота кадров, LOOP – (0 или 1) повторяемость кадров; я имею в виду, быть может ей есть какая-нибудь альтернатива, чтобы не приходилось менять кадр на котором мы сейчас находимся? просто если не удастся заморозить и разморозить по триггеру фреймрейт, то не делать же мне динамическую модель и менять скорость через SetPlaybackRate какой-нибудь

off-log-Byte добавил 11-08-2012 в 00:18:47:
Всё после всех глупых и ещё более глупых попыток, таких как "OnTrigger - mmc_numbmilsec - StartAnimSequence - $frame $frame 0 0" у меня кончились идеи Может кто знает как обратится к кадру, который сейчас используется текстурой? Ну типа... ну есть же к хаммере такие фитчи как !self, !activator и им подобные. Хотелось бы получить какой-нибудь !currentframe. Видать у меня уже крышак едет от этого всего.

off-log-Byte добавил 11-08-2012 в 00:22:44:
Или скажем, подскажите как получить из шейдера какое-нибудь значение. У меня же там $frame меняется. Вот каким-нибудь чудом можно ли записать это значение в какую-нибудь энтитю? Если да и из неё можно будет передать в какой-нибудь math_counter, то проблема решена. о_О
Я знаю, что такое умножение! Это здорово – вроде как 14 умножить на 15, и получается 210, потому что это значит – 6 раз по 35 или 5 раз по 42.
Потому что это все равно что умножить 2 на 3, потом на 5 и на 7. Мне нравится цифра 210, потому что она сложена из четырех разных крепких чисел. © Моя заметка из Теста по Тьюрингу.

Поправил off-log-Byte 10-08-2012 в 23:19

Old Post 10-08-2012 23:03
off-log-Byte отсутствует Посмотреть данные 'off-log-Byte' Отправить Приватное Сообщение для 'off-log-Byte' Найти другие сообщения 'off-log-Byte' Добавить off-log-Byte в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #1075319
Эм.. BRAIN EXPLOSION
..я забыл ТОЛЬКО написать чтобы ты изменил материал на

code:
"UnlitGeneric"
{
"$basetexture" "signs/numb"
"$surfaceprop" "default"

"Proxies"
{
"MaterialModify" {}
}


И что в материал модифае пишем параметр для изменения- $frame
Всё. Гг

Мне этого хватало чтобы гнать любого беса в Сорсе.
Ы
Old Post 12-08-2012 10:57
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 15:32.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены