#1
31 мая 2014 в 04:52
Всем доброго дня.
Задумал внедрить в ку3 и вольф систему управления материалами, как в думе3.
Хочу сделать так:
Какой-нибудь entity зажигает некое событие (например новый target_material).
Поля его такие:
count: номер локального параметра материала (integer, от 0 до 11, не проблема увеличить, просто сделал как в стандарте idTech4)
random: желаемое значение (float, имя не подходящее, но это издержки совместимости...)
target: имя целевого материала, string
wait: пауза между активациями (float, default 1 second)
(и не забываем про targetname - имя ентити, для его активации).
При активации, сервер шлёт соотв.инфу рендереру, а рендерер для указанного материала записывает значение random в указанный локальный параметр.
И для глобальных параметров:
Какой-нибудь entity зажигает некое событие (например новый target_global).
Поля его такие:
count: номер глобального параметра карты (integer, от 0 до 7, не проблема увеличить, просто сделал как в стандарте idTech4)
random: желаемое значение (float, имя не подходящее, но это издержки совместимости...)
wait: пауза между активациями (float, default 1 second)
(и не забываем про targetname - имя ентити, для его активации).
При активации, сервер шлёт соотв.инфу рендереру, а рендерер сохраняет значение random в указанный глобальный параметр в tr.wolrd.
Математические выражения, таблицы и условное выполнение слоёв (stages) в материале давно реализованы. Осталось подружить их с сервером. ))
Для Вольфа аналогично можно сделать и для скриптовой системы.
Это даёт возможность менять фактуру стен на лету, как для отдельно выбранных, так и для какой то группы материалов.
Знатоки idTech4 и прочие умные головы, покритикуйте или поправьте меня. Хочу сделать максимально красиво.
Задумал внедрить в ку3 и вольф систему управления материалами, как в думе3.
Хочу сделать так:
Какой-нибудь entity зажигает некое событие (например новый target_material).
Поля его такие:
count: номер локального параметра материала (integer, от 0 до 11, не проблема увеличить, просто сделал как в стандарте idTech4)
random: желаемое значение (float, имя не подходящее, но это издержки совместимости...)
target: имя целевого материала, string
wait: пауза между активациями (float, default 1 second)
(и не забываем про targetname - имя ентити, для его активации).
При активации, сервер шлёт соотв.инфу рендереру, а рендерер для указанного материала записывает значение random в указанный локальный параметр.
И для глобальных параметров:
Какой-нибудь entity зажигает некое событие (например новый target_global).
Поля его такие:
count: номер глобального параметра карты (integer, от 0 до 7, не проблема увеличить, просто сделал как в стандарте idTech4)
random: желаемое значение (float, имя не подходящее, но это издержки совместимости...)
wait: пауза между активациями (float, default 1 second)
(и не забываем про targetname - имя ентити, для его активации).
При активации, сервер шлёт соотв.инфу рендереру, а рендерер сохраняет значение random в указанный глобальный параметр в tr.wolrd.
Математические выражения, таблицы и условное выполнение слоёв (stages) в материале давно реализованы. Осталось подружить их с сервером. ))
Для Вольфа аналогично можно сделать и для скриптовой системы.
Это даёт возможность менять фактуру стен на лету, как для отдельно выбранных, так и для какой то группы материалов.
Знатоки idTech4 и прочие умные головы, покритикуйте или поправьте меня. Хочу сделать максимально красиво.
#2
08 июня 2014 в 10:52
Вроде всё логично. Но сама фича не особо (ИМХО) нужная для Q3 с его оиентированностью на деадматч. Для вольфа - да, в сингленаверное пригодилось бы.