Categories
Blender

Extrude 반복 작업

Extrude 반복 작업

Categories
Blender

단축키 모음_01

FILL 방법

01_단순 채우기 (면 또는 점 연결) ( 단축키 F )
02_적당히 가이드 자동설정해서 면 생성 ( 우클릭 + d )
03_연산을 알 수 없는 방식 ( 사용 안함) ( ALT + F )


01_New Face Edges ( 단축키 F )

02_Bridge Edge Loops ( 우클릭 + d )

03_Fill ( ALT + F )

Categories
AE

[익스프레션] 타이핑 자막

함수형 프로그래밍으로 구현한 타이핑 자막입니다.

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]]