분류 전체보기(166)
-
[MSW] 메이플스토리 월드 UI 에디터의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 서버에는 UI엔티티가 존재하지 않기 때문에, UI는 무조건 클라에서만 동작한다. (서버는 ui개체에 접근할 수 없다.) (여기서 말하는 UI엔티티란, World 하위의 ui 하위에 있는 엔티티들이다.) 따라서 UI와 서버가 상호작용하기 위해서는 서버에 존재하는 엔티티와 UI 사이의 중매역할을 하는 무언가가 있어야 한다. Native모델에서 ui 개체를 씬에 끌어와 월드 상에 존재하는 ui엔티티를 생성할 수 있다. UI엔티티에 스프라이트를 넣으려면 SpriteGuiRenderer 컴포넌트의 imageRUID를 설정해줘야 한다. SpriteGUIRenderer 컴포넌트에는 preserveSprite 옵션이 있는데,..
2022.12.04 -
[MSW] 메이플스토리 월드 컴포넌트의 활용
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 입력 같은 기능이 있는 서비스에 직접 접근을 못하다보니 이벤트를 통해 처리한다. KeyDownEvent의 발생위치가 서비스일 경우에는 자동으로 이벤트 수신 위치가 service로 설정되어 있다. (이런 경우에는 대부분 따로 설정하지 않는 것이 좋다.) TouchEvent는 자주 사용되는 컴포넌트 중 하나이다. _EffectService:PlayEffect를 통해 스킬 이펙트 연출이 가능하다. _EffectService:PlayEffectAttached를 통해 엔티티를 따라다니는 이펙트 연출이 가능하다. 어떤 스킬 동작 중에는 (ex. 불릿타임) 다른 조작을 못하도록 막는 bool 인자가 필요할 것 같다. sel..
2022.11.15 -
[MSW] 메이플스토리 월드 Event의 이해와 컴포넌트 확장
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 이벤트란 개체 간의 주고받는 것이라 할 수 있다. Native단의 Event모음이 있다. MyDesk에서 Create EventType을 통해 커스텀 이벤트를 만들 수 있다. 컴포넌트와 비슷하게 프라퍼티와 펑션이 있다. 만든 이벤트를 컴포넌트의 Entity Event Handler에서 가져다 쓸 수 있다. 또한 이벤트 정보 패킷? 자체를 변수처럼 이용 가능하다. 메월드의 이벤트는 엔티티 이벤트 시스템에 의해 동작한다. 엔티티 이벤트 시스템이란, 엔티티가 주축이 되어 이벤트를 받는 경비실이 되는 한편, 컴포넌트는 엔티티에 이벤트를 보내는 택배기사 역할을 한다. 엔티티에 이벤트가 도착하면, 엔티티는 자신에게 택배 ..
2022.11.11 -
[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