SVG로 그린 동그라미가 한 바퀴 그려지는 대신 첫 프레임부터 완성된 채 나오면 non-scaling-stroke가 켜져 있는지 본다. 이 옵션이 켜지면 dash가 화면 픽셀 단위로 계산돼서, 경로 길이를 1로 맞춰 둔 pathLength=1이 먹지 않는다. 좌표를 처음부터 픽셀 크기로 늘려 그렸더니 풀렸다.
회사를 그만두고 AI로 회사를 세우는 중이다. 판결 이야기와 시트콤 장면을 해설하는 쇼츠를 사람 손 없이 찍어내는 파이프라인을 굴리고 있고, 거기에 단어 강조 효과를 붙이다가 이 동그라미에서 걸렸다.
쇼츠 강조 효과는 단어 하나에만 넣는다
쇼츠 강조 효과는 화면 전체가 아니라 단어 하나에, 그 단어를 말하는 순간에만 넣기로 정했다. 처음에 AI에게 쇼츠에 넣을 만한 효과를 물었고, 짧게 만든 시험 영상을 텔레그램으로 받아 봤다. 화면 전체가 줌되고 흔들리고 쿵 하고 밀리는 효과였다. “뭔가 저럴 필요가 없는곳에 들어간거 같은데”라며 돌려보냈고, 쿵 하고 미는 것도 별로라고 한 번 더 돌려보냈다.
남은 건 셋이다. 형광펜은 핵심 단어 밑을 칠하는 기본값이다. 동그라미는 결정타 한 단어에, 한 편에 한 번만 쓴다. 스포트라이트는 화면이 복잡할 때 한 곳을 밝히는 용도로 역시 한 편에 한 번이다. 셋을 섞어 적재적소에 쓰고, 효과가 필요 없는 편은 fx:"none"으로 끈다.
동그라미가 다 그려진 채 나왔다
강조 동그라미는 단어 둘레를 펜으로 한 바퀴 두르듯 그려져야 하는데, 시험 영상에서는 첫 프레임부터 완성된 원이 떠 있었다. 형광펜과 같은 공용 모듈에서 나오는 효과라 그 모듈을 쓰는 채널 전부에 같은 모양으로 퍼질 자리였다.
선 그리기 애니메이션은 경로 전체 길이를 pathLength=1로 정해 두고, 길이 1짜리 dash를 밀어서 선이 조금씩 드러나게 만든다. 동그라미에는 확대·축소해도 선 굵기가 화면에서 똑같이 보이게 하는 non-scaling-stroke를 같이 걸어 두었는데, 이 옵션이 켜지면 dash 길이를 화면 픽셀로 센다. 그러면 “경로 전체가 1”이라는 약속이 깨지고, 애니메이션 값이 다 들어가 있어도 원은 처음부터 다 보인다.
좌표를 픽셀로 늘려 그렸다
동그라미 좌표를 실제 픽셀 크기로 늘려서 다시 그렸다. 좌표가 화면 픽셀과 같은 단위면 non-scaling-stroke가 dash를 픽셀로 세도 길이가 어긋나지 않는다. 선 그리기 애니메이션에 non-scaling-stroke를 같이 걸었다면, pathLength=1에 기대지 말고 좌표를 렌더할 화면 크기로 그려 보세요.
이 효과는 판결썰, 한입썰, 릴스, 영어 롱폼 네 갈래 렌더러가 같은 모듈을 부른다. 원고를 쓰는 AI 에이전트 다섯의 지침에도 어느 단어에 어떤 효과를 걸지 적는 칸을 넣었다. 대본에 무엇을 먼저 넘기는지는 AI에게 릴스 대본 시킬 때 원자료부터 준 글에 있고, 렌더 쪽 다른 함정은 쇼츠 자막 두 줄이 한 프레임에 겹칠 때에 있다.
아직 안 된 것도 있다. 시험 렌더 3편은 텔레그램으로 보냈지만 실제 발행 편에는 들어가지 않았다. 릴스 한 장면에서 “잘렸고요”가 끝까지 안 뜨는 버그도 따로 찾았는데, fx:"none"으로 꺼도 같아서 강조 효과와는 무관하고 아직 안 고쳤다. 다음 무인 편부터 에이전트가 fx 칸을 채우니, 첫 편이 나오면 장면 시트에서 동그라미가 한 바퀴 그려지는지 본다.