SlideShare a Scribd company logo
Summary
Agenda
MCG 소개 및 Maxscript, Python과의 차이점
• Maxscript : • Python :
• Maxscript, Python은 프로그래머 친화적인 직접 코딩을 하는 방식으로 아티스트들이 접근하기 힘든 부분이 있었습
니다
MCG 소개 및 Maxscript, Python과의 차이점
• Max
Creation
Graph
(MCG):
• MCG는 프로그래머 뿐만 아니라 아티스트분들도 쉽고 빠르게 할 수 있는 노드 기반의 새로운 비주얼 프로그래밍 입
니다
MCG 소개 및 Maxscript, Python과의 차이점
• Max
Creation
Graph
(MCG):
• MCG는 프로그래머 뿐만 아니라 아티스트분들도 쉽고 빠르게 할 수 있는 노드 기반의 새로운 비주얼 프로그래밍 입
니다
MCG Package Install
• https://area.autodesk.com/tutorials/mcg-whats-new-2018--sample-pack/ 으로 이동합니다
• 사이트로 이동 후 밑으로 내려 보면 위의 빨간 부분이 나옵니다. 빨간 부분을 클릭해서 MCG Package를 다운 받습니다
• C:Users유저 이름(ex:Hong)AppDataLocalAutodesk3dsMax맥스 버전(Ex:2019 – 64bit)ENU 안에 있는 3dsMax.ini 파
일을 오픈 합니다
• MCG Tools 과 MCG Compound 경로를 추가로 적어 주고 저장 합니다
[MCG Tools Directories]
samples=C:Users유저이름(ex:hong)Autodesk맥스 버전(ex:3ds Max 2019)Max Creation Graphsrc
[MCG Compound Directories]
samples=C:Users 유저이름(ex:hong) Autodesk 맥스 버전(ex:3ds Max 2019)Max Creation Graphsrc
• 위에 다운 받은 MCG Package 압축을 풀고 src 폴더 안에 내용을 설정한src 경로에 copy/past합니다. 다음에Packages폴더를
설정한 경로 Max Creation Graph경로에 copy/past 합니다
• 3ds Max를 다시 실행 시킵니다
Creating a Compound for MCG
• What’s Compound : MCG안에서 자주 사용하는 복잡한 노드들을 하나의 노드로 만들어 재사용 할 수 있도록 합니다. 다른
프로그래밍에서는 함수와 유사합니다
Creating a Compound for MCG
• Compound Input: SceneNode : Compound 제작 시 사용 하는 Input 노드로 Scene에 있는 노드를 받아 올 수 있습니다
Creating a Compound for MCG
• SceneNode World Position : SceneNode의 월드 공간의 위치 값을 받아 올 수 있습니다
Creating a Compound for MCG
• Add : value1, value2의 들어오는 값을 더해 줍니다
Creating a Compound for MCG
• Divide Vector : value Float 값으로 vector Vector3로 들어 오는 값을 나누어 줍니다
Creating a Compound for MCG
• Constant : Boolean, Integer, Float, Vector, Vector4, Float array, String의 유형 중 한가지를 만들어서 사용 할 수 있습니다
Creating a Compound for MCG
• Translation Matrix : 받아온 Vector 값을 Matrix로 변환해서 반환 합니다
Creating a Compound for MCG
• Output:Compound : 최종 value값을 받아와서 Compound 만들 때 output으로 출력 할 수 있습니다
Creating a Compound for MCG
• Graph Properties:
Creating a Compound for MCG
• Graph Properties:
• Identifier: MCG를 식별 할 수 있는 이름을 등록 합니다
Creating a Compound for MCG
• Graph Properties:
• Version Major/Minor/Revision: MCG의 버전을 알 수 있도록
번호를 입력합니다
Creating a Compound for MCG
• Graph Properties:
• Graph GUID: 파일의 읽기 전용 전역 식별자 입니다
• Display Name: 노드 편집기의 인터페이스, 즉 제목 표시줄
• Author: 작성자 정보를 입력합니다
• Company: 작성자 회사 정보를 입력합니다
Creating a Compound for MCG
• Graph Properties:
• Version GUID: 파일 현재 버전의 읽기 전용 전역 고유 식별자 입니다
• Category: 사용자 정의의 범주 정보를 입력합니다
• Copyright: 저작권 정보를 입력 합니다
• Url: 작성자의 웹주소나 사용자를 위한 정보를 줄 수 있는 웹주소를 입
력합니다
Creating a Compound for MCG
• Graph Properties:
• Description: MCG에 관련된 설명을 입력 합니다
Creating a Compound for MCG
• Graph Properties:
• File: MCG의 경로와 이름을 보여 줍니다
• Created: MCG를 처음 만든 날짜를 출력 합니다
• Last modified: MCG의 마지막 수정 날짜를 출력합니다
Creating a Compound for MCG
• Graph Properties:
• Save: 입력 정보를 저장 합니다
• Cancel: 입력 정보를 취소 합니다
Creating a Compound for MCG
• Save Graph As: • Save 경로에 Compounds폴더 경로가 맞는지 확인 합니다
• Save 버튼을 클릭 저장합니다
Creating a Compound for MCG
• Operator Depot에서 View창으로 드래그 하
면 청록색 노드를 보실 수 있습니다
• 이름으로 검색도 가능하고 Compound는 글자에 청록색을 가지고 있습니다
• 두 오브젝트 사이에 위치하는 오브젝트 만들기:
Creating a Compound for MCG
• 두 오브젝트 사이에 위치하는 오브젝트 만들기:
• MCG:
• MCG:
• All_Element_Detach:
• All_Element_Detach:
• 무너지는 모션 제작:
• Frame Bake Attach:
• Frame Bake Attach:
• Blueprint는 프로그래머 뿐만 아니라 아티스트분들도 쉽고 빠르게 Unreal4에서 게임을 제작 할 수 있는 노드 기반의
새로운 비주얼 프로그래밍 입니다
• blueprint:
• Actor:
• 1
• 2
• 3
• 1: 폴더 설정
• 2: 마우스 우 클릭
• 3: Blueprint Class선택
• Actor:
• 4: Actor 선택
• 4
• Actor:
• 5: 이름을 설정 하고 선택
해 줍니다
• 5
• Actor:
• Actor를 설정 할 수 있는 창이 활
성화 됩니다
• 5
• Actor:
• 6: Add Component 클릭
• 7: Static Mesh 클릭
• 5
• 6
• 7
• Actor:
• 8: 원하는 이름으로 변경후 선택
• 9: 클릭
• 10: 원하는 Static Mesh를 선택
• 5
• 8
• 9
• 10
• Auto Move BP:
• Auto Move BP:
• Auto Move BP:
• 1: StaticMesh선택
• 2: 원하는 StaticMesh를
선택
• 3: EventGraph 선택
• 1
• 2
• 3
• Auto Move BP:
• 4: 선택 후 변수를 만들어
줌
• 5: 생성된 변수 선택
• 6: 변수 이름 설정
• 7: 변수 타입을 Vector로
설정
• 8: 생성된 변수를 Event
Graph로 드래그 하고 Set
으로 출력 합니다
• 9: 마우스 우 클릭
GetActorLocation생성
• 10: 노드 연결
• 4
• 5
• 6
• 7
• 8
• 9• 10
• Auto Move BP:
• 게임이 시작 되면Actor의
Location값을 변수 Initial
Location에 넣어 줍니다
• Event BeginPlay: 게임
이 플레이 되면 발생 할 이
벤트 설정
• GetActorLocation: Actor
의 위치 값을 실시간으로
받아옵니다
• Set Initial Location: 생성
된 변수에 원하는 값을 넣
어 줄 수 있습니다
• Auto Move BP:
• 1: 변수를 생성
• 2: 선택 후 눈 아이콘을 활
성화 해 줌
• 3: 변수의 이름을 설정하고
타입을 Integer로 만들어
줌
• 4: Value Range를 1~3으
로 설정
• 5: 변수의 디폴트 값을 1로
설정
• 6: 선택한 변수를 드래그해
서 Get으로 설정
• 7: 마우스 우 클릭 후에
Compareint 생성,
Compare With값을 2로
설정
• 8: 노드 연결
• 1
• 2
• 3
• 4
• 5
• 6
• 7• 8
• Auto Move BP:
• 게임에 프레임이 흘러가면
서 Compareint노드로 입
력 되는 변수를 Compare
With 값 2와 비교 하여 작
거나 같거나 크거나 를 비
교해서 세가지 경우를 만
들어 줍니다(여기서는 X, Y,
Z 방향 설정)
• Event Tick:
게임에 프레임이 흘러가는
것을 받아옵니다
• X:1 Y:2 Z:3 :
Actor에서 설정 하는 값을
받아 옵니다
• Compareint:
입력되는 변수의 값을
Compare With값 2와 비
교 해서 세가지 경우를 설
정
• Auto Move BP:
• 1: 변수를 생성
• 2: 선택 후 눈아이콘 활성
화
• 3: 이름을 설정 및 변수 타
입을 Float로 만들어줌
• 4: 선택 변수를 드래그 한
수 Get으로 생성
• 5: Event Graph 빈 곳을 선
택 후 Get Time Seconds
노드 생성
• 6: Event Graph 빈 곳을 선
택 후 float X float
Multiply 노드 생성
• 7: 노드 연결
• 1
• 2
• 3
• 4
• 5 • 6
• 7
• Auto Move BP:
• 움직이는 장애물의 속도를
제어 합니다
• Get Time Seconds: 현
재 게임 시간을 초 단위로
받아 옵니다
• Z Speed: 속
도를 제어 할 수 있는 변수
값을 받아옵니다
• Float*Float(Multiply):
입력되어지는 float값두개
를 곱해준 값을 출력 합니
다
• 3
• Auto Move BP:
• 1: 변수를 생성
• 2: 선택 후 눈아이콘 활성
화
• 3: 이름을 설정 및 변수 타
입을 Float로 만들어줌
• 4: 선택 변수를 드래그 한
수 Get으로 생성
• 5: Event Graph 빈 곳을 선
택 후 Cos(Radians)노드
생성
• 6: Event Graph 빈 곳을 선
택 후 float X float
Multiply 노드 생성
• 7: 노드 연결
• 1
• 2
• 3
• 4
• 5• 6
• 7
• Auto Move BP:
• 움직이는 장애물의 범위를
제어 합니다
• Cos(Radians):
Cosine값을 출력 합니다
(시간에 따라 1 ~ -1사이
값 출력)
• Z Size: 움
직이는 물체의 범위를 제
어 하는 변수 값을 받아 옵
니다
• Float*Float(Multiply):
입력되어지는 float값두개
를 곱해준 값을 출력 합니
다
• 3
• Auto Move BP:
• 1: Event Graph에서 빈 곳
을 클릭 하고 Make
Vector 노드 생성 (노
드 세개를 생성 하고 각각
X,Y,Z의 값에 0.0을 입력 합
니다 )
• 2: 세개의 Make Vector노
드를 각각 노드당 X, Y, Z부
분을 앞의
float*float(Multiply)노드
와 연결 합니다 • 1• 2
• Auto Move BP:
• 움직이는 장애물의 속도와
범위를 설정하고 움직임을
줄 수 있는 Vector를 각 축
별로 생성 합니다
• Make Vector:
X,Y,Z의 Float값을 각각 설
정 하여서 Vector를 만들
어 줍니다
• 3
• Auto Move BP:
• 1: 변수 선택
• 2: 선택한 변수를 드래그
이후 Get으로 변수 생성
• 3: Event Graph의 빈 곳을
우 클릭하고 Vector +
Vector노드를 생성 합니다
• 4: Initial Location 노드
Make Vector노드를
vector + vector노드로 연
결 합니다
• 4
• 1
• 2
• 3
• Auto Move BP:
• Actor의 위치 값을 받아와
서 움직이는 Vector값을
더해 줍니다
• Initial Location:
Actor의 위치 값을 받아 옵
니다
• Vector + Vector:
입력되는 두개의 Vector
값을 더해서 출력 합니다
• Auto Move BP:
• 1: Event Graph의 빈곳을
마우스 우클릭 하고
SetActorLocation노드를
세개 생성 합니다
• 2: 앞에 만들어진 Vector값
을 New Location에 연결
합니다 Compareint
에서 출력 되는 세 가지 경
우를 각각 연결해 줍니다
• 3: 모든 노드들의 연결이
완료 되면 Compile버튼을
눌러 줍니다
• 1
• 2
• 3
• Auto Move BP:
• 최종적으로 받아온 Vector
값을 Actor에 설정해 줍니
다
• SetActorLocation:
Actor의 위치 값을 설정해
줄 수 있습니다
• 3ds Max에서 소스 가져 오기:
• 2
• 3• 1: C:Program FilesEpic
GamesUE_4.20Engine
Extras3dsMaxScriptsV
ertexAnimationTools.ms
로 이동
• 2:VertexAnimationTools.
ms를 3dsMax로 드래그해
서 실행합니다
• 3: script가 실행이 되면 창
이 활성화 됩니다
• 4: 원하는 Mesh를 모두 선
택을 해 줍니다
• 5: 실행된 Script에서Paint
Selection Sequence버튼
을 클릭 합니다
• 1
• 5
• 4
• 3ds Max에서 소스 가져 오기:
• 2
• 3
• 1: File클릭
• 2: Export클릭
• 3: Export Selected클릭
• 1
• 3ds Max에서 소스 가져 오기:
• 2 • 3
• 1: Export할 경로를 설정
합니다
• 2: 파일 이름과 확장자를
설정 합니다
• 3: Save버튼을 클릭하고
저장 합니다
• 1
• 3ds Max에서 소스 가져 오기:
• 2
• 3
• 1: 원하는 Setting으로 설
정
• 2: Animation 체크 비 활
성화 해줍니다
• 3: OK버튼을 클릭
• 1
• 3ds Max에서 소스 가져 오기:
• 2
• 3
• 1: import누르고 import
한 파일을 선택합니다
• 2: Combine Meshes를 체
크를 활성화 합니다(이 옵
션이 활성화 되면 모든 메
쉬를 하나의 메쉬로 결합
합니다)
• 3: Import버튼을 클릭해서
Mesh를 가지고 옵니다
• 1
• 3ds Max에서 소스 가져 오기:
• 1: import한 Mesh를 선택
합니다
• 2: Use Full Precision UV’s
의 정확한 계산이 필요 할
경우에는 체크 박스를 활
성화 해줍니다 (기본적으
로 StaticMesh는 메로리
를 절약 하기 위해 정밀도
16비트 UV를 사용합니다
이옵션을 활성화 하면 메
쉬가 전체 정밀도 32비트
UV를 사용 하게 됩니다)
• 3: Distance Field
Resolution Scale을 0으로
바꾸어 줍니다
• 4:Save버튼을 클릭 해서
저장해 줍니다 • 1
• 2
• 3
• 4
• 3ds Max에서 소스 가져 오기:
• 1: 빈 곳을 선택하고 마우스 우 클
릭 이후에 Material을 생성합니다
• 2: 생성된 Material의 원하는 이름
으로 변경해 주고 선택해 줍니다
• 3: Material 안에서 우 클릭 후에
Constant3 Vector를 생성해 주고
원하는 색깔로 설정해 줍니다 설정
된 노드를 BaseColor와 Emissive
Color에 연결해 줍니다
• 4: Material안에서 우 클릭 후에
MS_SequencePainter_Sequence
Flipbook 노드를 생성하고 World
Position Offset에 연결해 줍니다
• 5: Material안에서 우 클릭 후에
Constant를 생성하고 3dsMax에
서 import해온 Mesh의 개수를 입
력 해 줍니다 설정된 노드를
Number Of Frames와 연결해 줍
니다
• 6: Save버튼을 클릭하고 Material
을 저장해 줍니다
• 1
• 2
• 3
• 4
• 5
• 6
• 3ds Max에서 소스 가져 오기:
• Import한 Mesh를 화면에
드래그 하고 새로 제작한
Material을 Mesh에 드래
그에서 연결 시키면 움직
이는 Mesh를 보실 수 있습
니다
• Material 제작 하기:
• Blueprint 제작 하기:
• Import한 Mesh를 화면에
드래그 하고 새로 제작한
Material을 Mesh에 드래
그에서 연결 시키면 움직
이는 Mesh를 보실 수 있습
니다
• Blueprint 제작 하기:
오토데스크 M&E Website
http://cafe.naver.com/autodeskme
• Autodesk M&E 카페 (이슈사항 수시로 업데이트!)
http://https://www.facebook.com/groups/1611269852441897/
http://www.scriptspot.com/3ds-max/mcg
• 3ds Max Procedural Tools - MCG + DCM + OSL
• Maxscript and MCG 사이트
[IGC2018] 오토데스크 홍상범 - 아티스트를 위한 Visual Scripting - MCG in 3dsMax, Blueprint in Unreal4

More Related Content

Similar to [IGC2018] 오토데스크 홍상범 - 아티스트를 위한 Visual Scripting - MCG in 3dsMax, Blueprint in Unreal4

[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)Donggi Hahm
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
Sumin Byeon
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
minseok kim
 
Unity3D 한국 최초 기술 세미나
Unity3D 한국 최초 기술 세미나Unity3D 한국 최초 기술 세미나
Unity3D 한국 최초 기술 세미나
Brandon Chung
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
Miyu Park
 
권기훈_개인포트폴리오
권기훈_개인포트폴리오권기훈_개인포트폴리오
권기훈_개인포트폴리오
Kihoon4
 
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
Chris Ohk
 
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
Changhwan Yi
 
브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회
BridgeGames
 
Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022
Klaytn
 
2. klaytn developer meetup #2 univ chain
2. klaytn developer meetup #2 univ chain2. klaytn developer meetup #2 univ chain
2. klaytn developer meetup #2 univ chain
전 민규
 
이병철의 개발자 포트폴리오
이병철의 개발자 포트폴리오이병철의 개발자 포트폴리오
이병철의 개발자 포트폴리오
Lee ByeongCheol
 
Java, android 스터티8
Java, android 스터티8Java, android 스터티8
Java, android 스터티8
Heejun Kim
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능
Changhwan Yi
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
MDLicht
 
Unity소개
Unity소개Unity소개
유니티 데이드림 (DayDream) 튜토리얼
유니티 데이드림 (DayDream) 튜토리얼유니티 데이드림 (DayDream) 튜토리얼
유니티 데이드림 (DayDream) 튜토리얼
Jemin Lee
 
양재혁 포트폴리오 입니다.
양재혁 포트폴리오 입니다.양재혁 포트폴리오 입니다.
양재혁 포트폴리오 입니다.
Jeahurk Yang
 
[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기
NAVER D2
 

Similar to [IGC2018] 오토데스크 홍상범 - 아티스트를 위한 Visual Scripting - MCG in 3dsMax, Blueprint in Unreal4 (20)

[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
Unity3D 한국 최초 기술 세미나
Unity3D 한국 최초 기술 세미나Unity3D 한국 최초 기술 세미나
Unity3D 한국 최초 기술 세미나
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
권기훈_개인포트폴리오
권기훈_개인포트폴리오권기훈_개인포트폴리오
권기훈_개인포트폴리오
 
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
 
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
 
Shader Driven
Shader DrivenShader Driven
Shader Driven
 
브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회
 
Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022
 
2. klaytn developer meetup #2 univ chain
2. klaytn developer meetup #2 univ chain2. klaytn developer meetup #2 univ chain
2. klaytn developer meetup #2 univ chain
 
이병철의 개발자 포트폴리오
이병철의 개발자 포트폴리오이병철의 개발자 포트폴리오
이병철의 개발자 포트폴리오
 
Java, android 스터티8
Java, android 스터티8Java, android 스터티8
Java, android 스터티8
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
Unity소개
Unity소개Unity소개
Unity소개
 
유니티 데이드림 (DayDream) 튜토리얼
유니티 데이드림 (DayDream) 튜토리얼유니티 데이드림 (DayDream) 튜토리얼
유니티 데이드림 (DayDream) 튜토리얼
 
양재혁 포트폴리오 입니다.
양재혁 포트폴리오 입니다.양재혁 포트폴리오 입니다.
양재혁 포트폴리오 입니다.
 
[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기
 

More from 강 민우

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
강 민우
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
강 민우
 
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
강 민우
 
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
강 민우
 
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
강 민우
 
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
강 민우
 
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
강 민우
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
강 민우
 
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
강 민우
 
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
강 민우
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
강 민우
 
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
강 민우
 
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
강 민우
 
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
강 민우
 
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
강 민우
 
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
강 민우
 
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
강 민우
 
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
강 민우
 
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
강 민우
 
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
강 민우
 

More from 강 민우 (20)

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
 
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
 
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
 
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
 
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
 
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
 
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
 
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
 
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
 
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
 
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
 
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
 
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
 
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
 
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
 
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
 

[IGC2018] 오토데스크 홍상범 - 아티스트를 위한 Visual Scripting - MCG in 3dsMax, Blueprint in Unreal4

  • 1.
  • 4.
  • 5. MCG 소개 및 Maxscript, Python과의 차이점 • Maxscript : • Python : • Maxscript, Python은 프로그래머 친화적인 직접 코딩을 하는 방식으로 아티스트들이 접근하기 힘든 부분이 있었습 니다
  • 6. MCG 소개 및 Maxscript, Python과의 차이점 • Max Creation Graph (MCG): • MCG는 프로그래머 뿐만 아니라 아티스트분들도 쉽고 빠르게 할 수 있는 노드 기반의 새로운 비주얼 프로그래밍 입 니다
  • 7. MCG 소개 및 Maxscript, Python과의 차이점 • Max Creation Graph (MCG): • MCG는 프로그래머 뿐만 아니라 아티스트분들도 쉽고 빠르게 할 수 있는 노드 기반의 새로운 비주얼 프로그래밍 입 니다
  • 8. MCG Package Install • https://area.autodesk.com/tutorials/mcg-whats-new-2018--sample-pack/ 으로 이동합니다 • 사이트로 이동 후 밑으로 내려 보면 위의 빨간 부분이 나옵니다. 빨간 부분을 클릭해서 MCG Package를 다운 받습니다 • C:Users유저 이름(ex:Hong)AppDataLocalAutodesk3dsMax맥스 버전(Ex:2019 – 64bit)ENU 안에 있는 3dsMax.ini 파 일을 오픈 합니다 • MCG Tools 과 MCG Compound 경로를 추가로 적어 주고 저장 합니다 [MCG Tools Directories] samples=C:Users유저이름(ex:hong)Autodesk맥스 버전(ex:3ds Max 2019)Max Creation Graphsrc [MCG Compound Directories] samples=C:Users 유저이름(ex:hong) Autodesk 맥스 버전(ex:3ds Max 2019)Max Creation Graphsrc • 위에 다운 받은 MCG Package 압축을 풀고 src 폴더 안에 내용을 설정한src 경로에 copy/past합니다. 다음에Packages폴더를 설정한 경로 Max Creation Graph경로에 copy/past 합니다 • 3ds Max를 다시 실행 시킵니다
  • 9. Creating a Compound for MCG • What’s Compound : MCG안에서 자주 사용하는 복잡한 노드들을 하나의 노드로 만들어 재사용 할 수 있도록 합니다. 다른 프로그래밍에서는 함수와 유사합니다
  • 10. Creating a Compound for MCG • Compound Input: SceneNode : Compound 제작 시 사용 하는 Input 노드로 Scene에 있는 노드를 받아 올 수 있습니다
  • 11. Creating a Compound for MCG • SceneNode World Position : SceneNode의 월드 공간의 위치 값을 받아 올 수 있습니다
  • 12. Creating a Compound for MCG • Add : value1, value2의 들어오는 값을 더해 줍니다
  • 13. Creating a Compound for MCG • Divide Vector : value Float 값으로 vector Vector3로 들어 오는 값을 나누어 줍니다
  • 14. Creating a Compound for MCG • Constant : Boolean, Integer, Float, Vector, Vector4, Float array, String의 유형 중 한가지를 만들어서 사용 할 수 있습니다
  • 15. Creating a Compound for MCG • Translation Matrix : 받아온 Vector 값을 Matrix로 변환해서 반환 합니다
  • 16. Creating a Compound for MCG • Output:Compound : 최종 value값을 받아와서 Compound 만들 때 output으로 출력 할 수 있습니다
  • 17. Creating a Compound for MCG • Graph Properties:
  • 18. Creating a Compound for MCG • Graph Properties: • Identifier: MCG를 식별 할 수 있는 이름을 등록 합니다
  • 19. Creating a Compound for MCG • Graph Properties: • Version Major/Minor/Revision: MCG의 버전을 알 수 있도록 번호를 입력합니다
  • 20. Creating a Compound for MCG • Graph Properties: • Graph GUID: 파일의 읽기 전용 전역 식별자 입니다 • Display Name: 노드 편집기의 인터페이스, 즉 제목 표시줄 • Author: 작성자 정보를 입력합니다 • Company: 작성자 회사 정보를 입력합니다
  • 21. Creating a Compound for MCG • Graph Properties: • Version GUID: 파일 현재 버전의 읽기 전용 전역 고유 식별자 입니다 • Category: 사용자 정의의 범주 정보를 입력합니다 • Copyright: 저작권 정보를 입력 합니다 • Url: 작성자의 웹주소나 사용자를 위한 정보를 줄 수 있는 웹주소를 입 력합니다
  • 22. Creating a Compound for MCG • Graph Properties: • Description: MCG에 관련된 설명을 입력 합니다
  • 23. Creating a Compound for MCG • Graph Properties: • File: MCG의 경로와 이름을 보여 줍니다 • Created: MCG를 처음 만든 날짜를 출력 합니다 • Last modified: MCG의 마지막 수정 날짜를 출력합니다
  • 24. Creating a Compound for MCG • Graph Properties: • Save: 입력 정보를 저장 합니다 • Cancel: 입력 정보를 취소 합니다
  • 25. Creating a Compound for MCG • Save Graph As: • Save 경로에 Compounds폴더 경로가 맞는지 확인 합니다 • Save 버튼을 클릭 저장합니다
  • 26. Creating a Compound for MCG • Operator Depot에서 View창으로 드래그 하 면 청록색 노드를 보실 수 있습니다 • 이름으로 검색도 가능하고 Compound는 글자에 청록색을 가지고 있습니다 • 두 오브젝트 사이에 위치하는 오브젝트 만들기:
  • 27. Creating a Compound for MCG • 두 오브젝트 사이에 위치하는 오브젝트 만들기:
  • 28.
  • 34. • Frame Bake Attach:
  • 35. • Frame Bake Attach:
  • 36.
  • 37. • Blueprint는 프로그래머 뿐만 아니라 아티스트분들도 쉽고 빠르게 Unreal4에서 게임을 제작 할 수 있는 노드 기반의 새로운 비주얼 프로그래밍 입니다 • blueprint:
  • 38. • Actor: • 1 • 2 • 3 • 1: 폴더 설정 • 2: 마우스 우 클릭 • 3: Blueprint Class선택
  • 39. • Actor: • 4: Actor 선택 • 4
  • 40. • Actor: • 5: 이름을 설정 하고 선택 해 줍니다 • 5
  • 41. • Actor: • Actor를 설정 할 수 있는 창이 활 성화 됩니다 • 5
  • 42. • Actor: • 6: Add Component 클릭 • 7: Static Mesh 클릭 • 5 • 6 • 7
  • 43. • Actor: • 8: 원하는 이름으로 변경후 선택 • 9: 클릭 • 10: 원하는 Static Mesh를 선택 • 5 • 8 • 9 • 10
  • 46. • Auto Move BP: • 1: StaticMesh선택 • 2: 원하는 StaticMesh를 선택 • 3: EventGraph 선택 • 1 • 2 • 3
  • 47. • Auto Move BP: • 4: 선택 후 변수를 만들어 줌 • 5: 생성된 변수 선택 • 6: 변수 이름 설정 • 7: 변수 타입을 Vector로 설정 • 8: 생성된 변수를 Event Graph로 드래그 하고 Set 으로 출력 합니다 • 9: 마우스 우 클릭 GetActorLocation생성 • 10: 노드 연결 • 4 • 5 • 6 • 7 • 8 • 9• 10
  • 48. • Auto Move BP: • 게임이 시작 되면Actor의 Location값을 변수 Initial Location에 넣어 줍니다 • Event BeginPlay: 게임 이 플레이 되면 발생 할 이 벤트 설정 • GetActorLocation: Actor 의 위치 값을 실시간으로 받아옵니다 • Set Initial Location: 생성 된 변수에 원하는 값을 넣 어 줄 수 있습니다
  • 49. • Auto Move BP: • 1: 변수를 생성 • 2: 선택 후 눈 아이콘을 활 성화 해 줌 • 3: 변수의 이름을 설정하고 타입을 Integer로 만들어 줌 • 4: Value Range를 1~3으 로 설정 • 5: 변수의 디폴트 값을 1로 설정 • 6: 선택한 변수를 드래그해 서 Get으로 설정 • 7: 마우스 우 클릭 후에 Compareint 생성, Compare With값을 2로 설정 • 8: 노드 연결 • 1 • 2 • 3 • 4 • 5 • 6 • 7• 8
  • 50. • Auto Move BP: • 게임에 프레임이 흘러가면 서 Compareint노드로 입 력 되는 변수를 Compare With 값 2와 비교 하여 작 거나 같거나 크거나 를 비 교해서 세가지 경우를 만 들어 줍니다(여기서는 X, Y, Z 방향 설정) • Event Tick: 게임에 프레임이 흘러가는 것을 받아옵니다 • X:1 Y:2 Z:3 : Actor에서 설정 하는 값을 받아 옵니다 • Compareint: 입력되는 변수의 값을 Compare With값 2와 비 교 해서 세가지 경우를 설 정
  • 51. • Auto Move BP: • 1: 변수를 생성 • 2: 선택 후 눈아이콘 활성 화 • 3: 이름을 설정 및 변수 타 입을 Float로 만들어줌 • 4: 선택 변수를 드래그 한 수 Get으로 생성 • 5: Event Graph 빈 곳을 선 택 후 Get Time Seconds 노드 생성 • 6: Event Graph 빈 곳을 선 택 후 float X float Multiply 노드 생성 • 7: 노드 연결 • 1 • 2 • 3 • 4 • 5 • 6 • 7
  • 52. • Auto Move BP: • 움직이는 장애물의 속도를 제어 합니다 • Get Time Seconds: 현 재 게임 시간을 초 단위로 받아 옵니다 • Z Speed: 속 도를 제어 할 수 있는 변수 값을 받아옵니다 • Float*Float(Multiply): 입력되어지는 float값두개 를 곱해준 값을 출력 합니 다 • 3
  • 53. • Auto Move BP: • 1: 변수를 생성 • 2: 선택 후 눈아이콘 활성 화 • 3: 이름을 설정 및 변수 타 입을 Float로 만들어줌 • 4: 선택 변수를 드래그 한 수 Get으로 생성 • 5: Event Graph 빈 곳을 선 택 후 Cos(Radians)노드 생성 • 6: Event Graph 빈 곳을 선 택 후 float X float Multiply 노드 생성 • 7: 노드 연결 • 1 • 2 • 3 • 4 • 5• 6 • 7
  • 54. • Auto Move BP: • 움직이는 장애물의 범위를 제어 합니다 • Cos(Radians): Cosine값을 출력 합니다 (시간에 따라 1 ~ -1사이 값 출력) • Z Size: 움 직이는 물체의 범위를 제 어 하는 변수 값을 받아 옵 니다 • Float*Float(Multiply): 입력되어지는 float값두개 를 곱해준 값을 출력 합니 다 • 3
  • 55. • Auto Move BP: • 1: Event Graph에서 빈 곳 을 클릭 하고 Make Vector 노드 생성 (노 드 세개를 생성 하고 각각 X,Y,Z의 값에 0.0을 입력 합 니다 ) • 2: 세개의 Make Vector노 드를 각각 노드당 X, Y, Z부 분을 앞의 float*float(Multiply)노드 와 연결 합니다 • 1• 2
  • 56. • Auto Move BP: • 움직이는 장애물의 속도와 범위를 설정하고 움직임을 줄 수 있는 Vector를 각 축 별로 생성 합니다 • Make Vector: X,Y,Z의 Float값을 각각 설 정 하여서 Vector를 만들 어 줍니다 • 3
  • 57. • Auto Move BP: • 1: 변수 선택 • 2: 선택한 변수를 드래그 이후 Get으로 변수 생성 • 3: Event Graph의 빈 곳을 우 클릭하고 Vector + Vector노드를 생성 합니다 • 4: Initial Location 노드 Make Vector노드를 vector + vector노드로 연 결 합니다 • 4 • 1 • 2 • 3
  • 58. • Auto Move BP: • Actor의 위치 값을 받아와 서 움직이는 Vector값을 더해 줍니다 • Initial Location: Actor의 위치 값을 받아 옵 니다 • Vector + Vector: 입력되는 두개의 Vector 값을 더해서 출력 합니다
  • 59. • Auto Move BP: • 1: Event Graph의 빈곳을 마우스 우클릭 하고 SetActorLocation노드를 세개 생성 합니다 • 2: 앞에 만들어진 Vector값 을 New Location에 연결 합니다 Compareint 에서 출력 되는 세 가지 경 우를 각각 연결해 줍니다 • 3: 모든 노드들의 연결이 완료 되면 Compile버튼을 눌러 줍니다 • 1 • 2 • 3
  • 60. • Auto Move BP: • 최종적으로 받아온 Vector 값을 Actor에 설정해 줍니 다 • SetActorLocation: Actor의 위치 값을 설정해 줄 수 있습니다
  • 61. • 3ds Max에서 소스 가져 오기: • 2 • 3• 1: C:Program FilesEpic GamesUE_4.20Engine Extras3dsMaxScriptsV ertexAnimationTools.ms 로 이동 • 2:VertexAnimationTools. ms를 3dsMax로 드래그해 서 실행합니다 • 3: script가 실행이 되면 창 이 활성화 됩니다 • 4: 원하는 Mesh를 모두 선 택을 해 줍니다 • 5: 실행된 Script에서Paint Selection Sequence버튼 을 클릭 합니다 • 1 • 5 • 4
  • 62. • 3ds Max에서 소스 가져 오기: • 2 • 3 • 1: File클릭 • 2: Export클릭 • 3: Export Selected클릭 • 1
  • 63. • 3ds Max에서 소스 가져 오기: • 2 • 3 • 1: Export할 경로를 설정 합니다 • 2: 파일 이름과 확장자를 설정 합니다 • 3: Save버튼을 클릭하고 저장 합니다 • 1
  • 64. • 3ds Max에서 소스 가져 오기: • 2 • 3 • 1: 원하는 Setting으로 설 정 • 2: Animation 체크 비 활 성화 해줍니다 • 3: OK버튼을 클릭 • 1
  • 65. • 3ds Max에서 소스 가져 오기: • 2 • 3 • 1: import누르고 import 한 파일을 선택합니다 • 2: Combine Meshes를 체 크를 활성화 합니다(이 옵 션이 활성화 되면 모든 메 쉬를 하나의 메쉬로 결합 합니다) • 3: Import버튼을 클릭해서 Mesh를 가지고 옵니다 • 1
  • 66. • 3ds Max에서 소스 가져 오기: • 1: import한 Mesh를 선택 합니다 • 2: Use Full Precision UV’s 의 정확한 계산이 필요 할 경우에는 체크 박스를 활 성화 해줍니다 (기본적으 로 StaticMesh는 메로리 를 절약 하기 위해 정밀도 16비트 UV를 사용합니다 이옵션을 활성화 하면 메 쉬가 전체 정밀도 32비트 UV를 사용 하게 됩니다) • 3: Distance Field Resolution Scale을 0으로 바꾸어 줍니다 • 4:Save버튼을 클릭 해서 저장해 줍니다 • 1 • 2 • 3 • 4
  • 67. • 3ds Max에서 소스 가져 오기: • 1: 빈 곳을 선택하고 마우스 우 클 릭 이후에 Material을 생성합니다 • 2: 생성된 Material의 원하는 이름 으로 변경해 주고 선택해 줍니다 • 3: Material 안에서 우 클릭 후에 Constant3 Vector를 생성해 주고 원하는 색깔로 설정해 줍니다 설정 된 노드를 BaseColor와 Emissive Color에 연결해 줍니다 • 4: Material안에서 우 클릭 후에 MS_SequencePainter_Sequence Flipbook 노드를 생성하고 World Position Offset에 연결해 줍니다 • 5: Material안에서 우 클릭 후에 Constant를 생성하고 3dsMax에 서 import해온 Mesh의 개수를 입 력 해 줍니다 설정된 노드를 Number Of Frames와 연결해 줍 니다 • 6: Save버튼을 클릭하고 Material 을 저장해 줍니다 • 1 • 2 • 3 • 4 • 5 • 6
  • 68. • 3ds Max에서 소스 가져 오기: • Import한 Mesh를 화면에 드래그 하고 새로 제작한 Material을 Mesh에 드래 그에서 연결 시키면 움직 이는 Mesh를 보실 수 있습 니다
  • 70. • Blueprint 제작 하기: • Import한 Mesh를 화면에 드래그 하고 새로 제작한 Material을 Mesh에 드래 그에서 연결 시키면 움직 이는 Mesh를 보실 수 있습 니다
  • 72. 오토데스크 M&E Website http://cafe.naver.com/autodeskme • Autodesk M&E 카페 (이슈사항 수시로 업데이트!) http://https://www.facebook.com/groups/1611269852441897/ http://www.scriptspot.com/3ds-max/mcg • 3ds Max Procedural Tools - MCG + DCM + OSL • Maxscript and MCG 사이트