[igc 2016] 엔씨소프트 홍상범 - 3d아티스트 위한 프로그램 연동하여 개발 제작...

67
3D 아티스트를 위한 제작환경 개선하기 반복 작업 안녕~~,스마트하게 작업 시작 Inven Game Conference

Upload: -

Post on 12-Jan-2017

326 views

Category:

Career


3 download

TRANSCRIPT

Page 1: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

3D 아티스트를위한제작환경개선하기반복작업안녕~~,스마트하게작업시작

Inven Game Conference

Page 2: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

INDEX1

ChapterCartoon Effect 그리지말자!

2

ChapterUnreal 소스 3ds max로가져오기

3

Chapter시네마틱 Preview한눈에보기

4

Chapter게임애니메이션 Exporter

5

ChapterP4Python 활용하기

Page 3: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

1.R&D한내용을공유하여작업환경을개선한다

발표목적

2.아이디어를공유하여여러사람들과영감을주고받는다

3.아티스트들도프로그래밍을쉽게인식해보자

4.작은생각이큰변화를줄수있다

Page 4: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

Chpater [1]

Cartoon Effect 그리지말자!

Inven Game Conference

Page 5: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

문제인식

1.Cartoon Effect 제작시수정과소스제작이불편하다

2.Sequence Cartoon Effect 제작시반복작업이많다

3.제작한소스를 Variation하기불편하다

Page 6: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

HLSL-Shader

고급셰이더언어(High Level Shader Language)는마이크로소프트의다이렉트3D API에사용되는셰이딩언어이다. 고급셰이딩언어(High Level Shading Language)라고도불리며줄여서 HLSL이라고도불린다. 이셰이딩언어는 OpenGL API에서표준으로사용되는셰이딩언어인GLSL과유사한언어이다. 또한엔비디아의 Cg셰이딩언어와도매우유사한데, 이는서로협력하여개발하였기때문이다.

Page 7: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

Deformation

물체또는이미지의회전, 크기의비율, 이동등의변화를일컫는용어3D 컴퓨터그래픽(스)에서기본적인모형화기법중에서물체의외형을변형시키는과정. 구부리기(bend), 꼬기(twist), 돌출시키기(extrude) 등의방법이있다.

Page 8: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

DotProduct

주어진벡터 A와단위벡터의연장선상에서단위벡터방향으로내적을취했을경우에생기는공간.

Page 9: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

DotProduct

내각:0도,출력값:1

내각:90도,출력값:0

Page 10: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

Rim == Fresnel

어떤물체에외곽의가장자리

어떤물체의시야각에따라반사율과굴절율이정해지는법칙

Page 11: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

Rim == Fresnel

Page 12: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

HLSL(Rim,Fresnel)

float A = 1 – dot(V,H);float ControlA = pow( A, 2.0);

Page 13: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

HLSL(outline)

Page 14: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

중요한개념

UV texCoord

TexCoord는입력된 Texture의픽셀좌표값으로float2(U,V)로표시됩니다

Page 15: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

UV texCoord

UV texCoord

(X:1,Y:0)

(X:0,Y:1) (X:1,Y:1)

(X:0,Y:0)

Page 16: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

HLSL_(UV_animation)

HLSL(UV animation)

Page 17: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

2D의조건

2D(Toon)

Page 18: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

2D의조건

2D(Toon)

1.Outline이있어야한다2.색감에단계가보이거나단색이어야한다

3.라인묘사를가지고있어야한다

Page 19: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

필요한 Tool

NVIDIA FX Composerhttp://www.nvidia.com/object/nv_shader_debugger_home.html

Page 20: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

필요한 Tool

FX Composer+3ds max

Page 21: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Light

TOONFX_Light

Page 22: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Light

TOONFX_Light

Page 23: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

HLSL_(ToonFX_Light)

HLSL(ToonFX_Light)

Page 24: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Contourline

TOONFX_Contourline

Page 25: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Contourline

TOONFX_Contourline

Page 26: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

HLSL_(ToonFX_Contourline)

HLSL(ToonFX_Contourline)

Page 27: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Distortion

ADD(+)

TOONFX_Distortion

Page 28: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

TOONFX_Distortion

1Cartoon Effect 그리지말자!

ToonFX_Distortion

Page 29: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Distortion

TOONFX_Distortion

Page 30: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

ToonFX_Distortion

HLSL(ToonFX_Distortion)

Page 31: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

1Cartoon Effect 그리지말자!

Sample

ToonFX_Sample

Page 32: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

Chpater [2]

Unreal 소스 3ds max로가져오기

Inven Game Conference

Page 33: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

문제인식

1.Unreal에올라가있는방대하고다양한모델링소스를Unreal Folder구조로검색하여찾기불편함이있다

2.검색한 Unreal 소스를 3dsMax로연동하기불편함이있다

3.3ds max에서필요한기능을적용시키고원하는format으로 export시켜주기가번거롭다

Page 34: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

필요한 Tool

Umodelhttp://www.gildor.org/en/projects/umodel

Page 35: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

Unreal에서소스 import

Unreal Souce Import

Page 36: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2P4Python 활용하기

Key word로엔진폴더검색

폴더안소스확인 소스경로파악

소스경로에서Copy Past

Upk파일에서소스추출

추출한소스맥스안으로가져오기

Unreal에서소스 import

Unreal Souce Import

필요한작업실행 작업한소스엔진안으로 import

엔진안에서소스확인및완료

Page 37: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

Maxscript Code

Maxscrpt Code

Page 38: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

Maxscript Code

Maxscrpt Code

Page 39: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

Weapon Mesh FX

Weapon Mesh FX

Page 40: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

2Unreal 소스 3ds max로가져오기

Weapon Mesh FX

Weapon Mesh FX

Page 41: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

Chpater [3]

시네마틱 Preview한눈에보기

Inven Game Conference

Page 42: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

3시네마틱 Preview한눈에보기

문제인식

1.시네마틱작업을할때설치해둔많은 Camera들 View로연결해서보기불편하다

2.3ds Max Viewport 속도를제어하기불편하고다양한Camera View로 Preview를만들기번거롭다

3.설치한각각의 Camera들을제어하기불편하고Camera정보값을 Unreal안으로가져가기어려움이있다

Page 43: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

3Unreal 소스 3ds max로가져오기

Multi Camera

Multi Camera

Page 44: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

3Unreal 소스 3ds max로가져오기

Unreal에서 Camera import

Import Camera

Page 45: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

3Unreal 소스 3ds max로가져오기

Maxscript Code(avi export,CamBake)

Maxscrpt Code

Page 46: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

3Unreal 소스 3ds max로가져오기

Maxscript Code(viewport Multi Camera play)

Maxscrpt Code

Page 47: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

Chpater [4]

게임애니메이션 Exporter

Inven Game Conference

Page 48: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

문제인식

1.게임제작시 Animation을 Frame별로분활하여 Export시키는작업이불편하다

2.Export시킨파일관리가필요하다

3.Animation 작업내용을다른팀과공유하는부분이번거롭다

Page 49: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

필요한 Tool

ActorXhttps://udn.epicgames.com/Two/ActorXKR.html

Page 50: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

필요한 Tool

Outlookhttps://products.office.com/ko-kr/outlook/email-and-calendar-

software-microsoft-outlook

Page 51: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

Animation Exporter

Animation_Exporter

Page 52: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

Animation Exporter

Animation_Exporter

Page 53: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

Sample_Script

Max script+ActorX

Page 54: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

Automatic_Outlook

Automatic_Outlook

Page 55: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

4게임애니메이션 Exporter!

Sample_Script

Max script+DOSCommand

Page 56: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

Chpater [5]

P4Python 활용하기

Inven Game Conference

Page 57: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

문제인식

1.Perforce에서원하는기준으로정보값을보기불편한부분이있다

2.Perforce가복잡한 Folder구조를가지고있으면 Graphic망의upk소스를 Copy하여 Desktop internal망경로로 past하기번거롭다

Page 58: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

필요한 Tool

PerforcePerforce(퍼포스)는퍼포스소프트웨어에서개발된상용버전관리소프트웨어이다.퍼포스의서버는중앙데이터베이스와파일의주저장소를관리한다. 퍼포스는퍼포스의프로토콜을사용하는두깃클라이언트사이도지원한다. 깃클라이언트는 SSH나 HTTPS하에서퍼포스서버와데이터를주고받을수있으며, 또한상용원격프로시저호출이나스트리밍프로토콜을사용하는 TCP/IP를통해서도데이터를주고받을수있다. 사용자들은원자성커밋을지원하는체인지리스트(changelist)에서함께파일을변경할수있다.

Page 59: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

필요한 Tool

Perforcehttps://www.perforce.com/ko

Page 60: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

필요한 Tool

P4Pythonhttps://www.perforce.com/downloads/helix#sdks-apis

Page 61: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

필요한 Tool

P4Pythonhttps://www.perforce.com/perforce/r14.2/manuals/p4script/python.p

rogramming.html

Page 62: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

파이프라인

Pipeline

desktop Server

Graphic internal Graphic internal

Page 63: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

Internal quick update

Internal Quick UpDate

Page 64: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

Save한 .upk파일검색

데스크탑경로의소스찾기

원본소스백업및Copy

Internal 데스크탑경로로 past

In game에서확인해보기

서버 internal경로에서백업

Internal Quick UpDate

Internal quick update

Page 65: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

P4python(Connect)

P4python(Connect)

Page 66: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

5P4Python 활용하기

P4python(sync)

P4python(sync)

Page 67: [IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기

감사합니다

[ 엔 씨 소 프 트 이 펙 트 팀 ]

홍 상 범