1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Нужен скрипт по рендеру видео.

Тема в разделе "MAXScript", создана пользователем DRAFT, 1 апр 2013.

Модераторы: Savin Denis
  1. DRAFT

    DRAFT Пользователь сайта

    С нами с:
    27.09.2006
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    2
    Доброго дня! Возможно есть другие пути нежели создание скрипта, но все же...

    Задача: рендер анимации в не сжатое видео в avi, одновременно с альфа каналом.
    т.е. нужно с правой стороны нормального видео добавлять участок этого же видео, но только альфа-канал.
    Например: рендерим в разрешении 300 по ширине на 250 по высоте, в итоге создается одно видео 600 по ширине и 250 по высоте, где левые 300 пикселей норм видео, правые - альфа канал.

    Вариант про рендер 2-х вариантов видео и склейке в видеоредакторе не предлагать))

    Обновление сообщения автором
    01.04.2013 в 13:47
    Если писать скрипт огласите цену.
     
  2. Black Sphinx

    Black Sphinx Знаток

    С нами с:
    05.09.2003
    Сообщения:
    234
    Симпатии:
    1
    Баллы:
    29
    Самое простое, что пришло в голову (по цене даже на пиво не потянет):

    Код:
    nwidth = 300
    nheight = 250
    cam = $Camera01
    start_frame = 0
    end_frame = 5
    fname = "e:\\test.avi"
    
    ---------------------------------------------------
    
    wimg = bitmap (nwidth * 2) nheight filename:fname color:black
    
    for fr = start_frame to end_frame do (
    
    	at time fr
    		img = render nwidth nheght canera:cam
    
    	for y = 0 to (nheight - 1) do (
    		for x = 0 to (nwidth - 1) do 	(
    			px = getPixels img [x,y] 1
    			pxa = #((color px[1].a px[1].a px[1].a 0))
    			px[1].a = 0
    			setPixels wimg [x, y] px
    			setPixels wimg [x + nwidth, y] pxa
    		)
    	)
    	save wimg frame:fr
    )
    
    close wimg
    
    
    В начале скрипта прописываем исходные данные: ширину и высоту кадра, ноду камеры, номера начального и конечного кадров, имя файла для сохранения ролика.

    Основной цикл по анимации. На текущем кадре рендерим картинку с нормальными размерами. Потом попиксельно копируем в картинку с удвоенной шириной, попутно убивая альфу в левой половине кадра и заполняя правую половину кадра альфой, преобразованной к RGB. Далее сохраняем покадрово картинку с удвоенной шириной.

    Работает достаточно медленно из-за попиксельного копирования.

    А, если не секрет,
    - зачем такой формат авишки с типа альфой?
    - чем тебя не устраивает вариант со склейкой в видеоредакторе? Например, если рендерить в последовательность с альфой?
     
  3. DRAFT

    DRAFT Пользователь сайта

    С нами с:
    27.09.2006
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    2
    Большое спасибо!
    Если делать 2д видеовставки в Unity разных размеров, не сподручно каждый раз создавать новый проэкт с разным разрешением в видеоредакторе для склейки.
     
Модераторы: Savin Denis

Поделиться этой страницей