(스압) 쇼케이스 소개 영상 분석

profile
Reset

댓글들 보니까 나만 진심인 것 같은데, 잘 모르겠다.

스샷 찍고 대가리 굴리면서 든 생각이지만 이 글 읽을때도 게임 엔진에 대한 배경 지식이 필요할 것 같음.

여기에 쓰는 거 전부 추측이니까 너무 맹신하지 마셈.

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-9 screenshot.png.jpg

 

먼저 메인 화면임.

 

맨 위의 상단 바는 순서대로

Undo, Redo, Select(선택용), Hand(씬 내에서 이동용), Eraser(지우기용), UI 빌더(이건 좀 봐야 알 듯?) + 스프라이트 관련 두 개(하나는 그리드로 보임).

거기에 상단 바 중앙은 유니티/언리얼과 다를 거 없이 플레이, 일시정지, 프레임 스킵.

이렇게 보이는 듯.

 

Model List 는 언리얼 좌측에 Modes처럼 모델링 같은 거 끌어다 놓는 용인 듯 함.

Scene, Console은 유니티하고 다를 게 없는 듯.

Property 는 당연히 유니티 Inspector, 언리얼 Details.

Workspace 는 유니티 Project, 언리얼 Content Brower 인 것 같음.

 

Workspace 를 자세히 보면 World, Scripts, DataSets, Images, Sound, Model (왜 사운드하고 모델은 복수형 아님??) 로 나뉘는데

저기 보이는 DataSets 는 데이터 테이블인 것 같음.

여기 Model 이 정육면체 아이콘으로 되있는 거 보니 떡밥인가??

 

Property 를 자세히 보면 TransformComponent, SpriteRendererComponent 가 있음.

그 위에 있는 컴포넌트는 npc-4148_1 이라는 이름을 가지고 있는데 언리얼의 Pawn과 비슷한 개념으로 보임.

스프라이트 렌더러에는 SpriteRUID 항목이 보이는데 이건 당연히 파일 관리를 위해 모든 파일에 유니티처럼 고유한 ID를 부여해 가져오는 방식으로 보임. 그런데 String 으로 되어있는건가?

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-4 screenshot.png.jpg

 

오브젝트 목록은 찾을 수 없고 레이어가 눈에 띄는데.

프로젝트 자체가 2D 전용 프로젝트라 그런 걸로 기대하고 있어야 할 듯...

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-9 screenshot (1).png.jpg

 

우측에는 각종 맵 오브젝트와 가운데 월드맵, 메뉴에는 맵 리스트가 있는 것을 알 수 있다.

문제는 이 부분에서 기존의 게임 엔진과 차이점이 나는 듯 함.

도대체 이게 무슨 의미인지 나도 잘 이해가 안되긴 하는데, 아마 같은 테마/맵의 레벨들을 묶어두기 위해서 존재하는 듯.

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-10 screenshot (1).png.jpg

 

SpriteRe... 보고 눈치 챈 건데 저기 나와있는 아이콘들이 컴포넌트 목록인 듯 함.

그 아래 있는 PortalCo... 가 기본 제공 되는 컴포넌트라면 어떨까 생각됨.

이것들 빼곤 잘 모르겠다.

 

이제부터 트레일러 순서대로 코드 분석 들어감.

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-1 screenshot.png.jpg

 

Lua 언어로 만드는 걸 볼 수 있다.

스샷은 흐린데 파일 이름 MODMaker.lua 쓰는 거 보니까 아무거나 쓰는 것 같음.

왜 루아를 선택했는진 모르겠는데 추측하기엔 MOD의 기반이 C/C++ 이라서 그런 듯?

 

개인적으로는 루아 혼자 너무 다른 느낌으로 만든 감이 없지않아 있어서 용어나 표현도 그렇고 전반적으로 코딩을 배우는 데 별로라고 생각함.

게다가 루아는 진작에 망했고 Python 이나 Go 였다면 괜찮았을 것 같다는 아쉬움이 드는 듯.

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-2 screenshot.png.jpg

 

루아 언어를 안 써봐서 잘은 모르겠는데 자세히 보면 self 는 this, Entity 는 Object/GameObject 로 바꿔 보면 이해가 바로 될 듯.

아래 보면 위에서 작성했던 lastUseSkillTime  이 적혀있는 걸 알 수 있다.

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-5 screenshot.png.jpg

 

위에가 살짝 잘렸는데 [SendToClient] 임.

_SoundService 되어있는 거 보니 이 사운드 관련 컴포넌트 따로 있고 그 컴포넌트를 가져온 것으로 보임.

PlaySound 는 위에서도 말 했듯, ID 로 관리 되서 저렇게 써져 있는 것 같은데 왜 따로 string 안만들고 저렇게 써놓은 건진 모르겠음.

 

OnUpdate 위에는 떡하니 클라이언트에서만 실행되는 거라고 써 두니 당연히 서버 단에서 실행하는 것도 있을 듯 함.

OnUpdate 옆에는 number delta 가 있는데 당연히 OnUpdate 는 1프레임에 한 번 실행, delta 는 실제 시간인 delta time 을 가져오는 것 같음.

이것만 봐도 벌써 유니티와 크게 다르지 않다는 걸 알 수 있다.

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-5 screenshot (1).png.jpg

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-5 screenshot (3).png.jpg

 

Rigidbody 등장. 땅바닥에 있는지 체크해주는 건 Rigidbody 하나만으로도 바로 되는 듯?

지역 변수 만들어서 이것 저것 계산하는 것만 나와 있음.

키 누르는 건 아래 보면 나옴.

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-5 screenshot (4).png.jpg

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-6 screenshot.png.jpg

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-6 screenshot (1).png.jpg

 

루아 주석도 // 안하고 -- 하는거 좀 짜증나긴 함.

 

 

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-6 screenshot (2).png.jpg

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-6 screenshot (3).png.jpg

[PROJECT MOD] 넥슨 미디어 쇼케이스 소개 영상 0-10 screenshot.png.jpg

 

 

순서대로 보면 인풋 시스템이 어떻게 돌아가는 지 대충 알 수 있을 듯 함.

 

그런데 Workspace 에서 Event Type 에 Event 를 추가하라는 게 정말 어질어질 하다.

뭔 소린지 하나도 모르겠음.

 

 

 


 

 

 

스샷 찍고 글 다 적기까지 대충 한 시간 걸린 것 같은데.

매우 별 거 없었다.

그냥 나오기 전 까지 유니티만 다 해도 MOD 실력자 쌉가능일 듯.

 

 

그래서 다크모드 ㅇㄷ???

댓글
0
댓글 쓰기
권한이 없습니다.