> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/manual/studio-manual/game-development/actionsequence/creating-actionsequences.md).

# 액션시퀀스 제작하기

## 개요

액션시퀀스를 생성하고 트랙을 구성하여 연출을 완성한 뒤, 실행을 통해 결과를 확인하는 전체 제작 과정을 단계적으로 설명합니다.

본 문서에서는 액션시퀀스를 직접 제작하며, 기본적인 제작 흐름과 사용 방법을 익힐 수 있습니다.

## 3단 히트 액션

### 학습 효과

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F1ITuX4rplwnPF9PfMOYh%2FAseqGif2.gif?alt=media&amp;token=49abbbe0-d06a-4597-8945-b626c7b33c8a" alt=""><figcaption></figcaption></figure>

이 튜토리얼을 완료하면 다음과 같은 구성을 만들 수 있습니다.

* 1단, 2단, 3단으로 이어지는 연속 공격 애니메이션 구성
* 각 타격 타이밍에 맞는 충돌 판정과 스크립트를 통한 데미지 처리
* 타격 시점에 맞춰 재생되는 히트 이펙트
* 3단 히트 구간에서 카메라 쉐이크 적용
* 3단 히트 진행 중 플레이어 조작 비활성화 처리
* 버튼 입력으로 액션시퀀스 실행

### 사용 에셋 목록

<table><thead><tr><th width="140.9998779296875">에셋 타입</th><th width="229">에셋 Id</th><th>설명</th></tr></thead><tbody><tr><td>애니메이션</td><td>ovdrassetid://18169100</td><td>1단 히트</td></tr><tr><td>애니메이션</td><td>ovdrassetid://18171100</td><td>2단 히트</td></tr><tr><td>애니메이션</td><td>ovdrassetid://18173300</td><td>3단 히트</td></tr></tbody></table>

### 튜토리얼

<table data-full-width="true"><thead><tr><th width="233.33331298828125">단계</th><th width="590">작업 내용</th><th>비고</th></tr></thead><tbody><tr><td><ol><li>액션시퀀스 생성</li></ol></td><td><ul><li>액션시퀀스 서비스 하위에 액션시퀀스 인스턴스를 추가합니다.<img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F06mUq5e4B2Dml6ULrlKV%2FASeq-Tuto-Image-1.png?alt=media&amp;token=0e7832b8-afb8-464b-8bdf-049ed46edad0" alt=""></li><li>이름을 3-HitCombo로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FI6mn7NuBPwXEsL07Cowv%2FASeq-Tuto-Image-2.png?alt=media&amp;token=c79705cd-7192-44a8-b5d6-bba8101f4481" alt=""></li></ul></td><td><ul><li>액션시퀀스 이름은 중복되지 않아야 합니다.</li></ul></td></tr><tr><td><ol start="2"><li>액션시퀀서 에디터 열기</li></ol></td><td><ul><li>액션시퀀스 인스턴스에 마우스를 올리면 표시되는 Open 버튼을 클릭합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FHq453L91Wy5N9a5eL4uQ%2FASeq-Tuto-Image-3.png?alt=media&amp;token=5fd5ce79-d83e-4fd7-b6e4-494596e6bcc5" alt=""></li></ul></td><td><ul><li>플레이 중 편집한 내용은 즉시 반영되지 않으며, 재실행 시 적용됩니다.</li></ul></td></tr><tr><td><ol start="3"><li>애니메이션 트랙<br>(1단 히트)</li></ol></td><td><ul><li>Add Track 버튼을 눌러 Animation Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FN2sx1B8TNtSOnIFWvQrk%2Fimage.png?alt=media&amp;token=6116d637-040d-496a-a06e-c86aa3bcb76a" alt=""></li><li>트랙을 선택하고 트랙 프로퍼티 패널에서 Ovdr Asset Id에 1단 히트용 애니메이션 Id를 지정합니다.<br>(ovdrassetid://18169100)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FmPc7qWYTtYVaLbKxnMm8%2Fimage.png?alt=media&amp;token=54da2b4e-434b-4800-90aa-46b6f7c9e9e7" alt=""></li><li>Blend in / Out Time을 0으로 설정합니다.<img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FByc69RcQpdAM6HVwzhlM%2Fimage.png?alt=media&amp;token=ad00d61c-3086-486d-b65e-05b8dc1d5e5b" alt=""></li></ul></td><td></td></tr><tr><td><ol start="4"><li>미리보기</li></ol></td><td><ul><li>재생 버튼 또는 Spacebar를 눌러 타임라인을 재생하고 애니메이션을 확인합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F0fXu8JJhzZPbQuzdAHwG%2Fimage.png?alt=media&amp;token=84d14287-10fe-4ce4-ab7a-56c244652423" alt=""></li></ul></td><td></td></tr><tr><td><ol start="5"><li>애니메이션 트랙<br>(2단 히트)</li></ol></td><td><ul><li>새로운 Animation Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F4z9QDGqnJdyP8MkNvlDq%2Fimage.png?alt=media&amp;token=3cb09113-6bda-48ba-a395-8b93db9cf130" alt=""></li><li>트랙을 선택하고 Ovdr Asset Id에 2단 히트용 애니메이션 Id를 지정합니다. (ovdrassetid://18171100)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FjzFiP9WmiobOyX2dftJW%2Fimage.png?alt=media&amp;token=46317b8f-27c4-4c09-95af-6d4288af8f56" alt=""></li><li>Blend in / Out Time을 0으로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FByc69RcQpdAM6HVwzhlM%2Fimage.png?alt=media&amp;token=ad00d61c-3086-486d-b65e-05b8dc1d5e5b" alt=""></li><li>섹션 위치를 1단 히트 이후로 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FwC0Auu58uppG5FuGFdZp%2Fimage.png?alt=media&amp;token=a6e8294d-a73e-4e8b-b56e-dbb5574e7982" alt=""></li></ul></td><td></td></tr><tr><td><ol start="6"><li>애니메이션 트랙<br>(3단 히트)</li></ol></td><td><ul><li>새로운 Animation Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FWE92jBESR4eNuo8HKOQf%2Fimage.png?alt=media&amp;token=ddfb202e-0b75-480c-982b-c3ffc245dfb6" alt=""></li><li>트랙을 선택하고 Ovdr Asset Id에 2단 히트용 애니메이션 Id를 지정합니다. (ovdrassetid://18173300)</li><li>Blend in / Out Time을 0으로 설정합니다.</li><li>섹션 위치를 2단 히트 이후로 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FqpSUbo1zC7x8gqe9bI9V%2Fimage.png?alt=media&amp;token=809f407d-c71d-4f6d-941b-d8097970ea36" alt=""></li><li>재생해서 애니메이션을 확인합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FBrIANeG0JcFbkhg1VyVS%2Fimage.png?alt=media&amp;token=76168ff2-9901-40e9-a272-18d5d8f61ec0" alt=""></li></ul></td><td></td></tr><tr><td><ol start="7"><li>애니메이션 블렌드</li></ol></td><td><ul><li>애니메이션이 전환될때 끊기지 않도록 하기 위해 각 애니메이션의 Blend in / Out Time 0.25로 모두 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FXTOkrb5ccFzCSlxEafDP%2Fimage.png?alt=media&amp;token=fe07dce7-2207-446b-9e37-8f19e85d36f6" alt=""></li><li>각 애니메이션의 시작과 끝을 겹치도록 배치합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FSL1jy7mCMZcdAD6VNlxb%2FASeq-Tuto-Image-5.png?alt=media&amp;token=8e2f1fa0-b62a-48d3-981d-058046f99d53" alt=""></li><li>타임라인을 재생하고 애니메이션을 확인합니다.</li><li>블렌드 시간에 의해 애니메이션의 원본 길이가 0.25초 만큼 온전히 표현되지 않는 것을 방지하기 위해, 섹션의 길이를 원래 길이보다 늘립니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FtQL59dbcPlHSxwReXERr%2FASeq-Tuto-Image-6.png?alt=media&amp;token=6def98e6-f57c-40e1-9ea2-7c0599551075" alt=""></li><li>타임라인을 재생하면서 애니메이션 전환이 자연스러운지 확인하고 섹션 길이를 조정합니다.</li></ul></td><td><ul><li>블렌드 구간에서는 이전 애니메이션과 다음 애니메이션이 동시에 적용되며, 시간에 따라 가중치가 변화하면서 부드럽게 전환됩니다. 이 구간에서는 <strong>원본 애니메이션이 100% 그대로 재생되지 않고</strong>, 다른 애니메이션과 <strong>혼합된 결과</strong>가 적용됩니다.</li></ul></td></tr><tr><td><ol start="8"><li>저장</li></ol></td><td><ul><li>Save 또는 Ctrl + S를 눌러 작업 내용을 저장합니다.<br>(저장이 완료되면 Sequence Changes Saved 메시지가 출력됩니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FmIbiOrfE3l2GoIdOrxPc%2Fimage.png?alt=media&amp;token=e47b2174-59e7-42ef-ac48-1d47c5e4cd1b" alt=""></li></ul></td><td><ul><li>작업 내용이 누락되지 않도록 자주 저장합시다!</li><li>변경사항이 있으면 액션시퀀스 이름 및 저장 버튼에 *가 표시됩니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fgqr5x8I5n814kOZs6FE2%2Fimage.png?alt=media&amp;token=47e1a3c4-6216-4f48-a8b0-7c2feddcae28" alt=""></li></ul></td></tr><tr><td><ol start="9"><li>상체 애니메이션 적용</li></ol></td><td><ul><li>1단/2단 히트 애니메이션 트랙의 Slot Type을 Upper Body로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F06gz5may30lstS91WVAd%2Fimage.png?alt=media&amp;token=fe862f2c-9e9a-4609-b85a-756bf59d0e11" alt=""></li></ul></td><td><ul><li>Slot Type에 따라 애니메이션이 적용되는 신체 범위가 결정됩니다.</li></ul></td></tr><tr><td><ol start="10"><li>뷰포트 카메라 조작</li></ol></td><td><ul><li>뷰포트를 클릭한 후, WASD 키로 카메라를 이동하고 마우스 우클릭으로 회전하여 캐릭터의 측면에서 애니메이션이 잘 보이도록 카메라 위치를 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FGmW1OUbj63R4esvbHkm3%2Fimage.png?alt=media&amp;token=2631f8d5-3601-4a76-a55e-937ce7e7e7bf" alt=""></li></ul></td><td></td></tr><tr><td><ol start="11"><li>충돌 트랙</li></ol></td><td><ul><li>Collision Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F1NianqcyoKJIx8cRM74m%2Fimage.png?alt=media&amp;token=4e97af34-c6b1-45d4-8723-c329ad93e3e3" alt=""></li><li>트랙 목록에서 Collision Track의 Value 필드가 보이도록 충돌 트랙을 전부 펼칩니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FtuBxSCLx1UQzcl8dJl05%2Fimage.png?alt=media&amp;token=8eee6c0a-55ad-4d21-bbae-6b3653faded7" alt=""></li><li>타임라인의 Value 영역에서 마우스 휠 버튼 클릭 또는 Ctrl + 좌클릭을 통해 마커를 애니메이션 트랙 수에 맞춰 적절한 위치에 3개 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FfRqViWxytNdKUVIlDglX%2Fimage.png?alt=media&amp;token=f4f598dc-34ed-418a-87da-45d136032efb" alt=""></li><li>스크러버를 움직이면서, 애니메이션 타이밍에 맞춰 3개 키프레임의 위치를 조정합니다.<br>(충돌체 위치는 아직 신경쓰지 마세요!)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FA2ryLsjEAm1F7oCTD9Aa%2Fimage.png?alt=media&amp;token=e2e1a9ae-5056-4f24-b3b2-72b5c356de24" alt=""></li></ul></td><td><ul><li>타임라인의 가로 축은 Ctrl + 마우스 휠 업/다운으로 확대/축소할 수 있습니다.</li></ul></td></tr><tr><td><ol start="12"><li>충돌 상세 설정</li></ol></td><td><ul><li>각 키프레임을 선택하고 Collider Type을 Box로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F3kmYfFlHfBQDq6JwhAZT%2Fimage.png?alt=media&amp;token=6f194bb5-8f5a-4ea1-8066-e85e0487140b" alt=""></li><li>Collider 필드가 전부 보이도록 펼치고 각 키프레임의 Box Extent를 (100, 150, 100)으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FtKSkiykFfq3OJRrKaJgq%2Fimage.png?alt=media&amp;token=223c2572-0961-4abb-ae6f-2c1b2c8b24fe" alt=""></li><li>Attachment Offset 필드가 전부 보이도록 펼치고 각 키프레임의 Relative Location을 (0, 0, -100)으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F0qUZVYpVxTn9ZD8n0C7h%2Fimage.png?alt=media&amp;token=42e0ba71-8306-449d-923d-8969c99c49a5" alt=""></li><li>각 키프레임의 Collision Event Name을 Hit1, Hit2, Hit3으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FetA5Ty7YYnw1423bmWdw%2Fimage.png?alt=media&amp;token=68bfc4ac-a810-447e-9855-0691f405d1d5" alt=""></li><li>스크러버를 움직이면서, 충돌체 위치가 자연스러운지 확인하고 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FQhLquIuDvA9aAws5Xq3N%2Fimage.png?alt=media&amp;token=1e91c55e-d7f5-44cd-a2f7-809724f0f9f7" alt=""></li><li>작업 내용을 저장합니다.</li></ul></td><td><ul><li>Collision Event Name은 스크립트 이벤트 연결에 사용됩니다.</li></ul></td></tr><tr><td><ol start="13"><li>액션시퀀스 실행</li></ol></td><td><ul><li>액션시퀀스 하위로 Script를 추가하고 이름을 CollisionTrackScript로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FyeTZH4pYsJPPRnrrJjeO%2Fimage.png?alt=media&amp;token=3affdd24-356b-4fdf-800b-fefeefafb85b" alt=""></li><li><p>스크립트를 열고 충돌 처리를 위해 아래의 내용을 작성합니다.</p><pre class="language-lua"><code class="lang-lua">local Sequence = script.Parent
for i = 1, 3 do
Sequence:Hit("Hit" .. i):Connect(function(self, other)
if self == other then
return
end
    print("Hit" .. i, self, other)    local caster = self:FindFirstChild("Humanoid")    local target = other:FindFirstChild("Humanoid")    if caster and target then	      target.Health -= 40	      print("Health : ", target.Health, " / ", target.MaxHealth)    endend)
end
</code></pre></li><li><p>StarterPlayer.StarterCharacterScripts 하위에 LocalScript를 추가하고 아래의 내용을 작성합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FitXLb2Byrf6FnjHDlL8f%2Fimage.png?alt=media&amp;token=eec40fc4-9565-4a9e-8f18-3572af9645e4" alt=""></p><pre class="language-lua"><code class="lang-lua">local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local ScreenGui = PlayerGui:WaitForChild("ScreenGui")
local PlayButton1 = Instance.new("TextButton")
PlayButton1.Position = UDim2.new(0.5, 0, 0.1, 0)
PlayButton1.Text = "Play 3-Hit Combo"
PlayButton1.TextScaled = true
PlayButton1.Parent = ScreenGui
PlayButton1.Activated:Connect(function()
local character = LocalPlayer.Character
local humanoid = character:WaitForChild("Humanoid")
local actionRunner = humanoid:GetActionRunner()
local key = "3-HitCombo"local transitionTime = 0actionRunner:Play(key, transitionTime)print("Play : " .. key)	
end)
</code></pre></li></ul></td><td><ul><li>액션시퀀스 실행 및 이벤트 연결은 서버측 Script, LocalScript에서 모두 가능합니다.</li></ul></td></tr><tr><td><ol start="14"><li>충돌 판정 확인</li></ol></td><td><ul><li>플레이 인원을 2인으로 설정하고 플레이 테스트를 실행합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FQXic3tIX9Kr9xw9VlYks%2Fimage.png?alt=media&amp;token=e9352fa1-c0b6-4a0a-af28-eae2f829550f" alt=""></li><li>Player1 캐릭터를 Player2 캐릭터 앞에 이동시킨 뒤, Play 3-Hit Combo 버튼을 눌러 액션시퀀스를 실행하고 모든 공격이 적중했을 때 캐릭터가 사망하는지 확인합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FgbvpfTRfeVn5hi3lH5SS%2Fimage.png?alt=media&amp;token=a748cc20-2a05-433f-b5ae-80f307d9c48a" alt=""></li><li>플레이 테스트를 종료합니다.</li></ul></td><td><ul><li>스튜디오 툴바의 <strong>View 탭</strong>에서 <strong>Show Collision</strong>을 활성화하면, 플레이 중 충돌 트랙의 판정이 발생할 때 해당 영역이 뷰포트에 시각적으로 표시됩니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F9lfytU7OMQvduOza123F%2Fimage.png?alt=media&amp;token=0693c748-b588-42c9-afaf-ed589ce0a094" alt=""></li></ul></td></tr><tr><td><ol start="15"><li>컨트롤 트랙</li></ol></td><td><ul><li>액션시퀀스 하위에 Part를 추가한 다음, Part 하위에 VFXPreset을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fz3wit28DEGq10zfF0y6r%2Fimage.png?alt=media&amp;token=d6fa72fe-c3d0-447c-850a-df8fb0c53a95" alt=""></li><li>Part의 이름을 HitFXPart, VFXPreset의 이름을 HitFX1로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FcNHVN0fOlcADFNV2HJlM%2Fimage.png?alt=media&amp;token=8a30c88a-5779-4e2f-8175-205815cd66f4" alt=""></li><li>HitFXPart의 CanCollide를 false, Transparency를 1로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fy89xHT2SmAa8TykkYIId%2Fimage.png?alt=media&amp;token=245e54da-b35c-456b-987c-d8fd4f439999" alt=""></li><li>HitFX1의 외형을 Simple Hit, Enabled를 false로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FUPUvLA5NYrfgtqdTbZHF%2Fimage.png?alt=media&amp;token=bc6f4843-d501-4452-9f20-7af1b03bfb79" alt=""></li><li>Control Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FI06mwB5s1mHgJ30jozlF%2Fimage.png?alt=media&amp;token=e6b399a7-f173-4b3a-9150-39c9b7833850" alt=""></li><li>트랙을 선택하고 Ref Object 필드에서 참조 연결 버튼을 클릭한 다음, 레벨 브라우저에서 HitFXPart을 선택합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FUbh2tYzZ67g2xMINCOW9%2Fimage.png?alt=media&amp;token=1da90cb2-8199-427f-8fd3-6b104efb63af" alt=""></li></ul></td><td><ul><li>액션시퀀스 하위에 객체를 구성할 때 혼선을 방지하기 위해 <strong>동일 이름 객체 사용을 권장하지 않습니다.</strong></li></ul></td></tr><tr><td><ol start="16"><li>이펙트 설정<br>(1단 히트)</li></ol></td><td><ul><li>트랙 목록에서 HitFXPart 하위의 HitFX1의 Value 필드가 보이도록 컨트롤 트랙을 전부 펼칩니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FhDoavBgqcgcfyJpges6J%2Fimage.png?alt=media&amp;token=449ece53-7c99-4b80-b42f-565f27913232" alt=""></li><li>타임라인의 Value 영역에서 마우스 휠 버튼 클릭 또는 Ctrl + 좌클릭을 통해 키프레임을 하나추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FmvMZRBwlrG3kV120xufj%2Fimage.png?alt=media&amp;token=0c47ace5-5039-4ac5-a2a6-deb9bf17b4a4" alt=""></li><li>키프레임을 선택하고 Time 필드를 0으로 변경합니다.<br>(Value 필드가 false가 아닌 경우, false로 설정합니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fr6PiUJgMzduO4toD3vlA%2Fimage.png?alt=media&amp;token=7cbf4b6c-f971-4b27-b884-492509973566" alt=""></li><li>1단 히트 충돌 위치에 맞춰 키프레임을 삽입하고, Value 필드를 true로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FFCXn8KnTDEYgYgb9yxhP%2Fimage.png?alt=media&amp;token=4539884f-0206-438f-a3ee-0cf1a5601639" alt=""></li></ul></td><td></td></tr><tr><td><ol start="17"><li>컨트롤 트랙 세부 조정</li></ol></td><td><ul><li>컨트롤 트랙을 클릭한 다음, Attachment Offset 필드가 전부 보이도록 펼치고 Relative Location 필드를 (100, 100, 0)으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FqFv6Ibs7pZT6Re1oqJsA%2Fimage.png?alt=media&amp;token=09ea2ce9-1178-41dd-9290-6265b9b36ee4" alt=""></li><li>스크러버를 움직이면서, 이펙트 위치가 자연스러운지 확인하고 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F0WJp3igNCPhoWuntwzh4%2Fimage.png?alt=media&amp;token=8a9de8ae-ab5a-42ae-8782-783a23d66990" alt=""></li></ul></td><td></td></tr><tr><td><ol start="18"><li>이펙트 설정<br>(2단 히트)</li></ol></td><td><ul><li>1단 히트와 동일한 이펙트를 재사용하기 위해, 2단 히트 충돌 위치 직전에 맞춰 키프레임을 삽입하고, Value 필드를 false로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FtU0NYuVnx9NZJdujCzVo%2Fimage.png?alt=media&amp;token=cba30510-b316-4997-b4bd-71efa641213e" alt=""></li><li>이어서 충돌 위치에 맞춰 키프레임을 삽입하고, Value 필드를 true로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F4waEjibAx26GGrZnf5ng%2Fimage.png?alt=media&amp;token=ffb9b6c3-b039-4456-8861-e619df2b859e" alt=""></li><li>작업 내용을 저장합니다.</li></ul></td><td></td></tr><tr><td><ol start="19"><li>이펙트 설정<br>(3단 히트)</li></ol></td><td><ul><li>새로운 이펙트를 사용하기 위해, Part 하위에 VFXPreset을 추가합니다.</li><li>VFXPreset의 이름을 HitFX2로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FVRkNUMFpKtLAqCYeb2Fn%2Fimage.png?alt=media&amp;token=0f0cd1b4-9c1a-4f9b-8732-59227a304dc7" alt=""></li><li>HitFX2의 외형을 Explosion, Enabled를 false로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FLRLqCVylkZDocttILQEL%2Fimage.png?alt=media&amp;token=af616748-ebc3-4eb9-bece-8b14006e01a5" alt=""></li><li>트랙 목록에서 HitFX2의 Value 필드가 보이도록 컨트롤 트랙을 전부 펼칩니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F1gQ6WA1aVwBqZE3TcSwG%2Fimage.png?alt=media&amp;token=b5ce60c7-6a5d-4904-b748-80c6f476384e" alt=""></li><li>타임라인의 Value 영역에서 마우스 휠 버튼 클릭 또는 Ctrl + 좌클릭을 통해 키프레임을 추가합니다.</li><li>키프레임을 선택하고 Time 필드를 0으로 변경합니다.<br>(Value 필드가 false가 아닌 경우, false로 설정합니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fr6PiUJgMzduO4toD3vlA%2Fimage.png?alt=media&amp;token=7cbf4b6c-f971-4b27-b884-492509973566" alt=""></li><li>3단 히트 충돌 위치에 맞춰 키프레임을 삽입하고, Value 필드를 true로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fi5iZ80MKq4dONrcnP8KR%2Fimage.png?alt=media&amp;token=0924d6be-3c8a-40af-93d9-07b43c4abc1a" alt=""></li><li>3단 이펙트의 위치가 바닥에 표시되도록, 컨트롤 트랙의 OriginPosition의 Y에 키프레임을 추가하고 Value 필드를 -100으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FZrlnS949pj0idlvhNpJQ%2Fimage.png?alt=media&amp;token=82d60db1-aad7-4a04-8e8f-28d4f4702b09" alt=""></li><li>이펙트 출력 전에 미리 위치가 바뀌도록 키프레임 위치를 3단 히트 이펙트 출력 전으로 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FmVKMFa6qLnZpP3mWDJQ5%2Fimage.png?alt=media&amp;token=f4dc402b-9d11-479e-8b56-2627cbb193f5" alt=""></li><li>재생해서 1<del>3단 히트의 이펙트 출력 위치를 확인합니다.</del><br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FvlIwsYn9Ch7ewGcexPCO%2Fimage.png?alt=media&amp;token=155fb1af-35da-4f37-83e7-403acadcc34e" alt=""></li><li>12단 히트 이펙트의 위치에 영향이 생기지 않도록, 타임라인 시작 위치에 OriginPosition의 Y의키프레임을 추가하고 Time 필드는 0, Value 필드는 0으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FIoKpg3Qj0oykJPyikn6y%2Fimage.png?alt=media&amp;token=0ef8c2f0-ff2d-4227-9ee6-e756a94763f6" alt=""></li><li>1단 히트에서 3단 히트로 위치가 서서히 변하지 않도록, 2단 히트와 3단 히트 사이에 키프레임을 추가하고, Value 필드를 0으로 변경합니다.<br>(이렇게 하면 2단 히트 이후, 이펙트가 보이지 않는 동안 위치가 변화하고 3단 히트에만 변경된 위치가 적용됩니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FCImVuu4IJ3fzxMIWmznQ%2Fimage.png?alt=media&amp;token=df091927-fb7d-4eaf-9fd6-7a532e27bbae" alt=""></li><li>스크러버를 움직이면서, 이펙트 위치가 자연스러운지 확인하고 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F0ov3qakX7ws7oPO5irj5%2Fimage.png?alt=media&amp;token=37b80eda-ed2c-4b79-9ac1-51009f781f14" alt=""></li></ul></td><td></td></tr><tr><td><ol start="20"><li>소켓 부착 이펙트 설정</li></ol></td><td><ul><li>액션시퀀스 하위에 Part를 추가한 다음, Part 하위에 VFXPreset을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FvcLBECDoKripASvC2NJn%2Fimage.png?alt=media&amp;token=027e6beb-7d8c-4804-aa6c-95f47fe0c010" alt=""></li><li>Part의 이름을 HandFXPart, VFXPreset의 이름을 HandFX로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FMaaBI4H1MvNrje1s1jII%2Fimage.png?alt=media&amp;token=892b17c2-467d-4d4f-9293-5103e45d6b64" alt=""></li><li>HandFXPart의 CanCollide를 false, Transparency를 1로 변경합니다.</li><li>HandFX의 외형을 Energy Pulse, Enabled를 false로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F5GhJ7NagwI1DbyoeRoF9%2Fimage.png?alt=media&amp;token=8e75aef8-455f-49e9-9ccb-6f1110ec499e" alt=""></li><li>Control Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FXjnYT6jEUANWCw795uc8%2Fimage.png?alt=media&amp;token=87017668-b490-4e99-9be3-4e2b4216d458" alt=""></li><li>Ref Object 필드에서 참조 연결 버튼을 클릭한 다음, 레벨 브라우저에서 HandFXPart을 선택합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fa0nwkGY10G5Nw5Z6qk4q%2Fimage.png?alt=media&amp;token=b8866485-06d7-4f6e-bde2-fa47d32d6b57" alt=""></li><li>Socket Name을 LeftHand로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FSjMUVi1jce2mmM0nSmYY%2Fimage.png?alt=media&amp;token=a51e3339-2e78-471a-a4a6-9d0dfa0dab1f" alt=""></li><li>트랙 목록에서 HandFXPart 하위의 HandFX의 Value 필드가 보이도록 컨트롤 트랙을 전부 펼칩니다.</li><li>타임라인의 Value 영역에서 마우스 휠 버튼 클릭 또는 Ctrl + 좌클릭을 통해 키프레임을 추가합니다.</li><li>키프레임을 선택하고 Time 필드를 0으로 변경합니다.<br>(Value 필드가 false가 아닌 경우, false로 설정합니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FoFlFO7v7GfmjgMorwdNV%2Fimage.png?alt=media&amp;token=3ea2e3f0-7687-4c5c-8b58-43697ea21e3b" alt=""></li><li>2단 히트 애니가 끝나는 시점에 맞춰 키프레임을 삽입하고, Value 필드를 true로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FrHAkmF51hk490at7YpJk%2Fimage.png?alt=media&amp;token=246032b1-9e97-4df2-bd99-5f3077d94210" alt=""></li><li>3단 히트 이펙트가 재생되는 시점에 맞춰 키프레임을 삽입하고, Value 필드를 false로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FJHNYfV1Vk5IZmmKi8go3%2Fimage.png?alt=media&amp;token=32806d30-208b-49a7-9f78-9b97a9a9e0c6" alt=""></li><li>스크러버를 움직이면서, HandFX의 생성 및 소멸 타이밍이 자연스러운지 확인하고 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FkuFeS6snwfW06IntDRT4%2Fimage.png?alt=media&amp;token=7d3f1ddd-749b-4385-ba5b-37419a7598a8" alt=""></li><li>작업 내용을 저장합니다.</li></ul></td><td></td></tr><tr><td><ol start="21"><li>카메라 쉐이크 트랙</li></ol></td><td><ul><li>CameraShake Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FWEFlLfUBQr7oTEY0vgx1%2Fimage.png?alt=media&amp;token=1177a6a7-5dba-4402-8980-9215d39e9716" alt=""></li><li>편집 카메라/캐릭터 카메라 시점 전환을 클릭합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FraBvlgBrTvYfd20Xbojd%2Fimage.png?alt=media&amp;token=071a300f-aa23-4f69-aeac-1ddf0e013927" alt=""></li><li>CameraShake Track의 Shake Type을 Ultimate로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fv6l4wIPzJYAdbZwGHESn%2Fimage.png?alt=media&amp;token=dfa5d120-253d-48c8-877b-0cd45a8a7d46" alt=""></li><li>스크러버를 움직이면서, 3단 히트 이펙트가 재생되는 시점에 맞춰 섹션의 위치를 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fny4jE5uZa7fAXRJZHEGI%2Fimage.png?alt=media&amp;token=ce11bc5c-7ac5-47b8-ab34-01bd3ff1a076" alt=""></li><li>카메라 쉐이크가 자연스러운지 확인하고 섹션 위치와 길이를 조정합니다.</li><li>편집 카메라/캐릭터 카메라 시점 전환을 클릭해서 기본 카메라로 복구합니다.</li><li>작업 내용을 저장합니다.</li></ul></td><td><ul><li>카메라 관련 트랙(Camera Shake, Camera FOV, Camera Zoom 등)의 연출을 확인하려면 <strong>편집 카메라/캐릭터 카메라 시점 전환 버튼</strong>을 통해 시점을 변경해야 합니다.</li><li>런타임에서 카메라 효과는 액션시퀀스를 실행한 Player에게만 적용됩니다.</li></ul></td></tr><tr><td><ol start="22"><li>트리거 트랙</li></ol></td><td><ul><li>Trigger Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FGQy56lno79Fu4fARLKpl%2Fimage.png?alt=media&amp;token=e633699f-3b49-415c-a550-de01e14aff85" alt=""></li><li>3단 히트 애니메이션의 길이에 맞춰 섹션의 위치와 길이를 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FIy0wc84D1M7RmcJehvT2%2Fimage.png?alt=media&amp;token=1e1c7f95-7671-4c6f-9bdc-dc9a960eb417" alt=""></li><li>Trigger Name 필드를 MovementStateControl로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FHT37dhsbRtWAJO5hr4pp%2Fimage.png?alt=media&amp;token=c837559a-035e-4d05-a8a9-59dc1d37d134" alt=""></li><li>액션시퀀스 하위로 LocalScript를 추가하고 이름을 TriggerTrackScript로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FtqkiIuhGL9fH7NQVVYLc%2Fimage.png?alt=media&amp;token=cf60805b-a3ef-4f53-80a0-065517e5931c" alt=""></li><li><p>스크립트를 열고 조작 상태를 제어하기 위해 아래의 내용을 작성합니다.</p><pre class="language-lua"><code class="lang-lua">local Sequence = script.Parent
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local LocalPlayer = Players.LocalPlayer
local InitWalkSpeed = nil
local InitJumpHeight = nil
local function SetMovementState(humanoid, state)
local toWalkSpeed = state == false and 0 or InitWalkSpeed
local toJumpHeight = state == false and 0 or InitJumpHeight
humanoid.WalkSpeed = toWalkSpeedhumanoid.JumpHeight = toJumpHeightStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Joystick, state)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.JumpButton, state)print("SetMovementState : ", state)
end
Sequence:TriggerStarted("MovementStateControl"):Connect(function(self)
if self ~= LocalPlayer.Character then
return
end
local humanoid = self:WaitForChild("Humanoid")if InitWalkSpeed == nil or InitJumpHeight == nil then    InitWalkSpeed = humanoid.WalkSpeed    InitJumpHeight = humanoid.JumpHeightendSetMovementState(humanoid, false)
end)
Sequence:TriggerEnded("MovementStateControl"):Connect(function(self)
if self ~= LocalPlayer.Character then
return
end
local humanoid = self:WaitForChild("Humanoid")SetMovementState(humanoid, true)
end)
</code></pre></li></ul></td><td></td></tr><tr><td><ol start="23"><li>재생 길이 정리</li></ol></td><td><ul><li>스크러버를 3단 히트 애니메이션이 끝나는 위치로 이동시킵니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fsdp1f3hpWfujYbLQ16bc%2Fimage.png?alt=media&amp;token=2d43d518-6999-4ff6-b799-5862d443b5d8" alt=""></li><li>재생 길이 설정 버튼을 눌러, 재생 종료 위치를 실제 연출 길이 만큼 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fj7K8seiDuMxpxjp7nDVi%2Fimage.png?alt=media&amp;token=7670f8b1-d806-48d6-8a01-577f8dcd0c69" alt=""><br></li><li>작업 내용을 저장합니다.</li></ul></td><td><ul><li>액션 시퀀스 실행 시 생성되는 복제 객체의 생성 및 파괴 시점을 명확히 하기 위해, 액션이 종료된 경우 재생 길이도 함께 정리하는 것이 좋습니다. <strong>재생 길이가 불필요하게 길 경우 객체 제거 시점</strong>이 지연될 수 있습니다.</li></ul></td></tr><tr><td><ol start="24"><li>결과 확인</li></ol></td><td><ul><li>플레이 테스트를 실행하고 결과를 확인합니다.<br>(3단 히트 애니메이션이 실행되면, 재생이 종료되기 전까지 이동이 비활성화되는지 확인해봅시다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FKzgXS0sCJGa05RY52hhP%2Fimage.png?alt=media&amp;token=f90c5c40-9966-4ca1-8af7-9e35003c71c7" alt=""></li></ul></td><td></td></tr></tbody></table>

## 피격 반응

### 학습 효과

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fjzrt9GHydqFEnP7VbgVl%2FAseqGif3.gif?alt=media&amp;token=ef836297-05b7-4225-a550-178a70827883" alt=""><figcaption></figcaption></figure>

이 튜토리얼을 완료하면 다음과 같은 구성을 만들 수 있습니다.

* 공격 적중시 피격 반응 재생
* 타격 시점에 맞춰 재생되는 피격 이펙트

### 사용 에셋 목록

<table><thead><tr><th width="140.9998779296875">에셋 타입</th><th width="229">에셋 Id</th><th>설명</th></tr></thead><tbody><tr><td>애니메이션</td><td>ovdrassetid://18178100</td><td>피격</td></tr></tbody></table>

### 튜토리얼

<table data-full-width="true"><thead><tr><th width="233.33331298828125">단계</th><th width="590">작업 내용</th><th>비고</th></tr></thead><tbody><tr><td><ol><li>액션시퀀스 생성</li></ol></td><td><ul><li>액션시퀀스 서비스 하위에 액션시퀀스 인스턴스를 추가합니다.</li><li>이름을 HitReaction로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fhwxdt5MrQcaC8JVWBTXU%2Fimage.png?alt=media&amp;token=b939282b-9249-474d-b9d9-ddef64a16a10" alt=""></li></ul></td><td><ul><li>액션시퀀스 이름은 중복되지 않아야 합니다.</li></ul></td></tr><tr><td><ol start="2"><li>액션시퀀서 에디터 열기</li></ol></td><td><ul><li>액션시퀀스 인스턴스에 마우스를 올리면 표시되는 Open 버튼을 클릭합니다.</li></ul></td><td><ul><li>플레이 중 편집한 내용은 즉시 반영되지 않으며, 재실행 시 적용됩니다.</li></ul></td></tr><tr><td><ol start="3"><li>애니메이션 트랙</li></ol></td><td><ul><li>Add Track 버튼을 눌러 Animation Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FRG2tZdybfxKzPirfmkyJ%2Fimage.png?alt=media&amp;token=1d67d837-fbec-48d1-8e31-3b1d7e2b8b48" alt=""></li><li>Ovdr Asset Id에 1단 히트용 애니메이션 Id를 지정합니다. (ovdrassetid://18178100)</li><li>Blend in / Out Time을 0으로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FxedAzux8VtdpY2rZo8fQ%2Fimage.png?alt=media&amp;token=06a4d79a-251e-49d8-b369-4eab65580c30" alt=""></li><li>재생 길이를 실제 연출 길이 만큼 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F8hwdPgNhd6QDT6uQwnYg%2Fimage.png?alt=media&amp;token=42f92678-e8fa-4514-917f-4c1fa17fa5dc" alt=""></li></ul></td><td><ul><li>F키를 눌러 재생 길이에 맞춰 타임라인을 화면에 채울 수 있습니다.</li></ul></td></tr><tr><td><ol start="4"><li>미리보기</li></ol></td><td><ul><li>재생 버튼 또는 Spacebar를 눌러 타임라인을 재생하고 애니메이션을 확인합니다.</li><li>작업 내용을 저장합니다.</li></ul></td><td></td></tr><tr><td><ol start="5"><li>액션시퀀스 실행</li></ol></td><td><ul><li><p>3단 히트 액션을 만들면서 생성한 StarterPlayer.StarterCharacterScripts.LocalScript에 아래의 내용을 작성합니다.</p><pre class="language-lua"><code class="lang-lua">-- (이전 내용에 이어서)
local PlayButton2 = Instance.new("TextButton")
PlayButton2.Position = UDim2.new(0.5, 0, 0.1, 60)
PlayButton2.Text = "Play HitReaction"
PlayButton2.TextScaled = true
PlayButton2.Parent = ScreenGui
PlayButton2.Activated:Connect(function()
local character = LocalPlayer.Character
local humanoid = character:WaitForChild("Humanoid")
local actionRunner = humanoid:GetActionRunner()
local key = "HitReaction"local transitionTime = 0actionRunner:Play(key, transitionTime)print("Play : " .. key)	
end)
</code></pre></li><li>플레이 테스트를 실행합니다.</li><li>Play HitReaction 버튼을 눌러 액션시퀀스를 실행하고 액션이 재생되는지 확인합니다.</li><li>플레이 테스트를 종료합니다.</li></ul></td><td><ul><li>액션시퀀스는 LocalScript에서도 실행할 수 있습니다.</li></ul></td></tr><tr><td><ol start="6"><li>이펙트 설정</li></ol></td><td><ul><li>액션시퀀스 하위에 Part를 추가한 다음, Part 하위에 VFXPreset을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F0qRO0L99CKdF3GsqjzAg%2Fimage.png?alt=media&amp;token=f060db76-3c05-481e-992e-2271e4028daa" alt=""></li><li>Part의 이름을 ReactionFXPart, VFXPreset의 이름을 BloodFX로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fjy6AUzLezHOTyN5LEluv%2Fimage.png?alt=media&amp;token=5767abb4-a914-49dd-8789-3bd0bc8c4103" alt=""></li><li>ReactionFXPart의 CanCollide를 false, Transparency를 1로 변경합니다.</li><li>BloodFX의 외형을 Blood, Enabled를 false로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fs2XTpuuh5RhV3aFRzuXJ%2Fimage.png?alt=media&amp;token=025fc5d0-4674-45c9-a288-db065bff06e3" alt=""></li><li>Control Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fz6POqahiWvNB09aMcip2%2Fimage.png?alt=media&amp;token=78eb4a92-03b3-4213-96b0-2a4db0451dc3" alt=""></li><li>Ref Object 필드에서 참조 연결 버튼을 클릭한 다음, 레벨 브라우저에서 ReactionFXPart을 선택합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FVNU6FwEuJ85LMsc4H0Es%2Fimage.png?alt=media&amp;token=d5ca7dea-478f-4130-b8f1-07306aa360d6" alt=""></li><li>트랙 목록에서 BloodFX의 Value 필드가 보이도록 컨트롤 트랙을 전부 펼칩니다.</li><li>타임라인의 Value 영역에 키프레임을 추가합니다.</li><li>키프레임을 선택하고 Time 필드를 0으로 변경합니다.<br>(Value 필드가 false가 아닌 경우, false로 설정합니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F61s9Jibdd7pOGzx9GNrK%2Fimage.png?alt=media&amp;token=f64c8d73-ba50-4bb2-884e-f6c6f2e6949e" alt=""></li><li>적당한 시점에 키프레임을 추가하고 Value 값을 true로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FnZYy6wm7HF7MNmMsieqF%2Fimage.png?alt=media&amp;token=764ed477-e362-46ea-a3db-573760ec0c50" alt=""></li><li>컨트롤 트랙을 클릭하고 Relative Location 필드를 (0, 100, 0)으로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FN6MXjAHOv3l1bf5hUzVC%2Fimage.png?alt=media&amp;token=05571196-0824-4e86-a8c8-2663b5f72fe7" alt=""></li><li>스크러버를 움직이면서, 이펙트 위치가 자연스러운지 확인하고 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fasrpel3FETLxxyeFZD8c%2Fimage.png?alt=media&amp;token=c770e8f9-47d0-42cf-8966-8f1243ff669b" alt=""></li><li>작업 내용을 저장합니다.</li></ul></td><td></td></tr><tr><td><ol start="7"><li>공격 적중시 피격 표현</li></ol></td><td><ul><li>3-HitCombo 액션시퀀스 하위의 CollisionTrackScript를 엽니다.</li><li><p><code>target.Health -= 40</code> 아래에 다음의 코드를 추가합니다.</p><pre class="language-lua"><code class="lang-lua">target.ActionRunner:Play("HitReaction")
</code></pre></li></ul></td><td></td></tr><tr><td><ol start="8"><li>결과 확인</li></ol></td><td><ul><li>플레이 테스트를 실행합니다.</li><li>Player1 캐릭터를 Player2 캐릭터 앞에 이동시킨 뒤, Play 3-Hit Combo 버튼을 눌러 액션시퀀스를 실행하고 공격이 적중할 때 마다 피격 액션이 재생되는지 확인합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FUYuZTllJklnk2oLFydgL%2Fimage.png?alt=media&amp;token=419a056b-6126-4f95-ba62-488c4f9d871c" alt=""></li></ul></td><td></td></tr></tbody></table>

## 회복 액션

### 학습 효과

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FDMWRqyQBPXXZaTPNr3Kr%2FAseqGif4.gif?alt=media&amp;token=2ba2247b-ca64-41e9-9a73-5b5d2bc935a1" alt=""><figcaption></figcaption></figure>

이 튜토리얼을 완료하면 다음과 같은 구성을 만들 수 있습니다.

* 회복 효과 표현
* 이벤트 트랙을 활용하여 특정 시점에 맞춰 이벤트 처리

### 사용 에셋 목록

<table><thead><tr><th width="140.9998779296875">에셋 타입</th><th width="229">에셋 Id</th><th>설명</th></tr></thead><tbody><tr><td>애니메이션</td><td>ovdrassetid://18884200</td><td>마법 시전</td></tr></tbody></table>

### 튜토리얼

<table data-full-width="true"><thead><tr><th width="233.33331298828125">단계</th><th width="590">작업 내용</th><th>비고</th></tr></thead><tbody><tr><td><ol><li>액션시퀀스 생성</li></ol></td><td><ul><li>액션시퀀스 서비스 하위에 액션시퀀스 인스턴스를 추가합니다.</li><li>이름을 HealSpell로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FxE8MCXtJJeipmAl912IN%2Fimage.png?alt=media&amp;token=b3b179cd-d0c0-42a4-815a-2e071f461595" alt=""></li></ul></td><td><ul><li>액션시퀀스 이름은 중복되지 않아야 합니다.</li></ul></td></tr><tr><td><ol start="2"><li>액션시퀀서 에디터 열기</li></ol></td><td><ul><li>액션시퀀스 인스턴스에 마우스를 올리면 표시되는 Open 버튼을 클릭합니다.</li></ul></td><td><ul><li>플레이 중 편집한 내용은 즉시 반영되지 않으며, 재실행 시 적용됩니다.</li></ul></td></tr><tr><td><ol start="3"><li>애니메이션 트랙</li></ol></td><td><ul><li>Add Track 버튼을 눌러 Animation Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FRG2tZdybfxKzPirfmkyJ%2Fimage.png?alt=media&amp;token=1d67d837-fbec-48d1-8e31-3b1d7e2b8b48" alt=""><br></li><li>Ovdr Asset Id에 1단 히트용 애니메이션 Id를 지정합니다. (ovdrassetid://18884200)</li><li>Blend in / Out Time을 0으로 설정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FkOMUxkvni1Xlk9Br30xO%2Fimage.png?alt=media&amp;token=8794afb7-f173-4a32-9057-f13fedac4c8c" alt=""></li><li>Slot Type을 Upper Body로 변경합니다.</li></ul></td><td></td></tr><tr><td><ol start="4"><li>미리보기</li></ol></td><td><ul><li>재생 버튼 또는 Spacebar를 눌러 타임라인을 재생하고 애니메이션을 확인합니다.</li><li>작업 내용을 저장합니다.</li></ul></td><td></td></tr><tr><td><ol start="5"><li>액션시퀀스 실행</li></ol></td><td><ul><li><p>3단 히트 액션을 만들면서 생성한 StarterPlayer.StarterCharacterScripts.LocalScript에 아래의 내용을 작성합니다.</p><pre class="language-lua"><code class="lang-lua">-- (이전 내용에 이어서)
local PlayButton3 = Instance.new("TextButton")
PlayButton3.Position = UDim2.new(0.5, 0, 0.1, 120)
PlayButton3.Text = "Play HealSpell"
PlayButton3.TextScaled = true
PlayButton3.Parent = ScreenGui
PlayButton3.Activated:Connect(function()
local character = LocalPlayer.Character
local humanoid = character:WaitForChild("Humanoid")
local actionRunner = humanoid:GetActionRunner()
local key = "HealSpell"local transitionTime = 0actionRunner:Play(key, transitionTime)print("Play : " .. key)	
end)
</code></pre></li><li>플레이 테스트를 실행합니다.</li><li>Play HealSpell 버튼을 눌러 액션시퀀스를 실행하고 액션이 재생되는지 확인합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fws30iPBnsHJgNjZ7NmoV%2Fimage.png?alt=media&amp;token=a7d54414-e9fb-46cd-ac62-e95357beef9f" alt=""></li><li>플레이 테스트를 종료합니다.</li></ul></td><td><ul><li>액션시퀀스는 LocalScript에서도 실행할 수 있습니다.</li></ul></td></tr><tr><td><ol start="6"><li>이펙트 설정</li></ol></td><td><ul><li>액션시퀀스 하위에 Part를 추가한 다음, Part 하위에 VFXPreset을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FIpW0CUa4QLHtsi7Rl4XJ%2Fimage.png?alt=media&amp;token=a8e6d173-d31d-4f0a-8867-8157496032e5" alt=""></li><li>Part의 이름을 HealFXPart, VFXPreset의 이름을 HealFX로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FTs5uorX4b0mM6IE7tC5Z%2Fimage.png?alt=media&amp;token=dc1a8e87-95e3-478a-b3f4-ab68c0d0eebe" alt=""></li><li>HealFXPart의 CanCollide를 false, Transparency를 1로 변경합니다.</li><li>HealFX의 외형을 Heal, Enabled를 false로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FMCt1dxlx2BvqKfqZtcwi%2Fimage.png?alt=media&amp;token=eea912b8-53d9-4361-9cf5-500f056aa91b" alt=""></li><li>Control Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F2TsKAOmMqCkGfWpdZ2nE%2Fimage.png?alt=media&amp;token=cff685c1-79c9-42b7-abbb-cb9dd2747913" alt=""></li><li>Ref Object 필드에서 참조 연결 버튼을 클릭한 다음, 레벨 브라우저에서 HealFXPart을 선택합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FzXAIYfIKJDVZxbmHPWOl%2Fimage.png?alt=media&amp;token=ba3c6c57-5efd-4673-b18b-d9f2320c09c2" alt=""></li><li>트랙 목록에서 HealFX의 Value 필드가 보이도록 컨트롤 트랙을 전부 펼칩니다.</li><li>타임라인의 Value 영역에 키프레임을 추가합니다.</li><li>키프레임을 선택하고 Time 필드를 0으로 변경합니다.<br>(Value 필드가 false가 아닌 경우, false로 설정합니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fuabjlxoas2wfSuacMlJj%2Fimage.png?alt=media&amp;token=38f95505-f54f-47a9-a389-b3ed6f34f58d" alt=""></li><li>애니메이션이 끝나는 시점에 맞춰 키프레임을 추가하고, Value 필드를 true로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FjLm8X2HnlYjKrk5HMqmm%2Fimage.png?alt=media&amp;token=778b8b1d-36dd-4868-800b-67d81be5a36a" alt=""></li><li>스크러버를 움직이면서, 이펙트 위치가 자연스러운지 확인하고 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fb4fM5sG3gfoPeLTxtbMk%2Fimage.png?alt=media&amp;token=8116e655-49b0-4526-9c79-29fc7035094d" alt=""></li><li>작업 내용을 저장합니다.</li></ul></td><td></td></tr><tr><td><ol start="7"><li>재생 길이 설정</li></ol></td><td><ul><li>스크러버를 2초에 두고, 재생 길이를 조정합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FAAwJbn6psyzHgYB18sOM%2Fimage.png?alt=media&amp;token=b2a1289b-6aca-4834-8937-3e7716642ce5" alt=""></li></ul></td><td></td></tr><tr><td><ol start="8"><li>이벤트 트랙</li></ol></td><td><ul><li>Event Track을 추가합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FKoUksLkXaUbgyIianPsA%2Fimage.png?alt=media&amp;token=1cb508ff-9f9e-433f-a568-2779351e774a" alt=""></li><li>Value 필드가 보이도록 이벤트 트랙을 전부 펼칩니다.</li><li>컨트롤 트랙의 마지막 키프레임 이후에 키프레임을 4개 추가합니다.<br>(추가된 키프레임은 스크립트에서 회복 처리를 위해 사용됩니다.)<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F5bciBe5Rjh3t62vIMLOS%2Fimage.png?alt=media&amp;token=9a1c2191-a8c2-46c5-a8de-3fb20b122a9b" alt=""></li><li>각 키프레임의 Collision Event Name을 Heal1, Heal2, Heal3, Heal4로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2F1SB8yWnY3SK6VRLnNVVZ%2Fimage.png?alt=media&amp;token=837dc353-25b0-43b8-bfbc-522f53ec1dc9" alt=""></li><li>작업 내용을 저장합니다.</li><li>액션시퀀스 하위로 Script를 추가하고 이름을 EventTrackScript로 변경합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FeEtby44RJ9Jph9r84EXW%2Fimage.png?alt=media&amp;token=d89d29ae-4551-4bb1-9c1e-31f9afbd9ddc" alt=""></li><li><p>스크립트를 열고 조작 상태를 제어하기 위해 아래의 내용을 작성합니다.</p><pre class="language-lua"><code class="lang-lua">local ActionSequence = script.Parent
local HealAmount = 20
for i = 1, 5 do
ActionSequence:GetMarkerReachedSignal("Heal" .. i):Connect(function(self)
local humanoid = self:WaitForChild("Humanoid")
humanoid.Health += HealAmount
print("Health : ", humanoid.Health, " / ", humanoid.MaxHealth)
end)
end
</code></pre></li></ul></td><td></td></tr><tr><td><ol start="9"><li>결과 확인</li></ol></td><td><ul><li>플레이 테스트를 실행하고 결과를 확인합니다.<br><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2FiynFAELT4nZ6Mrxdg65t%2Fimage.png?alt=media&amp;token=68a2d054-1b01-488a-a97a-11fc875ff1fd" alt=""></li></ul></td><td></td></tr></tbody></table>

## 학습 자료

{% content-ref url="/pages/LdDj7Trv4lsS7sQCWGPk" %}
[동작 원리](/korean/manual/studio-manual/game-development/actionsequence/actionsequence-mechanism.md)
{% endcontent-ref %}

{% content-ref url="/pages/PtyLZJRyDFQAC6cztJRF" %}
[트랙 종류](/korean/manual/studio-manual/game-development/actionsequence/actionsequence-track-types.md)
{% endcontent-ref %}

## 유용한 자료

{% content-ref url="/pages/GWE1QQYA5ZKybkJcVPtz" %}
[캐릭터 애니메이션](/korean/manual/studio-manual/character/character-animation.md)
{% endcontent-ref %}

{% content-ref url="/pages/p2S6gDDGo66tzq8ECaHo" %}
[Broken mention](broken://pages/p2S6gDDGo66tzq8ECaHo)
{% endcontent-ref %}
