> For the complete documentation index, see [llms.txt](https://ditoland-utplus.gitbook.io/ditoland/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ditoland-utplus.gitbook.io/ditoland/manual/business-studio-manual.md).

# Enterprise Studio Manual

Enterprise 전용 스튜디오 기능의 사용법이에요

![](https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lxtl0ocR1cA2G25jLXa%2F-MiU9yGxiszNyf1Zq9Gf%2F-MiUBOew54WxSHp5nI5y%2FHoneycam%202021-09-01%2011-30-10.gif?alt=media\&token=44a96523-3a19-4419-98c6-10692d5235f7)

## Enterprise 가입방법&#x20;

{% content-ref url="/pages/-MhrU3CK7khbPmokURxD" %}
[Enterprise Account](/ditoland/manual/business-account.md)
{% endcontent-ref %}

## Enterprise 전용 오브젝트 종류&#x20;

<table data-header-hidden><thead><tr><th width="182">배치 위치</th><th width="203.33333333333331">이름</th><th width="353.6666666666667">기능</th></tr></thead><tbody><tr><td><strong>배치 위치</strong></td><td><strong>이름</strong></td><td><strong>기능</strong></td></tr><tr><td>월드</td><td>Media</td><td>URL에 해당하는 영상을 재생합니다.</td></tr><tr><td>ScreenUI</td><td>MediaView</td><td>URL에 해당하는 영상을 재생합니다.</td></tr><tr><td>ScreenUI</td><td>WebBrowser</td><td>URL에 해당하는 웹페이지를 출력합니다.</td></tr><tr><td>ScreenUI</td><td>HyperLinkButton</td><td>버튼 클릭시 URL의 웹페이지로 연결합니다.</td></tr><tr><td>ScreenUI</td><td>YoutubeViewer</td><td>URL에 해당하는 유튜브 영상들을 <br>내부 웹페이지 형태의 그리드로 출력합니다.  </td></tr></tbody></table>

### 배치 방법&#x20;

1\. **승인된 Enterprise 계정**으로 스튜디오에 로그인 합니다.

![](https://lh3.googleusercontent.com/klkyLrZ99c6LRuRGNcV6WaBgpl2yrnUV0F_boxnyr0sOVI_3PZCiZIwY1XgG6PI7gvVKcsiYikP55WwUvxHkQIWVAnIAIoqXPVsmgavonNGL0ydpjuE6LpR7SL4DRfVWyUDzcsFA=s0)

2\. 작업할 맵 파일을 엽니다.

3\. **월드 오브젝트**에서 + 버튼을 눌러 Media 오브젝트를 배치할 수 있습니다.

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2F46QuVmZRB8Hhhz9Q6qih%2F1.png?alt=media&amp;token=ddca5f1f-1692-4e3d-a842-e9e1557c8a6a" alt=""><figcaption></figcaption></figure>

4\. **ScreenUI**에서 + 버튼을 눌러 WebBrowser, MediaView, HyperLinkButton, YouTubeViewer 위젯을 \
배치할 수 있습니다.

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2Fud4ZfeuHv1H0IseEuq2J%2F2.png?alt=media&amp;token=f2c9861d-3a4a-4133-85f4-9f9886d997b5" alt=""><figcaption></figcaption></figure>

\
\
5\. 배치한 오브젝트를 선택한 뒤, 프로퍼티창에서 세부 옵션 설정이 가능합니다.

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FHYZkv4N5g39pbLDGQYns%2F3.png?alt=media&amp;token=d44fb3ce-f96d-45a9-83e0-153d5f18c2d4" alt=""><figcaption></figcaption></figure>

## 전용 오브젝트 관련 프로퍼티&#x20;

### Media 오브젝트

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FCmZk9Grxo8urWfCBMKN5%2F111.png?alt=media&amp;token=e039a48a-0e63-4d33-a291-c51b9dc6d638" alt=""><figcaption></figcaption></figure>

* Media Player : 출력할 영상을 미리 재생해볼 수 있어요
* MediaURL : 미디어 서버에 등록된 출력할 영상의 URL이에요&#x20;
* Looping : 출력할 영상의 반복 여부에요 (true = 반복 / false = 미반복)
* PlayOnOpen : 영상이 스크립트로 열렸을 때 재생할지 여부에요 (true = 재생 / false = 미재생)
* Target to Sync : 타겟으로 설정된 오브젝트에 동기화하여 영상이 보여져요
* Sync with Players : 다른 Media 오브젝트와 동기화하여 같이 보여줄지 여부에요 \
  (true = 동기화 / false = 미 동기화)
* FalloffDistance : 유튜브 영상 소리의 감쇠 반경 범위에요 (모바일에선 감쇠 기능이 동작하지 않아요)
* InnerRadius : 영상 소리의 반경 범위에요
* Pause Radius : 캐릭터가 나갔을 때 영상을 일시정지 하는 범위에요
* Play Radius : 캐릭터가 닿았을 때 영상을 재생하는 범위에요
* Trigger Play : Play Radius 영역에 들어왔을 때 영상을 재생할지 여부에요 \
  (true = 재생 / false = 미재생)

#### Media 오브젝트 - 스크린 프로퍼티

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FEEMAqtZt2OyPxKb8mNIS%2F12.gif?alt=media&amp;token=9757f92d-5016-4215-b73a-3b1c61c2f8e0" alt=""><figcaption></figcaption></figure>

ⓐ **MediaMesh** : 출력될 미디어 스크린의 Mesh를 변경합니다.&#x20;

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FWwy9xhmOV1Yx4QdpjPHz%2F13.gif?alt=media&amp;token=0e226487-0b80-4c33-8af3-a74c659bb7ac" alt=""><figcaption></figcaption></figure>

→ **Custom Type**의 경우, 툴박스에서 원하는 매쉬를 선택할 수 있습니다.

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FNS7jDSyk1wyty8glvGMT%2F14.png?alt=media&amp;token=bd9983d4-c6a1-4cee-9d57-9a4a3402cad5" alt=""><figcaption></figcaption></figure>

ⓑ **CurvedScreen** : 적용된 Mesh를 휠 수 있습니다. (최소값 -1 최대 1)

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2Fj0ZdST4TuXdZCzDLvZGd%2F15.png?alt=media&amp;token=1d938617-82c9-4095-b9ea-d3cb19abb2cf" alt=""><figcaption></figcaption></figure>

ⓒ **FillScreen** : 업로드한 영상의 해상도에 맞춰 영상을 재생합니다.

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FW8PH9K57AVQbWhrYnI2l%2FUntitled%204.png?alt=media&amp;token=50e61f5e-0336-4854-a1ff-7f456f721288" alt=""><figcaption></figcaption></figure>

### MediaView 위젯

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FLjKpjbuBDypgHWXLkvLv%2F5.png?alt=media&amp;token=4c387cc5-5e2e-45f6-a97f-120825b790df" alt=""><figcaption></figcaption></figure>

* URL : 미디어 서버에 등록된 출력할 영상의 URL이에요
* Quality Type : 미디어 서버에 등록된 영상이 유튜브 URL일 경우, 출력할 유튜브 영상의 품질이에요
* Quality : 미디어 서버에 등록된 영상이 유튜브 URL일 경우, 유튜브 영상의 해상도에요 (최대 해상도 720)
* Media Player : 출력할 영상을 미리 재생해볼 수 있어요

### YouTubeViewer 위젯

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FFnANGxPfWiShEx50Mxch%2F6.png?alt=media&amp;token=778cab1b-93b4-431e-87ce-9b58be80dd09" alt=""><figcaption></figcaption></figure>

* Add YoutubeURL : 유튜브 웹 뷰에 출력될 영상 URL을 추가해요
* URLn : 출력할 영상의 URL이에요
* 아래는YouTubeViewer 출력 시 이미지에요.

<figure><img src="https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lxtl0ocR1cA2G25jLXa%2Fuploads%2FvzWfSN5VCy5UzDHdZO5W%2F7.png?alt=media&amp;token=6c3c1233-f087-4ad4-901e-14892c3dd167" alt=""><figcaption></figcaption></figure>

### HyperLinkButton 위젯

![](https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lxtl0ocR1cA2G25jLXa%2F-MiU7khihqSVjONvWCx-%2F-MiU8qpH4NK456k6OL4U%2Fimage.png?alt=media\&token=6eb4dcc8-6e0d-473a-998d-c707ac89c4bd)

* URL : 버튼 클릭시 연결할 웹페이지의 URL이에요

### 주의 사항

* YouTube의 경우, 비공개로 설정된 영상은 표시되지 않을 수 있습니다. \
  (만약 영상이 나오지 않는다면 공개로 설정되었는지 확인해보세요!)

## 스크립트 기능

### Media 오픈 (Client와 Server)

```lua
--Client 에서 처리
local Media = Workspace.Media --Media 오브젝트를 변수에 할당해요

local ScreenUI = Workspace.ScreenUI

------------ 미디어 파일 업로드 중일때 진행도를 PrograssBar로 보여줘요
local function Media_UploadProgress(progress)     
    ScreenUI.ProgressBar:SetPercent(progress)
end
Media.OnUploadProgress:Connect(Media_UploadProgress)

------------ 1. 파일 다이얼로그를 오픈해요
local function OpenFileDialog(self)
    Media:OpenFileDialog()
end
ScreenUI.OpenFileDialogButton.OnPressEvent:Connect(OpenFileDialog) ------------ 버튼을 통해, FileDialog를 오픈해요

------------ 2. 미디어 서버에 파일 업로드 완료 상태를 체크해요.
local function Media_LoadComplete()        
    local mediaURL = Media.MediaURL ------ BroadCast를 위해, 미디어 서버에 올라간 MediaURL을 가져와요.
    Game:SendEventToServer("GetMediaURL", mediaURL) ------------ BroadCast를 위해, 서버에 MediaURL을 보내요     
end
Media.OnLoadCompleted:Connect(Media_LoadComplete)
```

```lua
--Server 에서 처리
local Media = Workspace.Media --Media 오브젝트를 변수에 할당해요

------------ 3. 미디어 키로 영상을 오픈해요
local function GetMediaURL(player, mediaURL)
    Media.MediaURL = mediaURL
    Media:OpenURL() ------ MediaURL을 오픈해요.
end
Game:ConnectEventFunction("GetMediaURL", GetMediaURL)
```

### Media 재생 제어 (Client/Server Script)

```lua
local Media = Workspace.Media --Media 오브젝트를 변수에 할당해요

--Media 오브젝트의 영상을 재생해요 
Media:Play()
 
wait(5)
Media:Pause() --재생중인 영상을 일시정지해요
 
wait(5)
Media:Pause() --일시정지한 영상을 다시 재생해요
 
wait(2)
Media:Close() --영상 재생을 멈춰요

```

### YouTubeViewer Widget (Client Script)

```lua
local ScreenUI = Workspace.ScreenUI --UI를 변수에 할당해요 
local Youtube_Viewer = ScreenUI.Youtube_Viewer --Youtube_Viewer 위젯을 변수에 할당해요

Youtube_Viewer:OpenViewer() --YoutubeViewer 웹 페이지를 오픈해요
```

### WebBrowser Widget (Client Script)

```lua
local ScreenUI = Workspace.ScreenUI --UI를 변수에 할당해요 
local WebBrowser = ScreenUI.WebBrowser --WebBrowser 위젯을 변수에 할당해요
local InitLink = WebBrowser.WebURL --WebBrowser 위젯에 설정된 링크를 변수에 할당해요 
 
wait(5)
print("Change Link!")
WebBrowser.WebURL = "https://ditoland.net/main" --WebBrowser 위젯의 링크를 변경해요 
```

### HyperLinkButton Widget (Client Script)

```lua
local ScreenUI = Workspace.ScreenUI --UI를 변수에 할당해요 
local HyperLinkButton = ScreenUI.HyperLinkButton --HyperLinkButton 위젯을 변수에 할당해요
local InitLink = HyperLinkButton.URL --HyperLinkButton 위젯에 설정된 링크를 변수에 할당해요 
 
wait(5)
print("Change Link!")
HyperLinkButton.URL = "https://ditoland.net/main" --HyperLinkButton 위젯의 링크를 변경해요 
```

### ChattingChannel (ClientScript)

{% tabs %}
{% tab title="JoinChattingChannel" %}

```lua
local ChannelName = "Channel1" --채팅 채널 이름을 변수에 할당해요 
 
wait(2)

--LocalPlayer를 Channel1 채널에 입장시켜요 
--같은 채널에 있는 플레이어끼리만 채팅이 보이게 돼요 
LocalPlayer:JoinChattingChannel(ChannelName) 
```

{% endtab %}

{% tab title="LeaveChattingChannel" %}

```lua
local ChannelName = "Channel1" --채팅 채널 이름을 변수에 할당해요 
 
wait(2)

--LocalPlayer를 Channel1 채널에서 퇴장시켜요  
LocalPlayer:LeaveChattingChannel(ChannelName) 
```

{% endtab %}
{% endtabs %}

### ImageID (ClientScript)

```lua
local ScreenUI = Workspace.ScreenUI --UI를 변수에 할당해요 
local Image = ScreenUI.Image --Image 위젯을 변수에 할당해요

--변경할 Image 리소스의 ID를 변수에 할당해요 
--Image 리소스의 ID는 툴박스에서 이미지를 우클릭해서 확인할 수 있어요
local ResourceID = 6800 
 
wait(5)
print("Change Image!")
Image.ImageID = ResourceID --Image 위젯에 표시할 리소스 ID를 적용해요
```

### 더 많은 기능을 보려면&#x20;

{% content-ref url="/pages/-LycGRMZpPmMOgQ9uQym" %}
[API Reference](/ditoland/api-reference.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MVtaDaG-u\_oXNmVLp9f" %}
[Sample](/ditoland/sample.md)
{% endcontent-ref %}

## 기타 문의 방법&#x20;

![](https://1068493773-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lxtl0ocR1cA2G25jLXa%2Fsync%2F5455b8eca3d169c3b74d1877ec9b0747f2b0d6fb.png?generation=1616659359338028\&alt=media)

**다른 개발자들과 다양한 정보를 공유하세요. 디토랜드 운영에게 직접 질문할 수도 있습니다.**

### [**디토랜드 디스코드 바로가기👉**](https://discord.gg/7EugJsh4nX)
