Extrude 반복 작업

Extrude 반복 작업
FILL 방법
01_단순 채우기 (면 또는 점 연결) ( 단축키 F )
02_적당히 가이드 자동설정해서 면 생성 ( 우클릭 + d )
03_연산을 알 수 없는 방식 ( 사용 안함) ( ALT + F )
01_New Face Edges ( 단축키 F )
02_Bridge Edge Loops ( 우클릭 + d )
03_Fill ( ALT + F )
함수형 프로그래밍으로 구현한 타이핑 자막입니다.
let cCho = ["ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅉ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"],
cJung = ["ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ", "ㅗ", "ㅘ", "ㅙ", "ㅚ", "ㅛ", "ㅜ", "ㅝ", "ㅞ", "ㅟ", "ㅠ", "ㅡ", "ㅢ", "ㅣ"],
cJong = ["", "ㄱ", "ㄲ", "ㄳ", "ㄴ", "ㄵ", "ㄶ", "ㄷ", "ㄹ", "ㄺ", "ㄻ", "ㄼ", "ㄽ", "ㄾ", "ㄿ", "ㅀ", "ㅁ", "ㅂ", "ㅄ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"]
let toStringFromCharCode = (cho, jung, jong) =>
String.fromCharCode(44032 + cho * 588 + jung * 28 + (jong || 0));
let seperateChar = (char) => {
let cCode = char.charCodeAt() - 0xac00;
let jong = cCode % 28;
let jung = ((cCode - jong) / 28) % 21;
let cho = ((cCode - jong) / 28 - jung) / 21;
return []
.concat(cCho[cho])
.concat(toStringFromCharCode(cho, jung))
.concat(cJong[jong] !== "" ? toStringFromCharCode(cho, jung, jong) : []);
};
let toKorChars = (char) => {
let cCode = char.charCodeAt();
return [].concat(
(!cCode && []) ||
(cCode === 32 && " ") ||
((cCode < 0xac00 || cCode > 0xd7a3) && char) ||
seperateChar(char)
);
};
let typing = (str) =>
str
.split("")
.map((char) => toKorChars(char))
.reduce(
(pre, cur) =>
pre.concat(
cur.map((v) => (pre.length !== 0 ? pre[pre.length - 1] : "") + v)
),
[""]
);
let p = thisComp.layer("TIME").effect("Slider Control")("Slider");
let strList = typing(thisComp.layer("TEST").text.sourceText);
let strListIndex = Math.round(time*p)
thisLayer.text.sourceText=[strList[strList.length > strListIndex ? strListIndex : strList.length-1]]