> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-ko/scene-editor/interactivity/smart-items-advanced.md).

# 스마트 아이템 - 고급

씬에서 스마트 아이템을 사용해 상호작용을 추가하세요.

대부분의 스마트 아이템에는 기본 모듈이 있어 가장 흔한 설정만 간단하게 구성할 수 있지만, 아래로 스크롤하면 **고급** 마커를 지나 거의 모든 동작을 원하는 대로 사용자 지정할 수 있습니다.

{% embed url="<https://www.youtube.com/watch?v=m_xWCSDDxpQ>" %}

다음 아이템에는 Transform 컴포넌트와 버튼 설정을 위한 기본 필드만 노출하는 기본 모듈이 있습니다. 하지만 아래로 스크롤해서 **고급** 마커를 지나면 사용 가능한 모든 설정을 찾을 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-f2e51018feb637e8aac6ec99a7998f64f416a0bb%2Fadvanced-settings-smart-item.png?alt=media)

{% hint style="info" %}
**📔 참고**: 기본 모듈의 대부분의 설정은 아래쪽 컴포넌트에서도 사용할 수 있습니다. 기본 모듈에서 한 변경 사항은 아래쪽 컴포넌트에도 반영되고 그 반대도 마찬가지입니다. 다만 기본 설정이 아래쪽의 여러 설정을 추상화한 일부 경우는 예외입니다. 그런 경우 고급 설정을 기본 모듈이 지원하지 않는 값으로 변경하면 기본 모듈의 해당 필드는 정의되지 않음으로 표시됩니다.
{% endhint %}

## 고급 설정

속성은 다음으로 그룹화됩니다 [**컴포넌트**](/creator/content-creator-ko/sdk7/architecture/entities-components.md). 스마트 아이템마다 기능에 따라 서로 다른 컴포넌트를 가질 수 있습니다.

대부분의 아이템의 동작은 다음에 의해 제어됩니다:

* [**동작**](#actions): Actions 컴포넌트는 아이템이 할 수 있는 동작을 정의합니다. 예를 들어 소리 재생, 애니메이션 재생, 위로 이동, 또는 보이지 않게 만들기 등이 있습니다.
* [**트리거**](#triggers): Triggers 컴포넌트는 이러한 동작이 언제 발생할지를 정하는 이벤트를 할당합니다. 예를 들어 플레이어가 아이템을 클릭할 때, 플레이어가 특정 영역으로 걸어 들어갈 때, 또는 씬이 처음 로드될 때 등이 있습니다.

예를 들어 문 스마트 아이템에서는 **동작** 컴포넌트에 "열기" 및 "닫기" 액션이 포함됩니다. **트리거** 컴포넌트에는 **클릭 시** 트리거가 포함되어 있으며, 이 트리거는 플레이어가 문을 클릭하면 "열기" 액션을 활성화합니다.

스마트 아이템의 트리거는 같은 스마트 아이템뿐 아니라 씬의 어떤 스마트 아이템에서도 액션을 활성화할 수 있습니다. 예를 들어 버튼 스마트 아이템에는 **트리거** 컴포넌트가 있을 수 있으며, 이는 **동작** 컴포넌트에 정의된 "위로 이동" 액션을 활성화합니다.

트리거는 조건부로도 발생할 수 있습니다. 예를 들어 문 스마트 아이템에는 Triggers 컴포넌트에 두 개의 **클릭 시** 트리거가 있습니다. 하나는 해당 문이 닫혀 있으면 문을 열고, 다른 하나는 열려 있으면 문을 닫습니다. 자세한 내용은 [상태 및 조건부 로직](/creator/content-creator-ko/scene-editor/interactivity/states-and-conditions.md).

## 아이템 간 상호작용

아이템들이 서로 상호작용하게 하려면:

* 한 아이템에는 최소 하나의 액션이 다음에 정의되어 있어야 합니다. [동작](#actions) 컴포넌트를 부여해야 합니다.
* 다른 아이템에는 다음의 트리거가 필요합니다. [트리거](#triggers) 컴포넌트에서 그 액션을 가리키는 트리거가 있어야 합니다.

예를 들어 버튼으로 문을 열게 하려면:

1. 아무 버튼 스마트 아이템이나 추가하고, 그 **트리거** 컴포넌트를 엽니다. 이 컴포넌트에는 버튼 자체에 대해 소리와 애니메이션을 재생하는 기본 트리거 이벤트가 있습니다.
2. 다음의 **+** 기호를 클릭합니다 **할당된 액션**옆에 있는 기호를 클릭해 동일한 트리거 이벤트에 세 번째 액션을 추가합니다.
3. 첫 번째 드롭다운에서 문의 스마트 아이템을 선택합니다.
4. 두 번째 드롭다운에서 "열기" 액션을 선택합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-110156bc3c8fa17336e61490402e1cb19d83ff47%2Fbutton-to-door.png?alt=media)

{% hint style="info" %}
**💡 팁**: 대신 문의 동작만 처리하는 새 트리거 이벤트를 만들 수도 있습니다. 버튼이 클릭될 때마다 두 트리거 이벤트가 모두 호출됩니다.

<img src="https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-30d3ef36d5482564fd8b67854fdd9e9ab2c16cc7%2Fbutton-to-door2.png?alt=media" alt="" data-size="original">
{% endhint %}

액션이 정의되어 있기만 하면 어떤 아이템이든 다른 어떤 아이템의 액션이든 트리거할 수 있습니다. 더 많은 액션 트리거 방법은 [트리거](#triggers) 를 참조하세요.

다음을 사용할 수 있습니다 [상태 및 조건부 로직](/creator/content-creator-ko/scene-editor/interactivity/states-and-conditions.md) 조건이 충족될 때만 액션이 트리거되도록 할 수 있습니다. 이 조건은 세 번째 스마트 아이템의 상태까지 확인할 수도 있습니다. 예를 들어 버튼은 사용자 지정 "power generator" 스마트 아이템의 상태가 "On"일 때만 문을 엽니다.

## 동작

그 **동작** 컴포넌트는 아이템이 수행할 수 있는 액션을 나열합니다. 각 스마트 아이템에는 미리 정의된 액션 세트가 포함되어 있습니다. 기존 액션을 사용자 지정하거나 새 액션을 추가할 수 있습니다. 사용 가능한 액션 유형은 다음과 같습니다:

* **애니메이션 재생**: 아이템의 3D 모델에서 애니메이션을 재생합니다. 자세한 내용은 [애니메이션 재생에 관하여](#about-playing-animations)
* **애니메이션 정지**: 아이템의 3D 모델에서 재생 중인 모든 애니메이션을 중지합니다.
* **소리 재생**: 아이템 위치에서 파일의 소리를 재생합니다. 자세한 내용은 [사운드 재생에 관하여](#about-playing-sounds)
* **소리 정지**: 아이템에서 재생 중인 모든 소리를 중지합니다.
* **트윈 시작**: 주어진 기간 동안 위치, 회전 또는 크기를 점진적으로 변경합니다. 자세한 내용은 [이동, 회전 또는 크기 조정](#moving-rotating-or-scaling).
* **가시성 설정**: 아이템을 보이게 하거나 보이지 않게 합니다.
* **플레이어에 첨부**: 아이템을 플레이어 아바타의 자식으로 설정합니다. 예를 들어 손에 들거나 머리 위에 올려둘 수 있습니다.
* **플레이어에서 분리**: 아이템을 플레이어 아바타에서 분리합니다.
* **링크 열기**: 브라우저 탭에서 외부 웹사이트 링크를 엽니다. 열기 전에 플레이어에게 도메인을 신뢰하는지 확인합니다.

{% hint style="info" %}
**📔 참고**: 이 액션은 아이템을 클릭한 결과로만 발생할 수 있습니다. 트리거 영역으로 걸어 들어가서 트리거할 수는 없습니다.
{% endhint %}

* **플레이어 이동**: 플레이어의 위치를 씬 내부의 로컬 좌표 집합으로 변경합니다. 플레이어는 같은 씬 안에서만 이동할 수 있습니다.
* **플레이어 텔레포트**: 플레이어를 Decentraland의 다른 위치로 텔레포트합니다. 다음을 사용하세요. **텔레포트 모드** 드롭다운에서 다음 중 하나로 보낼 수 있습니다 **좌표로 이동** Genesis City의 다른 씬 또는 **월드로 이동**,를 선택해 월드 이름을 지정합니다. 플레이어는 목적지 씬의 스폰 지점에 나타납니다.
* **이모트 재생**: 플레이어 아바타가 기본 아바타 애니메이션 중 하나(예: 손 흔들기, 박수 치기)를 수행하게 합니다.
* **커스텀 이모트 재생**: 씬에 업로드된 파일에서 커스텀 애니메이션을 플레이어 아바타가 수행하게 합니다.
* **텍스트 표시**: 화면 UI에 텍스트를 표시하며, 몇 초 후 숨겨집니다. 힌트, 대사, 알림 등에 적합합니다.
* **텍스트 숨기기**: 현재 표시 중일 수 있는 모든 UI 텍스트를 숨깁니다.
* **지연 시작**: 같은 아이템의 다른 액션을 필요한 만큼의 초 동안 지연시킵니다.
* **지연 중지**: 아이템의 지연된 액션을 취소합니다.
* **루프 시작**: 같은 아이템의 액션을 주어진 간격으로 반복 재생합니다.
* **루프 중지**: 아이템의 루프된 액션을 취소합니다.
* **비디오 재생**: 기본 도형의 재질로 비디오를 재생합니다.
* **비디오 정지**: 현재 재생 중인 모든 비디오를 중지합니다.
* **오디오 스트림 재생**: 오디오 스트림을 재생합니다.
* **오디오 스트림 정지**: 현재 재생 중인 모든 오디오 스트림을 중지합니다.
* **복제**: 지정된 위치에 아이템을 복제합니다.
* **엔티티 생성**: 액션을 수행하는 아이템의 상대 위치에 씬 안에 새 아이템 복사본을 생성합니다. 생성할 아이템은 씬에 미리 배치되어 있을 필요가 없습니다. 자세한 내용은 [엔티티 생성에 대하여](#about-spawning-entities).
* **제거**: 씬에서 아이템을 삭제합니다.
* **이미지 표시**: UI에 이미지를 표시하며, 필요에 따라 일정 시간만 표시할 수 있습니다. 캡션도 포함할 수 있습니다.
* **이미지 숨기기**: 이미지 표시 액션을 통해 현재 UI에 표시 중인 이미지를 숨깁니다.
* **피해**: 근처에 있는 모든 체력 바의 체력을 줄입니다. *레이어* 속성은 플레이어의 체력 바에만 적용할지, 아니면 다른 아이템에도 적용할지 결정할 수 있습니다.
* **플레이어를 여기로 이동**: 플레이어의 위치를 이 아이템의 위치로 변경합니다.
* **플레이어 위에 배치**: 아이템의 위치를 플레이어의 위치로 변경합니다.
* **플레이어처럼 회전**: 아이템의 회전을 플레이어의 회전으로 변경합니다.
* **카메라 위에 배치**: 아이템의 위치를 카메라의 위치로 변경합니다.
* **카메라처럼 회전**: 아이템의 회전을 카메라의 회전으로 변경합니다.
* **위치 설정**: 아이템의 위치를 특정 위치로 변경합니다. 절대 위치일 수도 있고 현재 위치에 대한 상대 위치일 수도 있습니다.
* **회전 설정**: 아이템의 회전을 특정 회전으로 변경합니다. 절대 회전일 수도 있고 현재 회전에 대한 상대 회전일 수도 있습니다.
* **크기 설정**: 아이템의 크기를 특정 값으로 변경합니다. 절대 크기일 수도 있고 현재 크기에 대한 상대 크기일 수도 있습니다.
* **플레이어 따라가기**: 플레이어 위치 방향으로 이동하고 회전하기 시작합니다. 이동 경로의 장애물은 무시합니다. 속도를 설정할 수 있으며 특정 축으로만 이동하게 할 수도 있습니다. 최소 거리는 플레이어에게 얼마나 가까이 갈지를 결정합니다.
* **플레이어 따라가기 중지**: 플레이어 따라가기 액션을 중지합니다.
* **랜덤 액션**: 여기에 나열된 액션 중 하나가 랜덤하게, 랜덤 액션이 호출될 때마다 동일한 확률로 재생됩니다. 아이템에 속한 어떤 액션이든 나열할 수 있습니다.
* **일괄 액션**: 여기에 나열된 모든 액션이 일괄 액션이 호출될 때마다 동시에 재생됩니다. 아이템에 속한 어떤 액션이든 나열할 수 있습니다.
* **플레이어 회복**: 플레이어의 체력 바의 체력을 회복합니다.
* **플레이어가 아이템 바라보기**: 플레이어 아바타가 아이템을 향해 돌아보게 합니다.
* **플레이어 고정**: 플레이어가 이동, 점프 또는 이모트를 수행하지 못하게 합니다.
* **플레이어 고정 해제**: Freeze Player 액션 이후 플레이어의 이동 능력을 복원합니다.
* **조명 켜기**: 아이템의 **광원** 컴포넌트를 부여해야 합니다.
* **조명 끄기**: 아이템의 **광원** 컴포넌트를 부여해야 합니다.
* **조명 수정**: 아이템의 **광원** 컴포넌트의 색상이나 강도 같은 속성을 변경합니다.
* **카메라 선택**: 플레이어의 시점을 **가상 카메라로 전환합니다.**&#xC774; 아이템 또는 다른 엔티티에 있는
* **텍스트 변경**: 다음이 있는 아이템의 텍스트를 변경합니다. **텍스트 셰이프** 컴포넌트입니다. 글꼴 크기와 색상도 변경할 수 있습니다.
* **트윈 중지**: 현재 아이템에서 진행 중인 모든 트윈 이동을 중지합니다.
* **텍스처 슬라이드**: 흐르는 물이나 컨베이어 벨트 같은 효과를 위해, 아이템 재질의 텍스처를 주어진 방향으로 계속 슬라이드합니다.
* **충돌 변경**: 물리와 포인터 이벤트 모두에 대해 아이템의 콜라이더를 활성화하거나 비활성화합니다.
* **스카이박스 변경**: 씬의 스카이박스를 자정 이후 초 단위로 표현된 하루 중 특정 시간으로 변경합니다.
* **스카이박스 초기화**: 씬의 스카이박스를 기본 설정으로 복원합니다.
* **콘솔에 로그**: 콘솔에 메시지를 출력합니다. 씬 개발 중 디버깅에 유용합니다.
* **삭제**: 아이템과 그 모든 자식 항목을 씬에서 제거합니다.

참고 [상태 및 조건부 로직](/creator/content-creator-ko/scene-editor/interactivity/states-and-conditions.md) 다음과 같은 로직 조건 관련 다른 액션을 알아보려면 **상태 설정** 및 카운터 액션을 참고하세요.

그 **동작** 컴포넌트는 가능한 액션을 정의하지만, 트리거되지 않는 한 씬에서 아무 일도 하지 않습니다. 액션은 같은 스마트 아이템 또는 다른 아이템의 [트리거](#triggers)에 의해 활성화됩니다.

아이템에 새 액션을 추가하려면 Action 컴포넌트 하단의 **새 액션 추가** 버튼을 클릭하세요. 그런 다음 액션에 이름을 지정하고, 유형을 선택한 뒤, 해당 액션 유형에 필요한 추가 필드를 모두 작성하세요.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-61a40f62dff724b5f7b8b0cda353467230c84880%2Fnew-action.png?alt=media)

### 트리거

그 **트리거** 컴포넌트는 트리거 이벤트를 정의하며, 이는 특정 이벤트가 발생할 때 액션을 활성화합니다. 다음 유형의 트리거 이벤트가 있습니다:

* **클릭 시**: 플레이어가 아이템을 클릭할 때 발생합니다. 자세한 내용은 [클릭 트리거에 관하여](#about-click-triggers)
* **입력 동작 시**: 플레이어가 아이템을 가리키고 있는 동안 입력 버튼을 누를 때 발생합니다.
* **전역 클릭 시**: 플레이어가 아이템을 가리킬 필요 없이 어디서든 포인터를 클릭할 때 발생합니다.
* **전역 Primary 시**: 플레이어가 어디서든 Primary(E) 버튼을 누를 때 발생합니다.
* **전역 Secondary 시**: 플레이어가 어디서든 Secondary(F) 버튼을 누를 때 발생합니다.
* **플레이어가 영역에 प्रवेश**: 플레이어가 영역에 들어갈 때 발생합니다. 자세한 내용은 [트리거 영역](/creator/content-creator-ko/scene-editor/interactivity/trigger-area.md)
* **플레이어가 영역에서 나감**: 플레이어가 영역을 떠날 때 발생합니다. 자세한 내용은 [트리거 영역](/creator/content-creator-ko/scene-editor/interactivity/trigger-area.md)
* **스폰 시**: 씬이 시작될 때 또는 아이템이 씬에 스폰될 때 발생합니다. 자세한 내용은 [스폰 시 트리거](#trigger-on-spawn)
* **지연 시**: 다음이 있을 때 **지연 시작** 아이템의 액션이 카운트다운을 마칠 때.
* **루프 시**: 다음이 반복될 때마다 **루프 시작** 아이템의 액션.
* **복제 시**: 아이템이 다음을 통해 복제되면 **복제** 액션, 새 복사본이 이 트리거를 발생시킵니다.
* **이미지 클릭 시**: 플레이어가 다음 액션으로 표시된 이미지를 클릭할 때 **이미지 표시** 액션.
* **피해 시**: 아이템이 다음으로부터 피해를 받을 때 **피해** 액션.
* **플레이어 회복 시**: 플레이어가 다음으로 회복될 때 **플레이어 회복** 액션.
* **틱 시**: 씬의 매 프레임마다, 매 틱마다 발생합니다. 매우 자주 실행되므로 이 트리거로 활성화되는 액션을 사용할 때는 주의하세요.

참고 [상태 및 조건부 로직](/creator/content-creator-ko/scene-editor/interactivity/states-and-conditions.md) 다음과 같은 로직 조건 관련 다른 트리거를 알아보려면 **상태 변경 시**, **카운터 변경 시** 및 **트윈 종료 시**.

새 트리거를 추가하려면 Trigger 컴포넌트 하단의 **새 트리거 이벤트 추가** 를 클릭하세요. 그런 다음 트리거 유형, 활성화할 엔티티, 그리고 해당 엔티티의 액션을 선택합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-2fc45edced2a86ac3f0b7f03057b38aec3d2f78b%2Fnew-trigger.png?alt=media)

{% hint style="info" %}
**📔 참고**: 트리거하기 전에 엔티티의 [동작](#actions) 컴포넌트에 액션이 정의되어 있어야 합니다. 트리거는 Actions 컴포넌트가 있는 엔티티에만 영향을 줄 수 있습니다.
{% endhint %}

## 애니메이션 재생에 관하여

다음 유형의 액션을 사용하세요 **애니메이션 재생** 스마트 아이템의 3D 모델에서 애니메이션을 실행하려면. 애니메이션은 이미 3D 모델 파일의 일부로 존재해야 합니다. **애니메이션 선택** 드롭다운에는 3D 모델에서 사용 가능한 모든 애니메이션 목록이 표시됩니다.

그 **재생 모드** 필드에서 애니메이션을 한 번만 재생할지, 아니면 계속 루프할지 선택할 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-0939df49ccfd7b60a07cf435a5244a13e5b30169%2Fplay-animation.png?alt=media)

액션이 만들어지면 다음을 통해 활성화할 수 있습니다. [트리거](#triggers) 같은 아이템 또는 다른 어떤 아이템의 컴포넌트.

사용하세요 **애니메이션 정지** 액션은 아이템의 모든 애니메이션을 루프 여부와 관계없이 중지합니다.

{% hint style="info" %}
**💡 팁**: 3D 모델의 내용을 쉽게 확인해 어떤 애니메이션이 들어 있는지와 그것들이 어떻게 보이는지를 보려면, 좋은 도구는 [Babylon Sandbox](https://sandbox.babylonjs.com/)입니다. 3D 모델 파일을 창으로 끌어다 놓기만 하면 됩니다. 하단에 해당 애니메이션 목록이 있는 드롭다운이 나타납니다.
{% endhint %}

애니메이션과, 3D 모델의 일부로 직접 만들 수 있는 방법에 대해 더 알아보려면 [애니메이션](/creator/content-creator-ko/3d/animations.md).

## 사운드 재생에 관하여

다음 유형의 액션을 사용하세요 **소리 재생** 사운드 파일을 재생하려면. 씬 프로젝트로 가져오기만 되어 있으면 어떤 사운드 파일이든 재생할 수 있습니다. 소리는 아이템 위치에서 공간적으로 들리며, 플레이어가 가까울수록 더 크게 들립니다.

{% hint style="info" %}
**💡 팁**: 사운드 파일 경로를 직접 입력하는 대신, 다음 항목으로 끌어다 놓을 수 있습니다. **경로** 필드를 Scene Editor 하단의 파일 탐색 메뉴에서.
{% endhint %}

사용하세요 **재생 모드** 필드에서 소리를 한 번 재생할지, 아니면 계속 루프할지 선택합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c1b29ddbf0c123f9f4993f8d0eb1cf18ef458ebd%2Fplay-sound.png?alt=media)

액션이 만들어지면 다음을 통해 활성화할 수 있습니다. [트리거](#triggers) 같은 아이템 또는 다른 어떤 아이템의 컴포넌트.

사용하세요 **소리 정지** 액션은 아이템의 모든 소리를 루프 여부와 관계없이 중지합니다. 또한 다음의 소리도 중지합니다. **AudioSource** 컴포넌트를 부여해야 합니다.

예를 들어 주변음이나 음악처럼 아이템이 항상 반복되는 소리를 재생하게 하려면, Actions와 Triggers를 사용하는 것보다 **AudioSource** 컴포넌트를 사용하는 편이 더 쉽습니다. 이 컴포넌트에는 파일 경로를 제공하고, 상자에 체크만 하면 됩니다 **재생 시작** 및 **루프**.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-6b18d4644fc30ae00402f4215163feae8e2ed4e5%2Faudiosource.png?alt=media)

{% hint style="info" %}
**📔 참고**: 스마트 아이템은 한 번에 하나의 소리만 재생할 수 있습니다. 두 번째 소리를 호출하면 현재 울리고 있는 다른 소리가 중단됩니다. 이는 다음의 소리에도 적용됩니다. **AudioSource** 컴포넌트. 두 소리를 함께 들려야 한다면, 같은 위치에 보이지 않는 엔티티를 추가해 하나의 **소리 재생** 액션.
{% endhint %}

참고 [소리](/creator/content-creator-ko/sdk7/3d/sounds.md) 에 대한 더 자세한 내용은 Decentraland에서 소리 재생에 대해 참고하세요.

## 이동, 회전 또는 크기 조정

다음을 사용해 **트윈 시작** 액션으로 다음을 변경하세요 **위치**, **크기**, 또는 **회전**,을 일정 기간에 걸쳐 아이템의. 모든 **트윈 시작** 액션은 아이템의 원래 상태에서 시작해 일정 기간 동안 종료 상태로 변경됩니다.

위치 트윈은 상대적일 수도 있고 절대적일 수도 있습니다. 절대 위치 트윈은 아이템을 씬 기준의 고정된 위치로 이동시킵니다. 아이템은 현재 위치에서 그 위치로 이동합니다. 이미 그곳에 있다면 이동하는 것처럼 보이지 않습니다. 상대 위치 트윈은 아이템을 현재 위치에서 일정 거리만큼 이동시킵니다. 예를 들어 상대 위치가 `1, 0, 0` 인 트윈은 아이템을 현재 바라보는 방향으로 1미터 앞으로 이동시킵니다. 이 트윈 액션을 두 번째로 실행하면 아이템은 또 한 번 앞으로 1미터 이동합니다.

회전 트윈도 상대적이거나 절대적일 수 있습니다. 상대 회전은 아이템의 현재 회전에 더해집니다. 절대 회전 트윈은 아이템이 씬 기준의 특정 방향을 바라보게 합니다.

사용하세요 **기간** 필드에서 전체 이동에 걸리는 시간을 초 단위로 설정합니다. 슬라이더는 최대 100초까지지만, 필요하면 더 큰 숫자를 수동으로 입력할 수도 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-02dc2650178474b89c0aabbba8b12b917d09bfa1%2Ftweens.png?alt=media)

액션이 만들어지면 다음을 통해 활성화할 수 있습니다. [트리거](#triggers) 같은 아이템 또는 다른 어떤 아이템의 컴포넌트.

트윈은 서로 다른 **곡선 유형** 을 따라 시간에 따른 변화 속도에 영향을 줄 수 있습니다. **선형** 곡선(기본값)은 시작부터 끝까지 변화 속도가 일정하다는 뜻입니다. 시작 및/또는 끝이 얼마나 느리게 시작되는지에 따라 모양이 다른 곡선을 선택할 수 있는 옵션이 많습니다. 예를 들어 **easeinexpo** 곡선은 느리게 시작해 빠르게 끝나며, 지수적으로 속도가 증가합니다. 반대로 **easeoutexpo** 곡선은 빠르게 시작해 느리게 끝납니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-707c9c44d39111002ea3b1c4b3000a8ab4122d67%2Feasing-functions.jpeg?alt=media)

{% hint style="info" %}
**💡 팁**: 다양한 이동 곡선을 실험해 보세요. 차이는 종종 미묘하지만, 우리는 움직임을 통해 무게, 마찰, 심지어 성격 같은 정보를 무의식적으로 해석합니다.
{% endhint %}

사용: **트윈 종료 시** 다음의 트리거 이벤트를 **트리거** 컴포넌트에서 트윈이 끝난 후 액션을 활성화합니다. 다음을 사용하세요 [상태 및 조건부 로직](/creator/content-creator-ko/scene-editor/interactivity/states-and-conditions.md) 를 사용해 떠 있는 플랫폼의 순환 경로를 설명하여 두 위치 사이를 계속 오가게 할 수 있습니다.

아이템이 트윈을 수행하면 아이템의 모든 것에 영향을 줍니다. 예를 들어 크기를 변경하면 보이는 3D 모델의 크기와 보이지 않는 콜라이더 지오메트리, 텍스트 크기 등도 함께 변경됩니다. 아이템에 자식(왼쪽 엔티티 트리 안에 중첩된 항목)이 있다면, 이 자식 엔티티도 트윈의 영향을 받습니다.

{% hint style="info" %}
**📔 참고**: 각 엔티티는 한 번에 하나의 트윈만 수행할 수 있습니다. 예를 들어 아이템을 옆으로 이동시키면서 동시에 회전시키는 것은 불가능합니다. 이를 우회하려면 부모-자식 구조의 엔티티를 사용할 수 있습니다. 예를 들어 옆으로 이동하는 보이지 않는 부모 엔티티와 회전하는 보이는 자식을 둘 수 있습니다.
{% endhint %}

## 엔티티 생성에 대하여

다음을 사용해 **엔티티 생성** 액션을 사용해 실행 중인 동안 씬에서 아이템의 새 복사본을 만듭니다. 다음과는 달리 **복제** 액션은 생성할 아이템을 미리 씬에 배치할 필요가 없습니다.

### 아이템을 스폰 가능하게 만들기

아이템을 스폰하려면 먼저 프로젝트 파일에서 사용할 수 있어야 합니다. 씬에 배치하지 않고 아이템을 추가하려면:

1. 다음에서 **에셋** 패널에서 카탈로그나 **사용자 지정 아이템**.
2. 아이템을 마우스 오른쪽 버튼으로 클릭하고 **파일 시스템에 추가**.

를 선택합니다. 이렇게 하면 아이템이 프로젝트에 복사되어 나중에 스폰할 수 있습니다. 씬에는 보이는 것이 아무것도 추가되지 않습니다. 그런 다음 아이템은 **소스** 아무 항목의 드롭다운 **엔티티 생성** 액션.

### 작업 구성하기

하나의 **엔티티 생성** 작업에는 두 개의 필드가 있습니다:

* **소스**: 생성할 항목입니다. 프로젝트 파일에 추가된 항목에서 선택하세요.
* **위치**: 새 복사본이 나타날 X, Y, Z 좌표입니다. 작업을 수행하는 항목을 기준으로 합니다.

생성한 항목이 자체적으로 스마트 아이템인 경우, 각 생성된 복사본은 고유한 작업과 트리거를 독립적으로 유지합니다.

{% hint style="info" %}
**💡 팁**: 대신 코드로 항목을 생성하려면 다음을 참조하세요 [합성](/creator/content-creator-ko/sdk7/architecture/composites.md). 프로젝트 파일에 추가된 항목은 SDK의 spawn 함수에서 사용하는 것과 동일한 형식인 컴포지트로 저장됩니다.
{% endhint %}

## 클릭 트리거에 관하여

항목을 클릭하여 작업을 트리거하려면 **클릭 시** 트리거를 만드세요. 플레이어가 엔티티를 클릭할 때마다 작업이 활성화됩니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-89527969929c803b930910be068d3fdc569a36d6%2Fon_click.png?alt=media)

참고 [어떤 항목이든 스마트 아이템으로 만들기](/creator/content-creator-ko/scene-editor/interactivity/make-any-item-smart.md#interactivity) 자세한 내용은 다음을 참조하세요.

{% hint style="info" %}
**📔 참고**: 사용자 지정 3D 모델을 사용할 때는 클릭할 수 있도록 모델에 보이지 않는 콜라이더 지오메트리가 있어야 합니다. 다음을 참조하세요 [콜라이더](/creator/content-creator-ko/sdk7/3d/colliders.md#pointer-blocking).

대안으로, 항목의 **GLTF** 구성 요소를 설정하여 그 **표시 레이어** 충돌의 레이어가 **포인터**.

또 다른 대안은 **클릭 영역** 스마트 아이템을 추가하여, 클릭하려는 항목과 겹치는 큐브를 그리는 것입니다. Click Area 스마트 아이템은 [보이지 않는 항목](#invisible-items).
{% endhint %}

## 스폰 시 트리거

유형의 트리거는 **스폰 시** 씬이 로드되면 작업을 활성화합니다. 플레이어가 항목과 상호작용하기를 기다리는 대신, 작업이 즉시 실행됩니다.

예를 들어, 플랫폼이 계속 움직이도록 만들 때 사용하세요. 다음을 사용하여 **스폰 시** 트리거를 사용해 트윈 작업을 활성화하세요. 그런 다음 **상태 변경 시** 트리거를 사용하여 두 개 이상의 위치 사이를 계속 움직이게 합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e7d8cc0fa522e04b35c949d38884c9134c597d0f%2Fon_spawn.png?alt=media)

## 멀티플레이어

모든 스마트 아이템은 기본적으로 멀티플레이어를 지원합니다. 다음을 참조하세요 [스마트 아이템 - 기본](/creator/content-creator-ko/scene-editor/interactivity/smart-items.md) 자세한 내용은 다음을 참조하세요.

이 멀티플레이어 동작을 변경하거나 세부 조정하여 항목의 특정 구성 요소만 동기화할 수 있습니다.

항목의 **멀티플레이어** 구성 요소에서 공유할 구성 요소의 체크박스를 선택하세요.

예를 들어, 문은 그 `애니메이터` 를 공유하여 모두가 열리는 애니메이션을 볼 수 있고, 그 `AudioSource` 를 공유하여 모두가 그 소리를 들을 수 있으며, 그 `상태` 를 공유하여 모두가 현재 열려 있는지 닫혀 있는지 추적할 수 있습니다. 문은 그 `가시성` 구성 요소를 공유하지 않습니다. 문은 보통 항상 보이기 때문입니다. 표시/숨김을 트리거하는 작업을 포함한다면, 변경 사항이 모든 플레이어 간에 동기화되도록 이 구성 요소도 선택해 두는 것이 좋습니다.

## 보이지 않는 항목

일부 항목은 플레이어가 보도록 만든 것이 아니지만, 씬을 편집하는 동안에는 관리하기 쉽도록 보이게 표시됩니다. 다음과 같은 항목이 이에 해당합니다 **앰비언스**, **트리거 영역**, **클릭 영역**, 등.

고급 모드에서는 이러한 항목에 **가시성** 보이지 않음으로 설정된 구성 요소가 있습니다. 이 구성 요소는 씬 편집기에서 항목의 가시성에는 영향을 주지 않지만, 보이지 않음으로 설정된 항목은 미리 보기를 실행할 때 플레이어에게 보이지 않습니다.

## 또한 참조

* [스마트 아이템 - 기본](/creator/content-creator-ko/scene-editor/interactivity/smart-items.md)
* [상태와 조건](/creator/content-creator-ko/scene-editor/interactivity/states-and-conditions.md)
* [어떤 항목이든 스마트 아이템으로 만들기](/creator/content-creator-ko/scene-editor/interactivity/make-any-item-smart.md)
* [코드와 결합](/creator/content-creator-ko/scene-editor/extend-with-code/overview.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-ko/scene-editor/interactivity/smart-items-advanced.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
