스크립트 개요
Last updated
Last updated
스크립트를 이용하여 Part에 닿은 캐릭터를 죽이거나, 카운트다운 후 게임이 시작되는 게임 로직 등 게임의 컨텐츠를 자유롭게 제작할 수 있습니다.
오버데어 스튜디오는 세가지 종류의 스크립트를 제공하며, 각 스크립트는 고유한 용도로 사용됩니다.
Script
서버에서 실행할 기능을 구현
게임 로직 처리
LocalScript
클라이언트에서 실행할 기능을 구현
카메라 처리, Gui 처리
ModuleScript
공통된 기능들을 분리하여 재사용 가능하게 구조화하기 위한 스크립트
몬스터 클래스 구현
스크립트는 Level Browser에서 Workspace나 ReplicatedStorage 같은 다양한 위치에 생성할 수 있으며, 스크립트의 종류와 배치된 위치에 따라 용도와 실행 가능 여부가 달라집니다.
스크립트의 기능을 효율적으로 관리하기 위해, 각 위치는 다음과 같은 목적으로 사용됩니다.
ReplicatedStorage
서버와 클라이언트에 복제되는 객체를 위한 공간 (예시 : ModuleScript)
ModuleScript
ServerScriptService
서버와 관련된 기능을 위한 공간 (예시 : ServerGameLogic)
Script ModuleScript
ServerStorage
즉시 복제할 필요가 없는 서버 객체를 위한 공간 (예시 : GunBullet)
Script
ModuleScript
StarterGui
Gui를 제어하기 위한 공간 (예시 : PlayerHUD)
LocalScript ModuleScript
StarterPlayer.
StarterCharacterScript
캐릭터가 스폰될 때 실행할 스크립트를 위한 공간 (예시 : FirstPersonLock)
LocalScript ModuleScript
StarterPlayer.
StarterPlayerScript
플레이어가 입장할 때 실행할 스크립트를 위한 공간 (예시 : InputHandler)
LocalScript ModuleScript
Workspace
월드에 배치할 오브젝트를 위한 공간 (예시 : CheckPoint)
Script ModuleScript
플레이어의 입장으로 월드가 생성되면, 서버는 ServerScriptService와 Workspace에 배치된 Script를 로드하고 실행합니다.
실행 순서 : ServerScriptService ➡ Workspace
이 순서는 서버 스크립트가 먼저 초기화되며, 월드에 대한 전역적인 설정이나 객체 관리 작업을 우선 처리하기 위한 구조입니다.
클라이언트가 월드에 접속하면, 클라이언트는 StarterGui, StarterPlayerScripts, StarterCharacterScripts에 배치된 LocalScript를 클라이언트로 복사하여 로드한 뒤 실행합니다.
실행 순서 : StarterGui ➡ StarterPlayerScripts ➡ StarterCharacterScripts
이 순서는 UI와 플레이어 관련 설정 및 로직을 초기화하며, 클라이언트가 게임과 상호작용할 수 있는 준비를 완료합니다.
ModuleScript는 서버와 클라이언트 모두에서 호출 가능하며, Script 또는 LocalScript에서 공통 기능이나 재사용 가능한 코드를 정의하는 데 활용됩니다.
모듈은 명시적으로 호출(require
)될 때 실행되며, 첫 호출 시 초기화된 결과가 캐싱되므로 이후 호출 시에는 동일한 값을 반환합니다. 이를 통해 실행 효율을 높이고, 일관성을 유지할 수 있습니다.
실행 순서 (서버) : 호출된 위치(예 : Workspace, ServerStorage 등) ➡ 모듈 스크립트 위치
Script가 게임의 전역 로직이나 서버 데이터를 처리하는 ModuleScript를 호출할 수 있습니다.
실행 순서 (클라이언트): 호출된 위치(예 : StarterPlayerScripts 등) ➡ 모듈 스크립트 위치
LocalScript가 UI나 플레이어 관련 기능를 처리하는 ModuleScript를 호출할 수 있습니다.
💡 Tip. ModuleScript는 ReplicatedStorage에 배치될 경우, 서버와 클라이언트 모두에서 호출할 수 있어 공통 로직을 구현하는 데 유용합니다.
오버데어 스튜디오에서 제공하는 스크립트 기능은 API Reference에 모두 정리되어 있습니다. 스크립트를 작성하다 보면 속성이나 함수, 이벤트의 사용법이나 기능이 헷갈릴 때가 있는데, 이럴 때 API Reference를 활용하면 필요한 정보를 쉽게 확인할 수 있습니다.
예를 들어 스크립트에서 PlayerAdded
이벤트를 사용할 때, 이 이벤트가 어떤 역할을 하고 어떻게 동작하는지 궁금하다면 API Reference를 확인해보세요. API Reference는 각 기능의 설명과 사용법, 그리고 관련 예제까지 포함하고 있어 스크립트 작성 및 디버깅 과정에서 매우 유용한 도구가 됩니다.
API Reference를 활용하면 코드를 더 정확하고 효율적으로 작성할 수 있을 뿐만 아니라, 스크립트 기능에 대한 깊이 있는 이해도 가능합니다.