не могу полностью с wpiggy. Отсутствие undo справедливо лишь для Rotoshape. При работе с Qiuckshape нет никаких проблем с отменой последних изменений.
Для меня Rotoshape, практически, не существует. За исключением редких ситуаций в которых необходимы специфические возможности этого нода.
keep on shaking!
Для меня Rotoshape, практически, не существует. За исключением редких ситуаций в которых необходимы специфические возможности этого нода.
keep on shaking!
Да, точно, такое только на инферно и в шэйке есть. Но на инферно все таки не так криво реализовано, насколько я видел.
Вопрос в тему, может кто знает:
бывает при включенном автокее маска (ротошейп) замирает в одном положении и подвинуть ее просто невозможно - ни всю ни отдельные узлы. Как это лечить или хотя бы когда это появляется (чтоб не доводить до такого)?
Вопрос в тему, может кто знает:
бывает при включенном автокее маска (ротошейп) замирает в одном положении и подвинуть ее просто невозможно - ни всю ни отдельные узлы. Как это лечить или хотя бы когда это появляется (чтоб не доводить до такого)?
Ротошейпы и Quickshape завязаны на встроенный в Shake GLRender, то есть, имхо, часть глюков связана с видеокартой.
DFuzion, ты тоже не совсем прав . Quickshape тоже "подглюкивают" на некоторых тачках - не перерисовываются, глючат на undo. И еще они реально тормозят, особенно при добавлении узлов.
>бывает при включенном автокее маска (ротошейп) замирает в одном положении и подвинуть ее просто невозможно
Логику в проявлении этого эффекта я так отловить и не смог. Иногда помогает перезагрузка Shake.
Иногда доходит до того, что такой ротошейп "роняет" Shake так, что этот скрипт загрузить уже невозможно (приходит Доктор Ватсон). В этой ситуевине выходов два. Первое достать autosave, второе открыть скрипт в текстовом редакторе, найти этот чертов ротошейп и аккуратно его удалить.
Да еще, всем, кто еще про это не знает, рекомендую для работы с Shake-скриптами FAR с установленным плагином Colorer (полная нирвана ))).
DFuzion, ты тоже не совсем прав . Quickshape тоже "подглюкивают" на некоторых тачках - не перерисовываются, глючат на undo. И еще они реально тормозят, особенно при добавлении узлов.
>бывает при включенном автокее маска (ротошейп) замирает в одном положении и подвинуть ее просто невозможно
Логику в проявлении этого эффекта я так отловить и не смог. Иногда помогает перезагрузка Shake.
Иногда доходит до того, что такой ротошейп "роняет" Shake так, что этот скрипт загрузить уже невозможно (приходит Доктор Ватсон). В этой ситуевине выходов два. Первое достать autosave, второе открыть скрипт в текстовом редакторе, найти этот чертов ротошейп и аккуратно его удалить.
Да еще, всем, кто еще про это не знает, рекомендую для работы с Shake-скриптами FAR с установленным плагином Colorer (полная нирвана ))).
И снова я не могу согласиться с wpiggy! )) Как правильно подмечено автором: "имхо, часть глюков связана с видеокартой".
И, вот ведь, какая ситуёвина получается -- проблема-то не в шейке, но в карте.
Как я писал, некоректной работы Quickshape не наблюдаю. И других нодов тоже. О Rotoshape уже говорено.
И пусть денег на сертифицированные карты не у каждого шейкера найдётся, но на хороший игровой девайс от "неё родной" -- лёгко!
keep on shaking!
И, вот ведь, какая ситуёвина получается -- проблема-то не в шейке, но в карте.
Как я писал, некоректной работы Quickshape не наблюдаю. И других нодов тоже. О Rotoshape уже говорено.
И пусть денег на сертифицированные карты не у каждого шейкера найдётся, но на хороший игровой девайс от "неё родной" -- лёгко!
keep on shaking!
С ротошейпами замечен еще один неприятный баг. Допустим у тебя в ротошейпе грань под очень малым углом к горизонтали. А весь ротошейп двигается горизонтально. Motion blur на этой грани обрабатывается с глюками (идет "шум"), у Quickshape такого нет. Похоже что-то с GL-render связано. А вот у QuickShape motion blur работает корректно, но "дискретно" (видны "ступеньки"), приходится потом еще сверху обычный блюр вешать.
Короче, что бы там DFuzion не говорил, надо юзать и то и то "it depends" )
Короче, что бы там DFuzion не говорил, надо юзать и то и то "it depends" )
абсолутли эгри со всеми тезисами оратора
а насчёт частой "корявости" GL-рендера есть показательный пример со скриптом Ramp2D от peter warner. Если ось, назовём так для простоты, градиента немного отличается от вертикали, то градиент отрисовывается с такими дреками... что не наблюдается с горизонтальными вариантами.
кстати, может кто знает как его переделать в 16-бит? добавление "int bytes" не помогает -- он всегда остаётся 8-bit BWA или, может быть, у кого есть "более" другой способ работы с градиентами?
вэлкам поделится опытом
неплохая тема для новой ветки?
--
keep on shaking!
а насчёт частой "корявости" GL-рендера есть показательный пример со скриптом Ramp2D от peter warner. Если ось, назовём так для простоты, градиента немного отличается от вертикали, то градиент отрисовывается с такими дреками... что не наблюдается с горизонтальными вариантами.
кстати, может кто знает как его переделать в 16-бит? добавление "int bytes" не помогает -- он всегда остаётся 8-bit BWA или, может быть, у кого есть "более" другой способ работы с градиентами?
вэлкам поделится опытом
неплохая тема для новой ветки?
--
keep on shaking!
Я знаю обо всех волшебных, и не очёнь, кнопках в шейке
Это не выход, так как трик работает только в интерфейсе, и только в данной сессии. Но если считать скрипт из консоли, то он всё равно берёт инфу из макроса. А в нём 8-бит. Вопрос был серьёзный и для меня насущный. Повторюсь, что добавление в скрипте в раздел image Ramp2D параметра int bytes = ..., тоже не решает вопроса
2wpiggy: есть мысли на эту тему?
или писать Питеру? ))
Это не выход, так как трик работает только в интерфейсе, и только в данной сессии. Но если считать скрипт из консоли, то он всё равно берёт инфу из макроса. А в нём 8-бит. Вопрос был серьёзный и для меня насущный. Повторюсь, что добавление в скрипте в раздел image Ramp2D параметра int bytes = ..., тоже не решает вопроса
2wpiggy: есть мысли на эту тему?
или писать Питеру? ))
Угу, напиши, напиши Питеру
image Ramp2D(
int width = GetDefaultWidth(),
int height = GetDefaultHeight(),
int wedgeSize = width/10 (вот тут порылась собака),
float alpha1 =0,
float alpha2 = 1,
float pos1X = width/3,
float pos1Y = height/3,
float pos2X = width*.66,
float pos2Y = height*.66
)
Сравни с
image Ramp2D(
int width = GetDefaultWidth(),
int height = GetDefaultHeight(),
int wedgeSize = width/100,
float alpha1 =0,
float alpha2 = 1,
float pos1X = width/3,
float pos1Y = height/3,
float pos2X = width*.66,
float pos2Y = height*.66
)
Валентин, да хоть float тут не спасёт, дело не в битности, а в математике. Ну дискретный он, сабака, ДИСКРЕТНЫЙ. Можно было бы Питеру коэффициент дискретности вывести отдельным контролом, наверное это было бы правильно.
Костя, спасибо, что заставил немного пошевелить мозгами, а то я совсем скоро "съеду" маски резамши ))
image Ramp2D(
int width = GetDefaultWidth(),
int height = GetDefaultHeight(),
int wedgeSize = width/10 (вот тут порылась собака),
float alpha1 =0,
float alpha2 = 1,
float pos1X = width/3,
float pos1Y = height/3,
float pos2X = width*.66,
float pos2Y = height*.66
)
Сравни с
image Ramp2D(
int width = GetDefaultWidth(),
int height = GetDefaultHeight(),
int wedgeSize = width/100,
float alpha1 =0,
float alpha2 = 1,
float pos1X = width/3,
float pos1Y = height/3,
float pos2X = width*.66,
float pos2Y = height*.66
)
Валентин, да хоть float тут не спасёт, дело не в битности, а в математике. Ну дискретный он, сабака, ДИСКРЕТНЫЙ. Можно было бы Питеру коэффициент дискретности вывести отдельным контролом, наверное это было бы правильно.
Костя, спасибо, что заставил немного пошевелить мозгами, а то я совсем скоро "съеду" маски резамши ))
Это совсем просто
Замени в скрипте
{
return Crop(Reorder(NGLRender(
width, height, 1 (вот это и есть битность 1-8бит, 2-16б 4-float),
"
// initial calculations
На
{
return Crop(Reorder(NGLRender(
width, height, 4,
"
// initial calculations
Кстати по предыдущему вопросу... параметр wedgeSize есть в UI !!!! ))))
Хе, хе надо было мне сначала в интерфейсе скрипта поковыряться, а потом уже сам скрипт хакать, вот идиот ))
Замени в скрипте
{
return Crop(Reorder(NGLRender(
width, height, 1 (вот это и есть битность 1-8бит, 2-16б 4-float),
"
// initial calculations
На
{
return Crop(Reorder(NGLRender(
width, height, 4,
"
// initial calculations
Кстати по предыдущему вопросу... параметр wedgeSize есть в UI !!!! ))))
Хе, хе надо было мне сначала в интерфейсе скрипта поковыряться, а потом уже сам скрипт хакать, вот идиот ))
спасибо, за подсказку
я поступил более гибко, добавив в скрипт параметр:
image Ramp2D(
int bytes = 2,
int width = GetDefaultWidth(),
....
return Crop(Reorder(NGLRender(
width, height, bytes,
....
Конечно, прямой совместимости со своими старыми скриптами лишился, но, как известно, они далеко не бинарные
я поступил более гибко, добавив в скрипт параметр:
image Ramp2D(
int bytes = 2,
int width = GetDefaultWidth(),
....
return Crop(Reorder(NGLRender(
width, height, bytes,
....
Конечно, прямой совместимости со своими старыми скриптами лишился, но, как известно, они далеко не бинарные