아스키 애니메이션 작업대
ASCII Animation Workbench
영상·GIF·프레임 편집·움직이는 글자·자동 생성 효과로 문자 격자 애니메이션을 만들고, 텍스트 프레임·ANSI·asciicast v2·움직이는 GIF·단일 파일 HTML 재생기로 내보냅니다.
이것은 변환기가 아니라 작업대입니다. 문서는 프레임마다 간격이 붙은 문자 격자의 나열이고, 채우는 방법이 넷 있습니다. 영상이나 GIF를 넣거나, 앞 프레임을 비쳐 보면서 직접 그리거나, 배너를 움직이거나, 자동 생성 효과를 쓰는 것입니다. 내보내는 방법도 넷인데 진짜 움직이는 GIF와, 네트워크 없이 혼자 재생되는 HTML 파일 하나가 거기 들어갑니다.
앤디 슬론의 donut.c(2006). z-버퍼를 둔 원환면을 표면 법선과 고정 광원의 내적으로 음영 처리합니다.
같은 씨앗값이면 언제나 같은 프레임이 나오므로, 결과를 그대로 재현하고 다시 내보낼 수 있습니다.
1개 중 1번째 프레임
프레임 1개, 0.1초, 메모리 약 7.5kB
내보내기
사용 방법
파일 크기가 아니라 프레임 여유를 보십시오
여기서 드는 비용은 전부 프레임 수 곱하기 격자 칸 수이고, 지금 고른 폭에서 몇 프레임이 들어가는지 화면에 적혀 있습니다. 출력 폭을 80자에서 160자로 넓히면 담을 수 있는 프레임이 사분의 일로 줍니다. 제한을 두는 이유는, 두지 않으면 휴대폰 탭이 아무 메시지 없이 종료되기 때문입니다.
내보내기 전에 간격을 정하십시오
프레임마다 자기 간격을 들고 있고 모든 내보내기가 그것을 읽습니다. 그래서 미리보기에서 본 속도가 GIF와 asciicast의 속도입니다. 일정한 속도를 원하면 한 프레임을 정하고 "모든 프레임에 적용"을 누르고, 어떤 장면에 머물고 싶으면 그 프레임만 길게 두십시오.
갈 곳에 따라 내보내기를 고르십시오
asciinema에 올리거나 터미널에서 재생할 사람에게는 asciicast v2입니다. 채팅창이나 리드미에는 GIF입니다. 어딘가에 끼워 넣을 것이라면 HTML 재생기인데, 프레임까지 안에 들어 있는 파일 하나이고 CDN을 쓰지 않습니다. 다른 프로그램이 읽을 것이라면 텍스트 프레임입니다.
자주 묻는 질문
asciicast v2가 무엇이고 왜 GIF만으로는 안 되나요?
asciinema가 터미널을 기록하는 형식입니다. JSON 줄 형식이고, 헤더 객체 한 줄 다음에 프레임마다 [시각, "o", 데이터] 배열이 옵니다. 끝까지 텍스트로 남기 때문에 GIF가 몇 메가바이트일 때 몇 킬로바이트이고, 보는 사람이 화면의 글자를 선택해 복사할 수 있습니다. 공개된 명세를 보고 구현했습니다. 터미널 기록을 재생하지 못하는 곳, 그러니까 대부분의 곳에서는 GIF가 맞는 답입니다.
자동 생성 효과는 직접 만든 것인가요?
코드는 직접 썼고 기법은 더 오래된 것이라 페이지에 출처를 적어 두었습니다. 회전하는 도넛은 앤디 슬론의 donut.c 방식입니다. 가까운 면이 이기도록 z-버퍼를 두고, 표면 법선과 고정 광원의 내적으로 밝기 단계를 고릅니다. 불은 파비앵 상글라르가 정리한 데모신 효과입니다. 플라스마와 비, 사인 스크롤러는 특정 저자가 없는 전래의 효과이고 그렇게 적었습니다. 모든 효과는 프레임 번호와 씨앗값만의 순수 함수라 같은 씨앗값이면 언제나 같은 애니메이션이 나옵니다.
오래 걸리는 변환을 멈출 수 있나요?
있고, 실제로 멈춥니다. 변환은 프레임 사이마다 확인하는 워커에서 돌기 때문에, 취소하면 결과를 숨기는 것이 아니라 작업 자체가 끝납니다. 휴대폰에서는 이 차이가 팬이 1분 더 도느냐 마느냐입니다.
이 도구로 이어지는 것
랜덤 뽑기
Random Picker
붙여넣은 목록에서 하나 또는 여럿을 뽑으며 가중치와 돌림판 연출을 지원합니다.
빙고 카드 생성
Bingo Card Generator
단어 목록이나 숫자 범위로 카드마다 다르게 섞인 인쇄용 빙고판을 만듭니다.
티어표 만들기
Tier List Maker
이미지나 이름표를 S~F 줄에 끌어 놓아 티어표를 만들고 이미지로 내보냅니다.
아스키 아트 글자
ASCII Text Art
진짜 FIGfont 렌더러로 텍스트를 큰 아스키 글자로 그립니다. 내장 서체 두 벌과 직접 불러오는 .flf 자리가 있습니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
이미지 아스키 변환
Image to ASCII
사진을 지정한 폭과 문자 집합으로 아스키 또는 색이 있는 ANSI 문자 그림으로 바꿉니다.
점자 아트
Braille Art
사진을 유니코드 점자 칸으로 바꿉니다. 글자 하나에 2×4개의 점이 들어가 밝기 단계보다 해상도가 여덟 배이고, 디더링 방식을 고를 수 있습니다.
텍스트 아트를 이미지로
Text Art to Image
고정폭 텍스트 아트를 글꼴·칸 크기·색·배경·투명 여부를 정해 PNG나 SVG로 그립니다. 고정폭이 유지되지 않는 곳에 올려도 모양이 살아남습니다.
동영상 GIF 변환
Video to GIF
영상 구간을 프레임률·크기·팔레트를 정해 움직이는 GIF나 WebP로 만듭니다.
오늘의 운세 — 띠·별자리
Daily Fortune by Zodiac Animal & Star Sign
그날의 일진과 띠·별자리의 전통적 성정을 맞춰 하루치 글을 조합합니다. 날짜로 씨앗을 고정하므로 새로고침해도 같은 글이 나오고, 자정이 지나야 바뀝니다.
궁합 — 띠·일주 궁합
Zodiac Compatibility (궁합)
두 사람의 생년월일에서 띠와 일간을 뽑아 삼합·육합·충·원진·형·파·해 가운데 어느 관계인지, 두 일간의 오행이 상생인지 상극인지를 보여 주고 각각에 전통적인 풀이를 붙입니다.