mimoLive의 자동화 레이어로 프로덕션 간소화
mimoLive 자동화 레이어는 원래 개념 증명용으로 개발되었지만 이후 사용자에게 매우 유용한 도구로 입증되었습니다. 이 레이어는 특정 순서 또는 미리 정해진 시간에 레이어의 켜기 및 끄기를 자동화하고, 한 레이어에서 다른 레이어로 정보를 전송하고, 시작 및 중지하는 데 사용할 수 있습니다. 출력 대상등 다양한 기능을 제공합니다!
수동으로 전환하고 타이밍을 조정할 필요가 없으므로 여러 레이어와 입력이 있는 복잡한 프로덕션을 제작할 때 특히 유용합니다. 이 레이어를 사용하면 소프트웨어가 제작의 타이밍과 순서를 처리하는 동안 사용자는 매력적인 콘텐츠를 만드는 데 집중할 수 있습니다. 이제 이 레이어의 버전 2에서는 명령어를 확장하여 mimoLive의 자동화를 완전히 새로운 차원으로 끌어올렸습니다.
예시: 자동화 계층
mimoLive의 자동화 스크립트가 실시간으로 실행되지 않습니다.
동영상 렌더링 엔진이 호출하는 HTTP 요청의 비동기적 특성으로 인해 mimoLive의 자동화 스크립트 타이밍이 정확하지 않을 수 있다는 점에 유의하시기 바랍니다. 이러한 스크립트는 API에 대한 HTTP 요청에 의존하며 이러한 요청의 길이를 정확하게 결정할 수 없으므로 잠재적인 타이밍 불일치가 발생할 수 있습니다. 프로덕션 워크플로에서 자동화 스크립트를 사용할 때는 이 점을 염두에 두시기 바랍니다.
전제 조건
이 레이어가 작동하려면 이 레이어를 사용하려면 HTTP 원격 제어를 활성화하기 위한 mimoLive의 서버 API. 로 이동 미모라이브 -> 기본 설정 -> 원격 제어: "원격 제어 액세스 허용" 옵션을 선택합니다. (현재 mimoLive의 자동화 레이어는 비밀번호 없이만 작동합니다.)
자동화 레이어 설정
라이브 전환 후 레이어가 작동하는 방식에는 두 가지 옵션이 있습니다:
옵션 | 행동 |
---|---|
자동으로 레이어 끄기 | 이 옵션에는 하나의 스크립트만 사용할 수 있습니다. 이 스크립트가 처리되면 레이어가 자체적으로 전환됩니다. 이 옵션은 시퀀스를 한 번만 수행해야 사용할 수 있습니다. |
수동으로 레이어 끄기(예: 운영자) | 이 경우 세 가지 스크립트를 사용할 수 있습니다. 레이어가 라이브로 전환되면 "On Live" 스크립트가 처리됩니다. 이 작업이 완료되면 "동안 라이브" 스크립트가 무한 반복으로 처리됩니다. 레이어가 꺼지면 "꺼짐" 스크립트가 처리됩니다. 특정 단계가 필요하지 않은 경우 관련 스크립트를 비워두면 됩니다. |
소스 코드 코멘트
스크립트의 기능을 기억하는 데 도움이 되도록 스크립트에 주석을 사용하는 것이 좋습니다:
// First sleep for 5 seconds...
sleep(5)
// ...then start the stopwatch layer:
layerOn("7C4665C4-0E17-4F63-BCFF-B59D68D75956")
댓글은 별도의 줄에 작성해야 합니다.
스크립팅 명령
스크립팅 언어는 독점적이며 여러 명령어가 포함되어 있습니다. 이러한 명령은 오른쪽의 레이어 미리 보기에 있는 치트 시트에 나열되어 있습니다. 목록이 읽기에는 다소 작을 수 있으므로 미리보기 영역의 위와 오른쪽에 있는 버튼을 사용하여 미리 보기를 확장할 수 있습니다.
layerOn()
이 명령을 사용하면 레이어 또는 레이어 배리언트를 켤 수 있습니다.
// switching on a layer by its id
layerOn("4E38A868-DCB5-4E9C-AC75-231764229BFA")
// switching on a layer variant by its id
layerOn("4E38A868-DCB5-4E9C-AC75-231764229BFA/variants/5F18C566-F59F-45B4-8D40-27EF289D47B1")
// switching on a layer by its long API Endpoint URL
layerOn("/api/v1/documents/863743527/layers/4E38A868-DCB5-4E9C-AC75-231764229BFA")
// switching on a layer with a defined variable
setVariable($myLayerID, "4E38A868-DCB5-4E9C-AC75-231764229BFA")
layerOn($myLayerID)
레이어오프(<API 레이어 ID를 문자열 표현식으로 표시>)
이 명령을 사용하면 레이어 또는 레이어 변형을 끌 수 있습니다.
// switching off a layer by its id
layerOff("4E38A868-DCB5-4E9C-AC75-231764229BFA")
// switching off a layer variant by its id
layerOff("4E38A868-DCB5-4E9C-AC75-231764229BFA/variants/5F18C566-F59F-45B4-8D40-27EF289D47B1")
// switching off a layer by its long API Endpoint URL
layerOff("/api/v1/documents/863743527/layers/4E38A868-DCB5-4E9C-AC75-231764229BFA")
// switching off a layer with a defined variable
setVariable($myLayerID, "4E38A868-DCB5-4E9C-AC75-231764229BFA")
layerOff($myLayerID)
레이어셋리콜(<API 레이어 집합 ID를 문자열 표현식으로 설정>)
이 명령은 특정 리콜을 트리거하는 데 사용할 수 있습니다. 레이어 세트.
// recall a Layer Set by its id
layerSetRecall("E6950B7A-7457-44C5-81F7-972D9B04DBC3")
// recall a Layer Set by its long API Endpoint URL
layerSetRecall("/api/v1/documents/863743527/layer-sets/E6950B7A-7457-44C5-81F7-972D9B04DBC3")
// recall a Layer Set with a defined variable
setVariable($myLayerSetID, "E6950B7A-7457-44C5-81F7-972D9B04DBC3")
layerSetRecall($myLayerSetID)
출력온(<API 출력 대상 ID를 문자열 표현식으로>)
이 명령을 사용하여 출력 대상을 켭니다.
// 출력 대상의 ID로 출력 대상 시작
outputOn("1953186E-4176-4849-A8ED-5B47EE1627BD")
// 긴 API 엔드포인트 URL로 출력 대상을 시작합니다.
outputOn("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")
// 정의된 변수로 출력 대상을 시작합니다.
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
출력 켜기($myOutputDestinationtID)
출력오프(<API 출력 대상 ID를 문자열 표현식으로>)
이 명령을 사용하여 출력 대상을 끕니다.
// 출력 대상의 ID로 출력 대상 중지
outputOff("1953186E-4176-4849-A8ED-5B47EE1627BD")
// 긴 API 엔드포인트 URL로 출력 대상을 중지합니다.
outputOn("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")
// 정의된 변수가 있는 출력 대상을 중지합니다.
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
출력오프($myOutputDestinationtID)
getLayerData($resultVariableName, , )
이 명령은 여러 명령을 하나의 스크립트 단계로 결합합니다: HTTP 서버에서 레이어 정보를 읽고 JSON 응답의 특정 데이터 필드를 변수에 저장합니다. 읽으려는 값의 정확한 경로가 필요합니다. 레이어의 입력 매개변수의 경우 이 경로는 일반적으로 "data.attributes.input-values"로 시작합니다.
// set up useful variables
setVariable($myScoreboardLayerID, "36FA76B4-11FE-4879-8DE1-307222512712")
setVariable($pathToHomeScore, "data.attributes.input-values.tvGroup_Control__Score_Home")
// read the score for the home team from the Basketball layer
getLayerData($currentHomeScore, $myScoreboardLayerID, $pathToHomeScore)
// The variable $currentHomeScore now contains the Home Score input value of the Basketball Score layer
getObjectIDByName($resultVariableName, , )
이 명령은 표시 이름으로 특정 mimoLive 객체에 대한 API 엔드포인트를 가져옵니다. 표시 이름은 mimoLive 사용자 인터페이스에서 mimoLive 운영자가 쉽게 변경할 수 있으며, 특정 개체를 더 이상 찾을 수 없는 경우 자동화 스크립트가 중단될 수 있다는 점에 유의하세요. 반면에 이 명령은 스크립트에서 API 엔드포인트를 하드코딩할 필요 없이 프로그래밍 방식으로 API 엔드포인트를 찾는 데 사용할 수 있습니다.
에 유효한 옵션은 다음과 같습니다: "소스", "레이어", "레이어-셋", "출력-대상"
// Get the API Endpoint for the Basketball Score layer
getObjectIDByName($myBasketballScoreLayerID, "layer", "My Basketball Score Keeper")
// switch this layer on
layerOn($myBasketballScoreLayerID)
sleep(<초> 숫자로)
sleep() 명령은 초 단위로 표시된 지정된 시간 간격 동안 스크립트 실행을 일시 중지합니다.
// pause the script execution for 12 seconds
sleep(12)
// pause the script execution for 35.6 seconds
sleep(35.6)
// pause the script execution for a time interval specified by a variable
setVariable($mySleepInterval, 17)
sleep($mySleepInterval)
sleepUntil(<문자열 표현식으로 시간>)
sleepUntil() 명령을 사용하면 지정된 시간에 도달할 때까지 스크립트를 일시 중지할 수 있습니다. 시간이 이미 지난 경우 스크립트는 다음 날까지 대기합니다. 시간 형식은 24시간 단위로 HH:MM 또는 HH:MM:SS입니다.
// sleep until 5:15pm
sleepUntil("17:15:00")
// sleep until 9:12am
sleepUntil("9:12")
// sleep until a time specified by a variable
setVariable($myWakeUpTime, "9:41")
sleepUntil($myWakeUpTime)
sleepOnTheMinute()
이 스크립트 명령은 다음 '분 단위' 분수에 도달할 때까지 스크립트를 일시 중지합니다.
// go on every 20 minutes: on the hour, 20 and 40 minutes past the hour:
sleepOnTheMinute(20)
// go on "on the hour"
sleepOnTheMinute(60)
// go on every 10 minutes past the hour (specified by a variable)
setVariable($myWakeUpMinute, 10)
sleepOnTheMinute($myWakeUpMinute)
setVariable($변수이름, <값>)
로컬 변수를 정의하려면 setVariable
명령을 사용합니다. 변수 이름을 지정해야 합니다( $
)와 이 변수가 보유해야 하는 값입니다. 값은 숫자, 텍스트(따옴표로 묶음) 또는 부울 값일 수 있습니다. true
그리고 false
.
setVariable($myText, "This is a text")
setVariable($myNumber, 15.73)
setVariable($myBoolValue, false)
setGlobal($변수이름, <값>)
전역 변수는 현재 레이어와 그 위에 있는 모든 자동화 레이어에서 모두 사용할 수 있습니다. 이 기능은 특정 계층의 API 엔드포인트와 같이 여러 자동화 계층에서 동일한 정보를 공유할 때 특히 유용합니다. 변수 값에 대해서는 다음과 같은 규칙이 적용됩니다. setVariable
명령을 사용합니다.
전역 변수는 원래 레이어가 라이브 상태인 한 다른 자동화 레이어에서 액세스할 수 있다는 점에 유의하세요. 이 배열을 사용하면 전역 변수 정의가 다른 다른 레이어를 활성화하여 전역 변수를 전환할 수 있습니다. 이 시나리오의 모범 사례는 자동화 레이어의 '스위치 레이어 끄기' 옵션을 '수동'으로 설정하고 'On Live' 스크립트에서 전역 변수를 정의하는 것입니다.
setGlobal($myGlobalText, "This is a text")
setGlobal($myGlobalNumber, 15.73)
setGlobal($myGlobalBoolValue, false)
concat($resultVariableName, )
이 스크립트 명령은 문자열을 서로 연결하고 결과를 문자열로 저장합니다.
// define some variables
setVariable($myVariableA, "This is")
setVariable($myVariableB, "text.")
// concatenate those variables and store the result into a new one
concat($myResultVariable, $myVariableA + " a " + $myVariableB)
// The variable $myResultVariable contains "This is a text.".
math($resultVariableName, )
이 명령은 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 등 간단한 수학 계산을 수행합니다. 계산은 표시되는 순서대로 수행되며 PEMDAS/BODMAS 규칙을 따르지 않는다는 점에 유의하세요.
// define some variables
setVariable($myVariableA, 3)
setVariable($myVariableB, 5)
// perform the calculation
math($myResult, $myVariableA + 2 * $myVariableB)
// The result in $myResult is 25 (!) and not 13
if(, , ) [else] endif
이 만약
문은 지정된 비교기를 사용하여 두 개의 숫자 표현식을 비교합니다. 비교가 참이면 다음 명령이 실행됩니다. 그렇지 않으면 다음 명령은 건너뛰고 else
또는 endif
에 도달했습니다.
유효한 비교기는 다음과 같습니다:
“==” | 같음 |
“!=” | 같지 않음 |
">" | 보다 큰 |
"<" | 미만 |
">=" | 보다 크거나 같은 |
"<=" | 보다 적거나 |
// define a variable
setVariable($myVariable, 3)
// test if the variable is bigger than 10
if($myVariable, ">", 10)
setVariable($text, "is bigger than 10")
else
setVariable($text, "is less or equal 10")
endif
// The result in $text is "is less or equal 10"
ifString(, , ) [else] endif
이 ifString
문은 지정된 비교기를 사용하여 두 문자열 표현식을 비교합니다. 비교는 문자열에 있는 각 문자의 ASCII 문자 코드를 기반으로 합니다. 비교가 참이면 다음 명령이 실행됩니다. 그렇지 않으면 후속 명령이 건너뛰고 다음 명령은 else
또는 endif
에 도달했습니다.
유효한 비교기는 if-명령을 참조하세요.
// define a variable
setVariable($myVariable, "mimoLive")
// test if the variable is "mimoLive"
if($myVariable, "==", "mimoLive")
setVariable($text, "yes")
else
setVariable($text, "no")
endif
// The result in $text is "yes"
ifLayerIsOn(<API 레이어 ID를 문자열 표현식으로 표시>) - ifLayerIsOff(<API 레이어 ID를 문자열 표현식으로 표시>) [else] endif
이러한 만약
문은 특정 레이어가 현재 라이브 상태인지 여부를 테스트합니다. 지정된 조건이 충족되면(레이어가 켜져 있거나 꺼져 있으면) 다음 명령이 처리됩니다. 그렇지 않으면 다음 명령이 건너뛰어집니다. else
또는 endif
에 도달했습니다.
setVariable($myLayerA, "D6A326CA-72E6-45E5-836D-9795F8F534F4")
setVariable($myLayerB, "8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")
ifLayerIsOn($myLayerA)
// the layer is live, switch it off
layerOff($myLayerA)
else
// the layer is currently off, switch it on
layerOn($myLayerA)
endif
ifLayerIsOff($myLayerB)
// the layer is currently off, switch it on
layerOn($myLayerB)
endif
ifLayerSetIsActive(<API 레이어 ID를 문자열 표현식으로 표시>) - ifLayerSetIsInactive(<API 레이어 ID를 문자열 표현식으로 표시>) [else] endif
이러한 만약
문은 특정 레이어 세트 가 현재 라이브 상태인지 여부를 확인합니다. 그렇다면 다음 명령이 처리됩니다. 그렇지 않으면 다음 명령이 건너뛰어집니다. else
또는 endif
에 도달했습니다.
setVariable($myLayerSetA, "CEF07AFA-B552-40F8-821C-CF424EB93500")
setVariable($myLayerSetB, "E4B15B8B-EE34-4CCE-BDE7-58120A65E83A")
setVariable($myLayer, "8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")
ifLayerSetIsActive($myLayerSetA)
// the layer set A is active, switch layer on
layerOn($myLayer)
else
// the layer set A is currently inactive, switch the layer off
layerOff($myLayer)
endif
ifLayerSetIsInactive($myLayerSetB)
// the layer set B is currently inactive, switch the layer off
layerOn($myLayer)
endif
ifLayerData(, , , ) [else] endif
이 복잡한 명령을 사용하면 레이어의 모든 파라미터를 테스트할 수 있습니다. HTTP API 가 제공합니다. 레이어를 지정하려면 API ID, HTTP API에서 반환한 JSON 데이터 내의 키 경로, 비교기(따옴표 안에 문자열로, 예: "=="
)와 값을 입력합니다.
유효한 비교기 값은 다음과 같습니다:
“==” | 같음 |
“!=” | 같지 않음 |
">" | 보다 큰 |
"<" | 미만 |
">=" | 보다 크거나 같은 |
"<=" | 보다 적거나 |
// Example: Testing if the audio volume is turned up on a layer
setVariable($myLayerA, "D6A326CA-72E6-45E5-836D-9795F8F534F4")
setVariable($myLayerB, "8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")
ifLayerData($myLayerA,"data.attributes.volume",">",0.5)
// The audio volume is bigger than 0.5 so turn layer B on
layerOn($myLayerB)
else
// The volume is lower than 0.5, lets turn layer B off
layerOff($myLayerB)
endif
loop([]) [break] endloop
그리고 loop
명령을 사용하면 코드를 여러 번 실행할 수 있습니다. 반복 횟수를 지정하지 않으면 루프가 무기한 실행됩니다. 반복 횟수를 지정하지 않으면 break
명령을 사용하면 언제든지 루프를 종료할 수 있습니다. 엔드 루프
는 반복해야 하는 명령 블록의 끝을 표시하는 데 필요합니다.
setVariable($myLayerA, "D6A326CA-72E6-45E5-836D-9795F8F534F4")
// blink layer A 4 times
loop(4)
layerOn(setVariable(myLayerA)
sleep(1)
layerOff(setVariable(myLayerA)
sleep(1)
endloop
// wait for volume of layer A will be bigger than 0.5
loop()
ifLayerData($myLayerA,"data.attributes.volume",">",0.5)
// The audio volume is bigger than 0.5 exit the loop now
break
endif
sleep(1)
endloop
httpRequest()
그리고 httpRequest()
명령은 지정된 URL을 트리거합니다. 이 스크립트 명령을 사용하면 매우 유연하게 사용할 수 있습니다. In 미모라이브
를 사용하여 다른 문서나 원격 스크립트에서 작업을 트리거할 수도 있습니다. 자세한 내용은 미모라이브
HTTP API 명령에 대한 자세한 내용은 HTTP API 문서를 참조하여 가능한 모든 API 호출을 살펴보세요.
// 레이어 켜기
httpRequest("http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/setLive")
httpRequestJSON($resultVariableName, )
이 명령은 HTTP 호출의 응답을 JSON으로 읽고 지정된 결과 변수에 데이터를 저장합니다. 그 후 데이터에 액세스할 수 있습니다. getJSONData()
명령을 사용합니다.
getJSONData($resultVariableName, $jsonDataVariable, )
이 명령은 변수에 저장된 JSON 구조에서 특정 데이터 값을 검색합니다. JSON 데이터가 포함된 변수를 지정해야 합니다($jsonDataVariable
), JSON 구조 내의 데이터 경로(), 결과를 저장할 변수(
$resultVariableName
). 이를 통해 추가 처리 또는 스크립트에서 사용하기 위해 데이터를 정확하게 추출할 수 있습니다.
// 레이어의 모든 데이터 가져오기
httpRequestJSON($myLayerData, "http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B")
// 볼륨 다이얼의 값 가져오기
getJSONData($볼륨다이얼, $마이레이어데이터, "data.attributes.volume")// 이제 $volumenDial 변수는 0과 1 사이의 값을 보유하게 됩니다.
> 디버거 중단점
스크립트 디버거가 활성화되고 디버깅 모드가 '연속'으로 설정되어 있으면 이 마커에서 스크립트 실행이 일시 중지되고 mimoLive 운영자가 '다음 단계' 버튼을 클릭할 때까지 기다립니다. 디버깅 가능성에 대한 자세한 내용은 '모범 사례 - 스크립트 디버깅'을 참조하세요.
데이터 유형
API 엔드포인트
매개변수는 레이어, 레이어 변형, 레이어 세트, 소스 또는 출력 대상에 대한 API 엔드포인트여야 합니다. 이러한 API 엔드포인트는 mimoLive 문서에서 오브젝트를 마우스 오른쪽 버튼으로 클릭하면 얻을 수 있습니다. '클립보드에 API 엔드포인트 복사' 메뉴 항목이 있는 컨텍스트 메뉴가 나타납니다.
이 작업을 수행하면 이 개체에 대한 API 엔드포인트가 클립보드에 복사됩니다. 다른 곳에 붙여넣으면 다음과 같은 모양이 됩니다:
/api/v1/documents/863743527/layers/D6A326CA-72E6-45E5-836D-9795F8F534F4
/api/v1/documents/863743527/layers/68F63C8F-2376-4CA3-9764-CC17CBFC5F8D/variants/3FF72CC3-AF80-4252-A879-F8AFD68DB922
/api/v1/documents/863743527/layer-sets/E6950B7A-7457-44C5-81F7-972D9B04DBC3
레이어 관련 명령의 경우 API 접두사 "/api/v1/documents//레이어/"를 제거하여 중요한 부분만 엔드포인트를 지정합니다. 이렇게 하면 아래와 같이 스크립트가 짧아집니다:
// switching on a layer:
layerOn("/api/v1/documents/863743527/layers/D6A326CA-72E6-45E5-836D-9795F8F534F4")
// OR
layerOn("D6A326CA-72E6-45E5-836D-9795F8F534F4")
// switching on a variant:
layerOn("/api/v1/documents/863743527/layers/68F63C8F-2376-4CA3-9764-CC17CBFC5F8D/variants/3FF72CC3-AF80-4252-A879-F8AFD68DB922")
// OR
layerOn("68F63C8F-2376-4CA3-9764-CC17CBFC5F8D/variants/3FF72CC3-AF80-4252-A879-F8AFD68DB922")
모범 사례
API 엔드포인트
API 엔드포인트를 얻는 방법
- 레이어를 마우스 오른쪽 버튼으로 클릭하고 "API 엔드포인트 복사"를 선택합니다.
- 명령(문서 참조)을 사용하여 얻을 수 있습니다.
API 엔드포인트 주소 지정
전체 API 엔드포인트를 사용하거나 "/api/v1/documents//" 부분을 제거하여 스크립트를 다른 문서로 복사할 때도 작동하도록 할 수 있습니다. 그러나 다른 mimoLive 문서에서 API 지점을 지정하려면 문서 ID가 중요합니다.
스크립트 디버깅
자동화 레이어에는 스크립트 디버거가 내장되어 있습니다. 레이어 매개변수 "Debug"를 켜짐으로 설정하여 레이어를 디버깅 모드로 전환할 수 있습니다.
미정.
스크립팅 아이디어
10분마다 광고 실행
"PIP 창' 레이어에 여러 개의 짧은 광고 동영상 클립이 포함된 '미디어 재생목록 소스'를 추가하면 10분마다 하나의 광고를 재생할 수 있습니다. 미디어 재생 목록 소스에서 '논스톱' 옵션을 선택 해제해야 합니다. 이렇게 하면 매번 PIP 창이 라이브로 설정되면 재생 목록 소스에서 광고 하나가 재생되고 자동으로 꺼집니다. 10분이 지나면 다음 광고가 재생됩니다.
특정 레이어로 전환하기 전에 스팅어를 실행하세요.
모든 화면을 덮을 때까지(예: 1초 후) 인트랜지션이 있는 짧은 스팅거 동영상을 준비해야 합니다. 1초 후에 공개하려는 레이어를 라이브로 전환합니다. 이 레이어를 스팅거 동영상을 재생하는 레이어 아래에 배치합니다. 이제 스팅거 동영상이 화면을 덮고 있으므로 아래 레이어의 전환을 볼 수 없습니다. 스팅거 동영상은 아래 레이어를 표시하면서 계속 재생되어야 합니다. 스팅거 비디오가 전환에 필요한 투명도를 전달할 수 있도록 ProRes4444 비디오 코덱으로 렌더링되었는지 확인하세요.
복잡한 쇼 오프너 만들기
레이어를 차례로 켜고 끌 수 있기 때문에 여러 개의 텍스트 또는 주석 레이어, 그래픽을 보여주는 플레이스 레이어 또는 화면을 가득 채우는 하단 1/3 레이어를 사용하여 나만의 애니메이션 쇼 오프너를 만들 수 있습니다. 창의력을 발휘하세요!
리모트 트리거 HTTP URL 리모컨 표면을 탭하여
트리거해야 하는 경우 HTTP 버튼으로 요청하기 원격 제어 표면 레이어 스택에 자동화 레이어를 추가하고 해당 레이어의 "레이어 끄기" 옵션을 "자동으로"로 설정할 수 있습니다. 이제 "On Live" 스크립트 필드에 단일 httpRequest() 명령을 입력할 수 있습니다. 리모콘 표면에서 이 레이어의 라이브 버튼을 레이아웃에 추가합니다. 리모컨 표면에서 이 버튼을 누르면 리모컨 표면의 HTTP 요청이 수행됩니다.