MSW(13)
-
[MSW] 메이플스토리 월드 네트워크의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 메이플스토리 월드는 서버 클라이언트 구조. 메이플스토리 월드는 전통적인 구조에서의 서버 클라 동기화의 과정을 개발자 입장에서 편리하게 만듦. 프라퍼티의 [Sync]옵션이 그것. (내부적으론 비슷) 몇몇 프라퍼티 타입은 이 Sync를 지원하지 않는다. (ex. any, table...) 서버 클라 간 오류를 방지하기 위해 메월드의 주요 함수들은 server only이다. client only 함수인 OnSyncProperty을 이용해 서버로부터 변경된 프라퍼티들을 가지고 클라이언트 상에서 무언가 변화되게 할 수 있다. 모든 함수에 메서드 세팅을 통해 실행 제어를 설정할 수 있다. (서버 온리, 클라 온리...) ..
2022.11.10 -
[MSW] 메이플스토리 월드 스크립트의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 주로 쓰는 것은 컴포넌트임 컴포넌트는 부착된 엔티티에 종속되어 개별적으로 동작하지만, 로직은 월드 상에 하나만 존재하여 static처럼 동작하게 된다. (컴포넌트는 엔티티에 종속돼있지 않으면 아무런 동작도 안 하지만, 로직은 언제나 동작할 수 있다.) 접근할 때는 self.Entity.TransformComponent.Position.x 식으로 프로퍼티에 접근할 때는 .으로 접근하고, 펑션에 접근할 때는 :으로 접근한다. self.property1 = 5 //프로퍼티에 접근하는 문법 self:MyFunction1() //함수에 접근 후 호출하는 문법
2022.11.09 -
[MSW] 메이플스토리 월드 자주 사용하는 컴포넌트
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. Tween 종류의 컴포넌트들 간략한 설명 DefaultPlayer의 Rigidbody 컴포넌트의 isBlockVerticalLine 설명 (풋홀드가 설정된 타일을 옆에서 통과할 수 없게 함) DefaultPlayer의 Rigidbody 컴포넌트의 isQuaterView 설명 (캐릭터의 움직임을 쿼터뷰 움직임으로 바꿈) DefaultPlayer의 Trigger 컴포넌트 간략한 설명 트리거 컴포넌트가 있는 물체끼리만 상호작용 가능 스크립트를 통해 콜라이더 이벤트 핸들링 간략히 설명 DefaultPlayer의 Player 컴포넌트에 대해 간략히 설명 UI버튼을 통해 HP바를 추가할 시 워크스페이스에 새 스크립트가 생..
2022.11.08 -
[MSW] 메이플스토리 월드 지형과 레이어의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. TileMap 엔티티의 프라퍼티를 조정하여 타일 변경, 타일 색 변경, 풋홀드 옵션 설정이 가능하다. TileMap 엔티티의 모델에 포함되어 있는 풋홀드는 마우스 오른쪽 클릭 -> Edit FootHold를 통해 수정이 가능하다. (이 상태에서 Add Point, Delete Point 등으로 세밀한 조정이 가능하다) (작업이 끝난 후엔 Exit Edit) 하나의 맵에 총 10개까지 레이어가 추가될 수 있으며, 맵 레이어 패널에서 활성화 비활성화, 잠금이 가능하다. 상단의 레이어가 위에 표시된다. 맵 레이어 패널에서 레이어 위에 오른쪽 클릭을 하여 다양한 작업이 가능하다. 이미 배치된 엔티티의 레이어를 바꿔주고..
2022.11.08 -
[MSW] 메이플스토리 월드 기본 컴포넌트의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. TransformComponent 의 Position은 해당 Entity의 부모 기준 좌표를 나타낸다. ZRotation 또한 부모 기준 회전값을 나타낸다. SpriteRUID값이 해당 Sprite를 가리킨다. 이미지를 ID형태로 관리한 것. 외부 이미지 임포트 할 때도 RUID가 발급이 돼서, 해당 ID를 바로 사용 가능함. 연속된 이미지의 집합(애니메이션)도 RUID로 불러와 사용이 가능하다. PlayRate 값은 애니메이션의 속도를 결정한다. DrawMode를 Tiled로 설정해 반복적인 패턴을 연출할 수 있다.
2022.11.05 -
[MSW] 메이플스토리 월드 기본 개념의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 엔티티란, 월드 상에 존재하는 물체를 칭한다. 씬 메이커에서 볼 수 있는 모든 항목들을 엔티티라고 부를 수 있다. ex. 지형 타일, 월드, 물체, 배경 등등 각각의 엔티티들은 여러 개의 컴포넌트로 구성되어 있으며, 구성된 컴포넌트들의 성질을 가짐. 프로퍼티는 컴포넌트 내에 특정한 값을 부여할 수 있는 것을 말한다. 엔티티는 일반적으로 눈으로 확인 가능함. 모든 엔티티는 씬 메이커에 표기되어 있다. 서비스, 로직은 둘 다 월드 상 딱 하나만 존재한다. 두 개의 차이는 서비스는 월드의 로우 레벨단에서 무언가 제어하는 기능이 많다. 그래서 서비스에는 기본적인 기능이 많다. ex. 유니티의 기본 클래스 Debug.~..
2022.11.04