본문 바로가기
게임개발/NEXON PROJECT MOD

멋쟁이사자처럼 X 넥슨 MOD Supporters Hackathon 2주차 회고

by tripleup 2022. 7. 1.
728x90
반응형

[MOD 강좌 Chapter 3] 기본 컴포넌트의 이해


▶  컴포넌트 소개

TransformComponent
Position : Entity의 좌표 (상대 좌표)

자식의 Position은 부모 기준의 상대 Position

부모-자식 관계가 생성되거나 사라지면, Position은 자동으로 갱신

Scale : Entity의 크기

1이 기준, 2는 두배, 3은 3배이다

가로 세로 별도로 크기 변경 가능

World Position : 월드 기준의 좌표 (절대 좌표)

자식의 World Position = 자식의 Position + 부모의 Position

WorldZRotation : 월드 기준의 회전 값 (절대 값)
ZRotation :  Object의 상대 회전 값 (상대 값)

 

SpriteRendererComponent 
DrawMode : 그리기 모드 (Simple/Tiled)

Simple은 일반적인 형태

Tiled는 같은 이미지를 반복하는 형태 (복붙 느낌)

PlayRate : 애니메이션 되는 리소스의 경우, 애니메이션의 속도 값

최소 1 이상의 값을 지원

숫자가 높을수록 속도가 증가

SortingLayer : Entity의 레이어 변경 가능
SpriteRUID : 표시하려는 Sprite 혹은 AnimationClip의 RUID 값

모든 Entity에는 고유의 RUID 값이 존재

이 값으로 소스 검색기를 이용하면 쉽게 찾기 가능

import 한 이미지도 RUID 발급되어 존재

멈춰있는 이미지 뿐만 아니라 움직이는 애니메이션(연속된 이미지의 집합)도 하나로 RUID로 표시

StartFrameindex : 재생할 애니메이션의 시작 프레임
EndFrameindex : 재생할 애니메이션의 마지막 프레임

Start 값이 1이고 End값이 2라면, 1에 해당하는 프레임과 2에 해당하는 프레임만 연속적으로 표현

TiledSize : DrawMode가  Tiled일 경우에 Tile Size를 조정

1이 기준, x가 2라면 가로로 2배 증가, y가 2라면 세로로 2배 증가

소수점도 가능하지만 Sprite가 잘리는 현상 발생

Color : Sprite에 색깔을 씌움

흰색(기본)이면 sprite 원본의 색 표현

해당 color와 원본의 색과 조합되어 표현

 

 


[MOD 강좌 Chapter 4] 지형과 레이어의 이해


레이어별로 하나의 타일만 사용 가능

TileMapComponent
Color : 타일맵의 색상 지정
TileSetRUID : 타일맵에서 사용할 타일셋 리소스의  RUID 지정
Color : 타일맵의 색상 지정
Foothold ~  :  발판 정보

File -> Setting -> 만들기 -> 발판정보 ✅ : 발판의 정보 확인 가능

Model List 중 Foothold : Foothold 정보를 이미 포함한 Entity

Edit Foothold를 통해 수정 가능 

수정 후 Exit Edit Foothold를 통해 저장

FootholdDrag  :  이 타일맵 위에 있는 캐릭터의 마찰력 변화 (값이 크면 더 빠르게 감속)
FootholdForce  이 타일맵 위에 있는 캐릭터에 가하는 힘 (양수일 경우 오른쪽, 음수일 경우 왼쪽으로 힘을 받음)
FootholdWalkSpeedFactor  이 타일맵 위에 있는 캐릭터의 속력 변화(값이 크면 더 가속)
Map Layer Panel

하나의 Map에는 최대한 10개까지 Layer 추가 가능

상단일수록 맨 앞으로 배치

 

 


[MOD 강좌 Chapter 5] 자주 사용하는 컴포넌트


TweenLineComponent : 물체의 선 운동 지정
TweenCircularComponent : 물체의 회전 운동 지정
TweenFloatingComponent : 물체의 부유 지정
목적지 위치 : 움직이는 물체의 이동 지정
종료방식 : 왕복 방식

OneRoundTrip : 왕복 한번

RepeatRoundTrip : 왕복 반복

선형운동방식 : 운동 타입 정의

Linear(기본값) : 목적지까지 등속 운동

다양한 옵션이 존재함

동기화 방식 

ServerAuthority(기본값) : 동기화

ClientOnly : 비 동기화

RigidbodyComponent : 강체(고체,유체와 반대되는 개념)의 물리적인 속성
Gravity : 물체의 중력값, 떨어지는 속도
IsBlockVertical : 벽 같은 지형을 무조건 통과할 수 없도록 할 때 사용

활성화 시✅ : foothold를 통과하지 못함

다만 foothold가 연속적일 경우에는 비활성화 상태여도 통과하지 못함

IsQuaterViewMode :  기본 이동 규칙을 쿼터뷰 이동으로 변경(수평수직이동 개념)

활성화 시✅ : 유저가 수평 수직 모두 이동 가능

맵과 배경에 따라 알맞게 사용해야 함

MovementComponent : 객체의 움직임 설정

객체에 해당 컴포넌트가 없다면 움직임 불가

InputSpeed : 조작의 움직임 속도 설정
JumpForce : 조작의 점프력 정도 설정
TriggerComponent : Entity의 충돌 발생 감지

스크립트에서 이벤트를 받아서 충돌에 대한 처리 설정

TriggerEnterEvent : Trigger Body와 TriggerReactor가 최초로 충돌할 때 Reactor 쪽으로 발생하는 이벤트
TriggerStayEvent : Trigger Body와 TriggeReactor의 충돌이 유지되고 있을 때 Reactor 쪽으로 발생하는 이벤트
TriggerLeaveEvent : Trigger Body와 TriggerReactor가 충돌이 끝났을 때 Reactor 쪽으로 발생하는 이벤트
MyPlayer 컴포넌트 생성 - 충돌발생 시 밀려남

충돌이 발생했을 때 밀려남 발생

PlayerComponent : 객체간의 충돌이 발생했을 때 이를 알림
PVPMode :  플레이어간 공격이 가능한지 여부

활성화 시✅ : 플레이어가 공격 가능

MyPlayer 컴포넌트 생성 - 충돌발생 시 HP 100 감소

PlayerControllerComponent : 플레이어  상태
FixedLookAt(고정방향) : 이동 시에 바라보는 방향을 한쪽으로 고정

0이면 좌우 모두 가능

양수일 경우 오른쪽, 음수일 경우 왼쪽 바라봄

LookDirectionX : 현재 X축으로 캐릭터가 바라보고 있는 방향

양수일 경우 오른쪽, 음수일 경우 왼쪽

MyPlayer 컴포넌트 생성 - 충돌발생 시 LookDirection 값에 따라 다르게 밀려남

 

728x90
반응형

댓글