캐릭터 초기 속성 편집

# 학습 과정 소개

동시에 출발해 목표 지점까지 오르는 게임을 시작할 때 누군가는 한 번에 4칸을 오르고, 다른 누구는 2칸을 오른다면 함께 게임을 즐길 수 없을 것입니다. 게임을 처음 시작할 때 만큼은 동일한 환경에서 시작하는 게 중요합니다. 모델 프로퍼티를 이용해 속성을 편집하는 방법을 알아봅니다.

# 플레이어 기본 속성 변경

Player 모델에서 기본 속성을 변경할 수 있습니다.

  1. Workspace - BaseEnvironment - NativeModel - Player를 선택합니다.
  2. Player의 프로퍼티 값을 변경합니다.
  3.  [시작] 버튼을 눌러 변경 사항을 확인합니다.



Player 모델 프로퍼티는 다음과 같습니다. 여러 프로퍼티를 참조할 경우 정확한 구분을 위해 모델 프로퍼티 명칭이 변경된 경우가 있습니다.

[png](16357503109659b1496c0a9e84d899b57ed7a46c12439)

[{"모델 프로퍼티 명":"speed","원 컴포넌트 원 프로퍼티 명":"MovementComponent InputSpeed","설명":"플레이어의 기본 이동 속도 값을 정합니다. 값이 클수록 빠르게 움직입니다.기본값은 1.2입니다."},{"모델 프로퍼티 명":"jumpForce","원 컴포넌트 원 프로퍼티 명":"MovementComponentJumpForce","설명":"플레이어의 기본 점프 높이를 설정합니다. 값이 클수록 높이 점프합니다.기본값은 1입니다"},{"모델 프로퍼티 명":"walkAcceleration","원 컴포넌트 원 프로퍼티 명":"RIgidbodyComponentWalkAcc","설명":"이동 가감속 값을 설정합니다. 값이 클수록 최대 속도에 빠르게 도달합니다.기본값은 1입니다."},{"모델 프로퍼티 명":"gravity","원 컴포넌트 원 프로퍼티 명":"RIgidbodyComponentGravity","설명":"플레이어가 받는 중력 값입니다. 값이 클수록 빠르게 떨어집니다.기본값은 1입니다."},{"모델 프로퍼티 명":"cameraDeadZone","원 컴포넌트 원 프로퍼티 명":"CameraComponentDeadZone","설명":"입력한 범위까진 플레이어 아바타가 움직이더라도 카메라는 고정됩니다.X, Y값이 0일 경우 플레이어 아바타의 모든 움직임에 카메라가 반응합니다."},{"모델 프로퍼티 명":"cameraSoftZone","원 컴포넌트 원 프로퍼티 명":"CameraComponentSoftZone","설명":"SoftZone 영역을 설정합니다. 대상이 프레임의 영역에 들어오면 카메라가 방향을 바꾸어 DeadZone으로 되돌립니다."},{"모델 프로퍼티 명":"cameraDamping","원 컴포넌트 원 프로퍼티 명":"CameraComponentDamping","설명":"플레이어 아바타가 DeadZone을 벗어나 이동할 때 카메라가 쫓아가게 됩니다.이때 화면을 급격하게 틀지 않고, 자연스럽게 플레이어 아바타를 따라가게 합니다.값이 클수록 움직이는 플레이어 아바타를 부드럽게 따라갑니다."},{"모델 프로퍼티 명":"cameraScreen","원 컴포넌트 원 프로퍼티 명":"CameraComponentScreenOffset","설명":"화면에서 DeadZone의 중심점 위치를 지정합니다.X, Y값은 (0,0)부터 (1,1)까지 입력할 수 있습니다.."},{"모델 프로퍼티 명":"cameraDutch","원 컴포넌트 원 프로퍼티 명":"CameraComponentDutchAngle","설명":"카메라 회전 각도를 설정합니다.큰 값을 입력할수록 화면이 시계 방향으로 회전합니다.카메라는 입력한 값에 따라 반시계 방향으로 회전합니다."},{"모델 프로퍼티 명":"cameraOffset","원 컴포넌트 원 프로퍼티 명":"CameraComponentCameraOffset","설명":"카메라 위치를 입력 받은 값만큼 보정합니다.X, Y 좌표값은 절댓값입니다. 입력한 값만큼 카메라가 이동해 플레이어 아바타를 추적합니다."},{"모델 프로퍼티 명":"message","원 컴포넌트 원 프로퍼티 명":"ChatBalloonComponentMessage","설명":"플레이어 아바타의 말풍선 안에 들어갈 내용을 입력합니다."},{"모델 프로퍼티 명":"chatModeEnabled","원 컴포넌트 원 프로퍼티 명":"ChatBalloonComponentChatModeEnaled","설명":"채팅창에 입력한 대화가 말풍선으로 동시에 나타납니다. 활성 상태가 기본입니다."},{"모델 프로퍼티 명":"nameTag","원 컴포넌트 원 프로퍼티 명":"NameTagComponentName","설명":"플레이어의 이름표를 붙이거나 뗄 수 있습니다.NameTagComponent의 Enable 체크박스를 해제해 비활성화합니다."},{"모델 프로퍼티 명":"damageSkinId","원 컴포넌트 원 프로퍼티 명":"DamageSkinSettingComponentDamageSkinld","설명":"ID값을 입력해 대미지 스킨 종류를 정합니다."},{"모델 프로퍼티 명":"damageDelayPerAttack","원 컴포넌트 원 프로퍼티 명":"DamageSkinSettingComponentDelayPerAttack","설명":"대미지 값이 여러 번 화면에 보일 때 대미지 값 사이의 지연 속도(초)를 입력합니다."},{"모델 프로퍼티 명":"triggerBodyBoxsize","원 컴포넌트 원 프로퍼티 명":"TriggerComponentBoxSize","설명":"플레이어가 충격 감지하는 범위를 박스 크기 좌표 값으로 정합니다."},{"모델 프로퍼티 명":"triggerbodyBoxOffset","원 컴포넌트 원 프로퍼티 명":"TriggerComponentOffset","설명":"플레이어가 충격을 감지하는 박스의 위치를 좌표 값으로 정합니다."},{"모델 프로퍼티 명":"maxHp","원 컴포넌트 원 프로퍼티 명":"PlayerComponentMaxHP","설명":"플레이어의 최대 체력을 설정합니다.기본값은 1000입니다."}]

# 모델 프로퍼티 비활성화하기

크리에이터의 의도에 따라 필요 없는 모델 프로퍼티를 비활성화 할 수 있습니다. 예를 들어, NameTag을 사용하고 싶지 않다면, 프로퍼티 에디터에서 NameTagComponent의 Enable 체크를 해제합니다.

[png](1634115527034a6cafbd8f68a4de49a827121df6f7a9c)

# DefaultPlayer의 기본 컴포넌트 삭제하기

기본 컴포넌트를 확장한 컴포넌트를 제작해 사용한다면, DefaultPlayer의 기본 컴포넌트를 삭제해야 합니다. 근본이 같은 컴포넌트가 여러 개 있으면 오동작 가능성이 커지기 때문에 기본적으로 하나의 컴포넌트만 사용하는 것을 권장합니다.

> Tip. 컴포넌트 특성에 따라 확장한 컴포넌트 여러 개를 함께 활용할 수도 있습니다.

> Tip. 컴포넌트의 동작 방식이 각각 다르므로 비활성화만 하는 것은 권장하지 않습니다. 오동작 가능성은 낮지만, 스크립트 작성 중 컴포넌트 명이 헷갈리거나 작성한 대로 동작하지 않고 오류가 날 가능성이 있기 때문입니다.

  1. Workspace - BaseEnvironment - NativeModel - Player를 선택합니다.
  2. 모델 프로퍼티 창에서 삭제하고 싶은 컴포넌트를 선택합니다.
  3. 콘텍스트 메뉴를 열어 Remove Component를 클릭합니다.



[png](1659574418759c11cbf083bd3472893c15be435fbe1f5)

# 마무리

모델 프로퍼티 값을 조금 바꿔 색다른 재미를 만들 수 있습니다. 기본 설정과 나만의 설정을 비교해 게임에 어울리는 플레이어 속성을 만들어보세요.