3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Reply to this topicStart new topic
> Camera Sequencer кто-нибудь пользуется ?
ab459
сообщение 15/11/2017, 02:00
Сообщение #1


Учитель
Иконка группы

Группа: Пользователи
Сообщений: 339
Регистрация: 17/10/2015
Из: Минск
Пользователь №: 110 127



Люди ктонибудь пользуется Camera Sequencer-ом ? Решил заюзать побыстрому, без глубокого вникания, и несовсем понял его логику. Вплане, напрмиер если я хочу реализовать массив быстрых переключений с камеры 1 на камеру 2, типа зацикливания (т.е. таких переходов будет 40-50 в 10 секундах, скажем) то что, для каждого перехода надо будет создавать новый трек ?
Но почему нельзя просто тупо размножить на треке первой камеры эти ключи переключения горизонтально, и соот-но также на треке втором для второй камеры.
А так как я понял оно работает - это выйдет многокилометровое наращивание считай пустых треков по вертикали чтоли, но это же бред, не рационально т.е. И неудобно. Или я что нитак понял.

Сообщение отредактировал ab459 - 15/11/2017, 02:02
Go to the top of the page
 
+Quote Post
BorisK
сообщение 15/11/2017, 10:50
Сообщение #2


Давно уже
Иконка группы

Группа: Координатор
Сообщений: 9 675
Регистрация: 24/06/2002
Из: Зеленоград
Пользователь №: 158



Цитата(ab459 @ 15/11/2017, 02:00) *
Или я что нитак понял.

Все правильно понял, к сожалению.
Можно попробовать http://www.jdbgraphics.nl/prosequencer, но мне кажется что там та же самая фигня (
Go to the top of the page
 
+Quote Post
Harh
сообщение 15/11/2017, 21:15
Сообщение #3


Мастер
Иконка группы

Группа: Пользователи
Сообщений: 1 379
Регистрация: 13/03/2006
Из: Челябинск, Россия
Пользователь №: 25 023



Так может там просто сделать рендер этих камер вручную с нужным списком кадров (номера, через кадр, через два кадра и т.д.). Понятно, это не автоматически, но зато просто и скорее всего быстро.
Go to the top of the page
 
+Quote Post
ab459
сообщение 15/11/2017, 22:52
Сообщение #4


Учитель
Иконка группы

Группа: Пользователи
Сообщений: 339
Регистрация: 17/10/2015
Из: Минск
Пользователь №: 110 127



Цитата(BorisK @ 15/11/2017, 10:50) *
Цитата(ab459 @ 15/11/2017, 02:00) *
Или я что нитак понял.

Все правильно понял, к сожалению.
Можно попробовать http://www.jdbgraphics.nl/prosequencer, но мне кажется что там та же самая фигня (

Ну да, там вроде как и по скрину видно что таже система - не больше одного "кирпича" на трек. Странно (

Цитата(Harh @ 15/11/2017, 21:15) *
Так может там просто сделать рендер этих камер вручную с нужным списком кадров (номера, через кадр, через два кадра и т.д.). Понятно, это не автоматически, но зато просто и скорее всего быстро.

Сорри непонял, имеется ввиду рендеры для последующего использования в не-максе ?
Go to the top of the page
 
+Quote Post
Harh
сообщение 16/11/2017, 07:46
Сообщение #5


Мастер
Иконка группы

Группа: Пользователи
Сообщений: 1 379
Регистрация: 13/03/2006
Из: Челябинск, Россия
Пользователь №: 25 023



Цитата(ab459 @ 16/11/2017, 00:52) *
Сорри непонял, имеется ввиду рендеры для последующего использования в не-максе ?


Угу... Рендеры же все равно делаются, чтобы их потом не в максе использовать. Просто через меню рендеринга (обычному, которое по F10) выбираются кадры. Ставится, например, Every 2 Frames (должен же этой функцией кто-то хоть раз воспользоваться за много лет) и вперед. Просто вопрос в том, что интересует, красивое решение или просто результат.
Go to the top of the page
 
+Quote Post
Pomidoroff
сообщение 16/11/2017, 12:02
Сообщение #6


Рыцарь форума
Иконка группы

Группа: Пользователи
Сообщений: 2 697
Регистрация: 25/04/2009
Из: Taunusstein
Пользователь №: 69 603



Цитата
должен же этой функцией кто-то хоть раз воспользоваться за много лет

Такой функцией часто пользуются те кто рендерит видео. Для привьюшек и контроля качества. Рендерят каждый десятый кадр и потом по ним пост настраивают.
Go to the top of the page
 
+Quote Post
Harh
сообщение 16/11/2017, 14:18
Сообщение #7


Мастер
Иконка группы

Группа: Пользователи
Сообщений: 1 379
Регистрация: 13/03/2006
Из: Челябинск, Россия
Пользователь №: 25 023



Цитата(Pomidoroff @ 16/11/2017, 14:02) *
Такой функцией часто пользуются те кто рендерит видео. Для привьюшек и контроля качества. Рендерят каждый десятый кадр и потом по ним пост настраивают.


Ну тут уже значит другая высота полета. Сколько видео не рендерил, никогда не пользовался... Но и для меня понятие "пост" почти ругательное - дикий я человек biggrin.gif
Go to the top of the page
 
+Quote Post
ab459
сообщение 17/11/2017, 01:31
Сообщение #8


Учитель
Иконка группы

Группа: Пользователи
Сообщений: 339
Регистрация: 17/10/2015
Из: Минск
Пользователь №: 110 127



Цитата(Harh @ 16/11/2017, 07:46) *
Цитата(ab459 @ 16/11/2017, 00:52) *
Сорри непонял, имеется ввиду рендеры для последующего использования в не-максе ?


Угу... Рендеры же все равно делаются, чтобы их потом не в максе использовать. Просто через меню рендеринга (обычному, которое по F10) выбираются кадры. Ставится, например, Every 2 Frames (должен же этой функцией кто-то хоть раз воспользоваться за много лет) и вперед. Просто вопрос в том, что интересует, красивое решение или просто результат.

Да, я понимаю, но фишка камера-секвенсера какраз чтоб можно было попробовать незаморочиться с другими софтинами. Впринципе на иностранных форумах нагугливал отзывы по секвенсору какраз такого смысла, что мол - нафига это нужно, всёравно всё это делается в Адобе потом. Ну, дело вкуса. Мне просто какраз хотелось обойтись именно максом. Кстати ещё неизвестно где было бы удобней и быстрей засеквенсить описаную мною задачу, будь тут возможность клонирования кирпичей вдоль трека.
Вообще для мографа разного была бы довольно вдохновляющая (продуктивная) штука. Потмоу что я представляю пока кадры начнёшь перекидывать туда сюда забудешь что хотел ))

Сообщение отредактировал ab459 - 17/11/2017, 01:41
Go to the top of the page
 
+Quote Post
Jahman
сообщение 17/11/2017, 02:10
Сообщение #9


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



да это несложно сделать на самом деле.
viewport.getCamera
viewport.setCamera и вперед
на каждую камеру можно какой-нить доп контроллер повесить и включать их по какому-либо условию


Сообщение отредактировал Jahman - 17/11/2017, 02:10
Go to the top of the page
 
+Quote Post
ab459
сообщение 17/11/2017, 20:18
Сообщение #10


Учитель
Иконка группы

Группа: Пользователи
Сообщений: 339
Регистрация: 17/10/2015
Из: Минск
Пользователь №: 110 127



Цитата(Jahman @ 17/11/2017, 02:10) *
да это несложно сделать на самом деле.
viewport.getCamera
viewport.setCamera и вперед
на каждую камеру можно какой-нить доп контроллер повесить и включать их по какому-либо условию

Да, чуствую что в этом подходе зарыт хороший потенциал )), но пока это несовсем явно для меня, как это грамотно организовать т.е. Это не намёк обьяснять базовые вещи, нехотелось бы напрягать конкретно с этим вопросом, но спасибо буду иметь ввиду. А так, потому и заинтеерсовался сабжем что для далёкого от работы с скриптами такой визуальный воркфлов был бы то что надо.
Go to the top of the page
 
+Quote Post
Jahman
сообщение 18/11/2017, 10:25
Сообщение #11


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



Что-то вроде того. Самый простой пример.

CODE
delete objects

animationrange = interval 0 222



cam1 = Freecamera()
cam2 = Freecamera()
cam1.pos = [111,111,100]
cam2.pos = [50,50,222]
cam1.dir = normalize cam1.pos
cam2.dir = normalize cam2.pos

d = dummy()
animate on (
    
    at time animationrange.end rotate d (AngleAxis 120 [0,0,1])
    
)

cam1.parent = d
cam2.parent = d

Teapot()


cam1_ranges = #( [0,33], [100,140] )
cam2_ranges = #( [50,105], [125,180] )



setUserProp cam1 "range" cam1_ranges
setUserProp cam2 "range" cam2_ranges


cams = #( #( cam1, execute(getUserProp cam1 "range")), #( cam2, execute(getUserProp cam2 "range")) )

for t = animationrange.start to animationrange.end do (
    
    slidertime = t

    cam = viewport.GetCamera()
    
    searching = true
    
    for camData in cams while searching do (
        
        for r in camData[2] while searching where t >= r.x and t < r.y do (
            
            searching = false
            viewport.SetCamera camData[1]
            
        )
        
    )
    
    if searching do viewport.SetType #view_persp_user
    
    
)


Если хочется визуального контроля отрезков активности камеры можно на камеру повесить кастомАттрибут типа BooleanType
Этому аттрибуту через trackView вешаем boolean контроллер и расставляем ключи когда камера активна и когда нет.
Потом в скрипте проверяем текущее состояние этих контроллеров и и переключаемся на ту у которой контроллер вернет true.
В ином случае переключаемся на окно перспективы.


Go to the top of the page
 
+Quote Post
Jahman
сообщение 18/11/2017, 12:44
Сообщение #12


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



как-то так. а потом уже в скрипте смотрим какая камера активна и переключаемся на нее
зы. для наглядности открываем trackView и в нем смотрим Camera001 > Object > camActiveDef > active
CODE
camActiveDef = attributes camActiveDef attribID:#(0x3c376ec9, 0x1c72349) (
    
    parameters params (
        
        active type:#boolean default:false
        
    )
    
)

delete objects

c = Freecamera()
custAttributes.add c camActiveDef
c.baseObject.camActiveDef.active.controller = boolean_float()

animate on (
    
    at time 0 c.baseObject.camActiveDef.active.controller.value   = 1
    at time 33 c.baseObject.camActiveDef.active.controller.value  = 0
    at time 66 c.baseObject.camActiveDef.active.controller.value  = 1
)

select c


Сообщение отредактировал Jahman - 18/11/2017, 12:45
Go to the top of the page
 
+Quote Post
Jahman
сообщение 18/11/2017, 15:47
Сообщение #13


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



и вот такой еще вариант есть
автоматически будет переключать активный вьюпорт на подходящую камеру.

CODE
delete objects
cam1 = Freecamera()
cam2 = Freecamera()
cam1.pos = [100,100,100]
cam2.pos = [-20,-100,150]
cam1.dir = normalize cam1.pos
cam2.dir = normalize cam2.pos
Teapot()


fn camSwitcher = (
    
    if currenttime > 50 then (
        
        viewport.SetCamera cam2
        
    ) else (
        
        viewport.SetCamera cam1
        
    )
    
    
)

unRegisterTimeCallback camSwitcher
registerTimeCallback camSwitcher


Go to the top of the page
 
+Quote Post
ab459
сообщение 18/11/2017, 19:49
Сообщение #14


Учитель
Иконка группы

Группа: Пользователи
Сообщений: 339
Регистрация: 17/10/2015
Из: Минск
Пользователь №: 110 127



Jahman спасибо ! Думаю в недалёком будущем воспользуюсь этими идеями. (Булиан контроллер, хм, прикольно)

Сообщение отредактировал ab459 - 18/11/2017, 19:50
Go to the top of the page
 
+Quote Post
Jahman
сообщение 18/11/2017, 21:08
Сообщение #15


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



В последнем варианте в том виде в котором я его запостил не работает проигрывание анимации. happy.gif
зы. кстати автор просиквенсера подтвердил, что на одном треке только один фрейм рейндж.

Сообщение отредактировал Jahman - 18/11/2017, 21:09
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






2 страниц V   1 2 >
Reply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 19/04/2024 - 19:41