O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018

1.056 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja o primeiro a comentar

문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018

  1. 1. 데브캣스튜디오, 프로젝트DH 팀 문석진(msg88@nexon.co.kr) 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ
  2. 2. 발표자 소개 □ 프로젝트 경험 ■ 마비노기 듀얼 ■ 프로젝트 DH □ 관심분야 ■ 컴퓨터 그래픽스, 물리기반 모델링 & 시뮬레이션
  3. 3. 목차 □ 프로젝트 DH □ 절차적 애니메이션 1. 절차적 애니메이션이란? 2. 실버바인(Silvervine) 모션 엔진 □ 새로운 기능들 1. 지면의 경사 적용 2. 물리적 반응 모션 3. 애니메이션 전환 □ Q&A
  4. 4. 프로젝트 DH
  5. 5. 1. 절차적 애니메이션이란? 2. 실버바인(Silvervine) 모션 엔진 절차적 애니메이션
  6. 6. 일반적 의미 □ 논리적으로 실시간 생성되는 애니메이션 ■ Ex) IK, Dynamics ■ 파티클, 의상, 헤어, 캐릭터 애니메이션 분야
  7. 7. 개발 과정 □ 입력에 대한 결과를 정의
  8. 8. 개발 과정 □ 입력에 대한 결과를 정의 ■ 입력: 첫 번째 톱니의 회전각 ■ 결과: n 번째 톱니의 회전각
  9. 9. 개발 과정 □ 입력에 대한 결과를 정의 ■ 입력: 첫 번째 톱니의 회전각 ■ 결과: n 번째 톱니의 회전각 □ 규칙과 순서를 정의
  10. 10. 개발 과정 □ 입력에 대한 결과를 정의 ■ 입력: 첫 번째 톱니의 회전각 ■ 결과: n 번째 톱니의 회전각 □ 규칙과 순서를 정의 ■ k 번째 톱니의 회전각 ▪ k-1 번째 톱니의 회전각, 반지름 ■ 1부터 n번째 톱니까지 순차적 계산
  11. 11. 개발 과정 □ 플래닝 □ 구현 □ 튜닝
  12. 12. 개발 과정 플래닝 구현 튜닝
  13. 13. 특징 및 장점 □ 입력에 따른 다양한 결과 생성 □ 모션의 추가/삭제, 수정 용이 □ 자연스럽고 다양한 상호 작용 □ 애니메이션 제작 비용 절약 ■ 비슷한 종류의 애니메이션 최소화 ▪ Ex) 구조가 서로 다른 n 개의 캐릭터 걷는 애니메이션: n x [전진, 후진, 회전, 게걸음] x [평지, 오르막, 내리막]
  14. 14. 적용 사례 □ Spore ■ 유저가 정의하는 임의 형태의 캐릭터의 애니메이션 생성
  15. 15. 적용 사례 □ Last Guardian ■ 원본 애니메이션을 상황에 맞게 수정하는 방법으로 자연스러운 애니메이션 연출
  16. 16. 적용 사례 □ For Honor ■ 모션매칭: 방대한 모션 데이터베이스에서 상황에 적합한 애니메이션을 선택
  17. 17. 1. 절차적 애니메이션이란? 2. 실버바인(Silvervine) 모션 엔진 절차적 애니메이션
  18. 18. 실버바인 모션 엔진 □ 완전히 절차적인(fully-procedural) 애니메이션 시스템 개발 시도 ■ 오로지 코드로만 애니메이션을 생성 ■ 애니메이션 품질이 프로그래머 역량에 깊게 의존 ■ 생성된 모션이 불안정함
  19. 19. 실버바인 모션 엔진 □ 준 절차적(semi-procedural) 애니메이션 시스템 ■ Automated Semi-Procedural Animation for Character Locomotion 논문 기반 ■ 샘플 애니메이션 분석을 통한 로코모션의 실시간 생성 ■ 게걸음, 후진, 회전, 속도 변화 …
  20. 20. 작년 발표 리뷰 □ 로코모션을 중점적으로 개발 진행 ■ 게이머가 실제로 가장 많이 보게 될 부분 ■ 모션엔진의 필수 기능 ■ 개발 난이도 ↑
  21. 21. 작년 발표 리뷰 □ 모션 분석 데이터의 기본 요소 ■ 본(뼈대)
  22. 22. 작년 발표 리뷰 □ 모션 분석 데이터의 기본 요소 ■ 본(뼈대) ■ 스파인(척추)
  23. 23. 작년 발표 리뷰 □ 모션 분석 데이터의 기본 요소 ■ 본(뼈대) ■ 스파인(척추) ■ 림(팔다리)
  24. 24. 작년 발표 리뷰 □ NDC Replay ■ http://ndcreplay.nexon.com/NDC2017/sessions/NDC2017_0026.html
  25. 25. 새로운 기능들 1. 지면의 경사 적용 2. 물리적 반응 모션 3. 애니메이션 전환
  26. 26. 목적 □ 지면의 기울기에 맞는 애니메이션을 생성 ■ 언덕 ■ 바위, 자갈 ■ 계단
  27. 27. 필요성 □ 기존의 모션엔진은 경사가 없는 평지만을 가정 ■ 경사를 고려한 절차적 처리 없음 ■ 샘플 애니메이션은 모두 평지 전용
  28. 28. 필요성 □ 기존의 모션엔진은 경사가 없는 평지만을 가정 ■ 경사를 고려한 절차적 처리 없음 ■ 샘플 애니메이션은 모두 평지 전용 □ 4족 이상의 캐릭터 등장 ■ 인간과 같은 2족 구조에 비해 복잡함 ■ 특별하고 일반화된 방법 필요
  29. 29. 접근 방법 □ 4족 구조의 캐릭터
  30. 30. 접근 방법 □ 4족 구조의 캐릭터 ?
  31. 31. 접근 방법 □ 척추를 다리 기준으로 병합
  32. 32. 접근 방법 □ 척추를 다리 기준으로 병합
  33. 33. 용어 정의 □ 척추를 다리 기준으로 병합 핀 세그먼트
  34. 34. 용어 정의 □ 척추를 다리 기준으로 병합 루트 세그먼트 핀 세그먼트
  35. 35. 접근 방법 □ 4족 구조의 캐릭터 ?
  36. 36. 접근 방법 □ 4족 구조의 캐릭터
  37. 37. 접근 방법 □ 4족 구조의 캐릭터
  38. 38. 접근 방법 □ 4족 구조의 캐릭터
  39. 39. 접근 방법 □ 4족 구조의 캐릭터
  40. 40. 접근 방법 □ 4족 구조의 캐릭터
  41. 41. 접근 방법 □ 6족 이상의 캐릭터도?
  42. 42. 접근 방법 정리 □ 척추를 세그먼트 단위로 병합 □ 루트 세그먼트에 경사 적용 □ 다음 세그먼트에 경사 적용 ■ 양 끝에 핀이 존재하는 세그먼트만 해당 □ 마지막 세그먼트까지 반복
  43. 43. 세그먼트 경사 적용 방법 □ 경사 측정 □ 세그먼트 회전 □ 기준 높이를 적용 ■ Ex) 다리 길이 □ 반복
  44. 44. 세그먼트 경사 적용 방법 □ 경사 측정
  45. 45. 세그먼트 경사 적용 방법 □ 경사 측정
  46. 46. 세그먼트 경사 적용 방법 □ 경사 측정
  47. 47. 세그먼트 경사 적용 방법 □ 세그먼트 회전
  48. 48. 세그먼트 경사 적용 방법 □ 세그먼트 회전
  49. 49. 세그먼트 경사 적용 방법 □ 기준 높이 적용
  50. 50. 세그먼트 경사 적용 방법 □ 기준 높이 적용
  51. 51. 세그먼트 경사 적용 방법 □ 반복 ■ 탈출조건: 경사각의 차이가 이하𝜀
  52. 52. 세그먼트 경사 적용 방법 □ 세그먼트 수에 따른 척추의 모습
  53. 53. 서스펜션 □ 완충장치 ■ 요철이 심한 지형에서 급격한 포즈 변형을 완화
  54. 54. 서스펜션 □ 완충장치 ■ 요철이 심한 지형에서 급격한 포즈 변형을 완화 □ 선형, 각 스프링 설치 ■ Hooke의 법칙: F= − 𝑘(X − X0) − 𝑐V
  55. 55. 서스펜션 □ 완충장치 ■ 요철이 심한 지형에서 급격한 포즈 변형을 완화 □ 선형, 각 스프링 설치 ■ Hooke의 법칙: ■ 필요한 힘과 토크를 계산 F= − 𝑘(X − X0) − 𝑐V
  56. 56. 서스펜션 □ 서스펜션의 중요성 서스펜션 적용 서스펜션 미적용
  57. 57. 데모: 게임 내 적용 모습
  58. 58. 다양한 애니메이션의 경사 적용
  59. 59. 요약 □ 세그먼트 기반의 경사 적용 방법 ■ 경사 측정 ■ 세그먼트 회전 ■ 기준높이 적용 □ 서스펜션
  60. 60. 의의 □ 평지 전용 애니메이션 이용 □ 복잡한 지형에서의 애니메이션을 절차적으로 생성 □ 4족 이상의 캐릭터에 모두 사용가능
  61. 61. 향후 계획 □ 경사 적용의 정확도 향상 □ 급격한 경사 변화에 대한 반응 ■ 절벽 근방에서 어색한 포즈 ■ 계단 형태의 지형에서의 진동 □ 수직 이상의 기울기 지형 ■ 절벽의 벽면, 동굴 천장
  62. 62. 새로운 기능들 1. 지면의 경사 적용 2. 물리적 반응 모션 3. 애니메이션 전환
  63. 63. 목적 □ 물리 시뮬레이션을 통한 척추의 물리적 반응을 생성 ■ 관성에 따른 척추의 움직임 ■ 피격 반응 ■ 단, 원본 애니메이션을 최대한 존중
  64. 64. 필요성 □ 애니메이션이 자연스러워지길 기대함
  65. 65. 필요성 □ 애니메이션이 자연스러워지길 기대함 □ 휴리스틱한 방법보다 간단하고 효과적
  66. 66. 필요성 □ 애니메이션이 자연스러워지길 기대함 □ 휴리스틱한 방법보다 간단하고 효과적 □ 창발적인 애니메이션 생성 가능
  67. 67. 접근 방법 □ 운동학 기반의 모션엔진 ■ 매 프레임 애니메이션에 의해 포즈가 결정
  68. 68. 접근 방법 □ 운동학 기반의 모션엔진 ■ 매 프레임 애니메이션에 의해 포즈가 결정 □ 동역학 영역의 물리 시뮬레이션 ■ 운동의 원인(힘)이 필연적
  69. 69. 접근 방법 □ 운동학 기반의 모션엔진 ■ 매 프레임 애니메이션에 의해 포즈가 결정 □ 동역학 영역의 물리 시뮬레이션 ■ 운동의 원인(힘)이 필연적 □ 서로 상반된 성질 ■ 애니메이션을 유지하면서 척추를 물리적으로 시뮬레이션
  70. 70. 접근 방법 □ 운동학 기반의 모션엔진 ■ 매 프레임 애니메이션에 의해 포즈가 결정 □ 동역학 영역의 물리 시뮬레이션 ■ 운동의 원인(힘)이 필연적 □ 서로 상반된 성질 ■ 애니메이션을 유지하면서 척추를 물리적으로 시뮬레이션
  71. 71. 접근 방법 □ 동역학 기반의 모션엔진 ■ 척추의 물리적 시뮬레이션 ■ 애니메이션 포즈를 제약조건으로 사용
  72. 72. 접근 방법 □ 동역학 기반의 모션엔진 ■ 척추의 물리적 시뮬레이션 ■ 애니메이션 포즈를 제약조건으로 사용 □ 문제점 ■ 포즈가 의도한 대로 나오지 않을 가능성 존재 ■ 리팩토링 비용 ↑
  73. 73. 접근 방법 □ 독립적인 물리 시뮬레이션 ■ 척추에 해당하는 구조(체인)를 물리적으로 시뮬레이션 ■ 물리 시뮬레이션 결과를 척추에 적용 ■ 애니메이션 포즈를 유지하기 위한 복원력
  74. 74. 체인 물리 시뮬레이션 □ 체인의 구조 □ Sandbox 시뮬레이터 □ 안정성 향상 □ 월드 스페이스 시뮬레이션
  75. 75. 체인의 구조 □ 강체가 선형 및 각 제약조건으로 연결된 구조 체인 물리 시뮬레이션
  76. 76. 체인의 구조 □ 강체가 선형 및 각 제약조건으로 연결된 구조 □ 강체는 각각의 척추에 대응 체인 물리 시뮬레이션
  77. 77. 체인의 구조 □ 강체가 선형 및 각 제약조건으로 연결된 구조 □ 강체는 각각의 척추에 대응 □ 척추와 동일한 계층 구조를 적용 체인 물리 시뮬레이션
  78. 78. 체인의 구조 □ 강체가 선형 및 각 제약조건으로 연결된 구조 □ 강체는 각각의 척추에 대응 □ 척추와 동일한 계층 구조를 적용 □ 체인의 한쪽 끝은 척추의 회전 중심에 고정 체인 물리 시뮬레이션
  79. 79. 체인의 구조 □ 에디터 설정 및 프리뷰 씬 체인 물리 시뮬레이션
  80. 80. Sandbox 시뮬레이터 □ AnimDynamics에 사용된 컴팩트 물리 시뮬레이터 체인 물리 시뮬레이션
  81. 81. Sandbox 시뮬레이터 □ AnimDynamics에 사용된 컴팩트 물리 시뮬레이터 □ 모션엔진에서 쉽게 쓸 수 있게 커스터마이징 체인 물리 시뮬레이션
  82. 82. Sandbox 시뮬레이터 □ AnimDynamics에 사용된 컴팩트 물리 시뮬레이터 □ 모션엔진에서 쉽게 쓸 수 있게 커스터마이징 □ 문제점 ■ Constraint solver의 안정성이 다소 떨어짐 체인 물리 시뮬레이션
  83. 83. 안정성 향상 □ Sub stepping ■ Delta time을 n sub step으로 분할 ■ 성능과 안정성을 트레이드오프 ■ 단순히 iteration수를 높이는 것 보다 효과적 체인 물리 시뮬레이션
  84. 84. 월드 스페이스 시뮬레이션 □ 목적 ■ 월드 좌표계에서 시뮬레이션 되는 것처럼 속임 ■ 체인의 시뮬레이션 영역은 컴포넌트 좌표계 체인 물리 시뮬레이션
  85. 85. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 체인 물리 시뮬레이션
  86. 86. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 체인 물리 시뮬레이션
  87. 87. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 체인 물리 시뮬레이션 ∆p
  88. 88. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 □ 물리 시뮬레이션 체인 물리 시뮬레이션 ∆p
  89. 89. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 □ 물리 시뮬레이션 체인 물리 시뮬레이션
  90. 90. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 □ 물리 시뮬레이션 □ 체인 전체에 역 델타 트랜스폼 적용 체인 물리 시뮬레이션
  91. 91. 월드 스페이스 시뮬레이션 □ 체인을 고정하는 위치 제약조건에 델타 트랜스폼 적용 □ 물리 시뮬레이션 □ 체인 전체에 역 델타 트랜스폼 적용 체인 물리 시뮬레이션 ∆p−1
  92. 92. 시뮬레이션 결과 적용방법 □ 강체의 로컬 트랜스폼 변화량을 척추에 적용
  93. 93. 시뮬레이션 결과 적용방법 □ 강체의 로컬 트랜스폼 변화량을 척추에 적용 ■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변)
  94. 94. 시뮬레이션 결과 적용방법 □ 강체의 로컬 트랜스폼 변화량을 척추에 적용 ■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변) ■ 초기 로컬 트랜스폼: ■ 변형 후 로컬 트랜스폼: R 𝑡 = C 𝑡P𝑡 −1 R0 = C0P0 −1
  95. 95. 시뮬레이션 결과 적용방법 □ 강체의 로컬 트랜스폼 변화량을 척추에 적용 ■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변) ■ 초기 로컬 트랜스폼: ■ 변형 후 로컬 트랜스폼: ■ 로컬 트랜스폼 변화량: ∆R = R0 −1 R 𝑡 R 𝑡 = C 𝑡P𝑡 −1 R0 = C0P0 −1
  96. 96. ∆R = P0C0 −1 C 𝑡P𝑡 −1 시뮬레이션 결과 적용방법 □ 강체의 로컬 트랜스폼 변화량을 척추에 적용 ■ 로컬 트랜스폼은 회전 성분만 고려 (척추의 길이는 불변) ■ 초기 로컬 트랜스폼: ■ 변형 후 로컬 트랜스폼: ■ 로컬 트랜스폼 변화량: ∆R = R0 −1 R 𝑡 R 𝑡 = C 𝑡P𝑡 −1 R0 = C0P0 −1
  97. 97. 복원력 □ 체인이 초기 상태로 복귀하려는 힘
  98. 98. 복원력 □ 체인이 초기 상태로 복귀하려는 힘 ■ 초기상태: ■ 원본 애니메이션 포즈로 복귀 ∆R = R0 −1 R 𝑡 = I
  99. 99. 복원력 □ 체인이 초기 상태로 복귀하려는 힘 ■ 초기상태: ■ 원본 애니메이션 포즈로 복귀 □ 체인이 나열된 방향으로 외력을 적용 ∆R = R0 −1 R 𝑡 = I
  100. 100. 복원력 □ 체인이 초기 상태로 복귀하려는 힘 ■ 초기상태: ■ 원본 애니메이션 포즈로 복귀 □ 체인이 나열된 방향으로 외력을 적용 ■ 물리적으로 올바른 방법은 아님 ■ 효과는 충분! ∆R = R0 −1 R 𝑡 = I
  101. 101. 데모: 관성에 의한 척추 변형 □ 복원력 적용 유무 비교
  102. 102. 데모: 피격 반응
  103. 103. 요약 □ 체인 물리 시뮬레이션 □ 시뮬레이션 결과 적용 방법 □ 복원력
  104. 104. 의의 □ 운동학 기반의 애니메이션에 물리 반응 적용 □ 간단하고 효과적인 방법 □ 원본 애니메이션은 최대한 유지
  105. 105. 향후 계획 □ 물리 시뮬레이션 안정성 확보 ■ PBD (Position Based Dynamics) □ 물리적으로 올바른 복원력 적용
  106. 106. 새로운 기능들 1. 지면의 경사 적용 2. 물리적 반응 모션 3. 애니메이션 전환
  107. 107. 목적 □ 애니메이션 간의 자연스러운 트랜지션
  108. 108. 필요성 □ 엔진에서 제공하는 기능은?
  109. 109. 필요성 □ 엔진에서 제공하는 기능은?
  110. 110. 필요성 □ 엔진에서 제공하는 기능은? □ 발 미끄러짐 절대 금지
  111. 111. On our own □ 자연스러운 애니메이션 전환 ■ 포즈 블렌딩 ■ 발 위치 제어
  112. 112. 포즈 블렌딩 Source
  113. 113. 포즈 블렌딩 □ 소스 포즈의 스냅샷 Source 𝑡
  114. 114. 포즈 블렌딩 □ 소스 포즈의 스냅샷 □ 타겟 포즈는 시간에 따라 변화 Source Target 𝑡
  115. 115. 포즈 블렌딩 □ 소스 포즈의 스냅샷 □ 타겟 포즈는 시간에 따라 변화 □ 두 포즈의 로컬 트랜스폼을 선형 보간 𝑡 𝑡 + 𝑡 𝑏𝑙𝑒𝑛𝑑 Source Target
  116. 116. 포즈 블렌딩 □ 소스 포즈의 스냅샷 □ 타겟 포즈는 시간에 따라 변화 □ 두 포즈의 로컬 트랜스폼을 선형 보간 Source Target 𝑡 𝑡 + 𝑡 𝑏𝑙𝑒𝑛𝑑 발 위치 제어의 편의성 증가! 퍼포먼스 이득!
  117. 117. 발 위치 제어 방법 □ 스냅샷과 타겟 포즈의 발 위치에 따른 처리
  118. 118. 발 위치 제어 방법 □ 스냅샷과 타겟 포즈의 발 위치에 따른 처리 ■ 스냅샷 또는 타겟 포즈의 발이 공중에 있을 경우 위치 보간 ■ 스냅샷과 타겟 포즈의 발이 모두 지면위에 있을 경우 스텝 추가
  119. 119. 발 위치 제어 방법 □ 스냅샷과 타겟 포즈의 발 위치에 따른 처리 타겟 포즈 발 위치 지면 공중 스냅샷 포즈 발 위치 지면 스텝 추가 보간 공중 보간 보간
  120. 120. 발 위치 제어 방법 □ 스냅샷과 타겟 포즈의 발 위치에 따른 처리 □ 스텝 추가 ■ 보간 시 발 미끄러짐 발생 ■ 시간에 따른 sin 값을 발 높이에 더함 타겟 포즈 발 위치 지면 공중 스냅샷 포즈 발 위치 지면 스텝 추가 보간 공중 보간 보간
  121. 121. 발 위치 제어 순서 □ 공중에 떠있는 발 우선 ■ 스텝 추가로 인해 공중 동시 체류를 최대한 방지
  122. 122. 발 위치 제어 순서 □ 공중에 떠있는 발 우선 ■ 스텝 추가로 인해 공중 동시 체류를 최대한 방지 □ 타겟 위치로부터 가장 멀리 떨어진 발 ■ 무게중심에서 가장 벗어남을 의미
  123. 123. 발 위치 제어 순서 □ 공중에 떠있는 발 우선 ■ 스텝 추가로 인해 공중 동시 체류를 최대한 방지 □ 타겟 위치로부터 가장 멀리 떨어진 발 ■ 무게중심에서 가장 벗어남을 의미 □ 랜덤
  124. 124. 데모: 애니메이션 전환
  125. 125. 요약 □ 자연스러운 모션 전환 ■ 포즈 블렌딩 ■ 발 위치 제어
  126. 126. 향후 계획 □ 포즈 블렌딩 개선 ■ Inertialization: High-Performance Animation Transitions in Gears of War, GDC 2018 ▪ 스냅샷 포즈와 타겟 포즈를 블렌딩 ▪ 스냅샷 포즈의 관성을 타겟 포즈에 적용
  127. 127. 마치며... □ 모션엔진의 새로운 기능들 소개 ■ 지면의 경사 적용: 다양한 지형과 캐릭터에 적응적인 모션 생성 ■ 물리적 반응 모션: 척추의 움직임에 자연스러움 추가 ■ 애니메이션 전환: 포즈 블렌딩, 발 위치 제어를 통한 자연스러운 애니메이션 전환
  128. 128. 마치며... □ 모션엔진의 새로운 기능들 소개 ■ 지면의 경사 적용: 다양한 지형과 캐릭터에 적응적인 모션 생성 ■ 물리적 반응 모션: 척추의 움직임에 자연스러움 추가 ■ 애니메이션 전환: 포즈 블렌딩, 발 위치 제어를 통한 자연스러운 애니메이션 전환 □ 발전 가능성과 개선의 여지가 많음
  129. 129. 마치며... □ 모션엔진의 새로운 기능들 소개 ■ 지면의 경사 적용: 다양한 지형과 캐릭터에 적응적인 모션 생성 ■ 물리적 반응 모션: 척추의 움직임에 자연스러움 추가 ■ 애니메이션 전환: 포즈 블렌딩, 발 위치 제어를 통한 자연스러운 애니메이션 전환 □ 발전 가능성과 개선의 여지가 많음 □ 효율적이고 실용적인 절차적 애니메이션 시스템!
  130. 130. Q&A
  131. 131. 감사합니다.

×