νƒ€μž„λΌμΈπŸŽ¬ 01 - νƒ€μž„λΌμΈ λ§Œλ“€κ³  μ‹€ν–‰ν•˜κΈ°

νƒ€μž„λΌμΈπŸŽ¬ 01 - νƒ€μž„λΌμΈ λ§Œλ“€κ³  μ‹€ν–‰ν•˜κΈ°

μ• λ‹ˆλ©”μ΄μ…˜ 및 νŠœν† λ¦¬μ–Ό μ œμž‘μ— μœ μš©ν•œ μœ λ‹ˆν‹° νƒ€μž„λΌμΈμ— λŒ€ν•΄ μ•Œμ•„λ³Έλ‹€. 첫번째 ν¬μŠ€νŒ…μ—μ„œλŠ” κ°„λ‹¨ν•˜κ²Œ νƒ€μž„λΌμΈμ„ λ§Œλ“€κ³  μ‹€ν–‰ν•˜λŠ” 방법을 μ„€λͺ…ν•œλ‹€.

νƒ€μž„λΌμΈμ— λŒ€ν•œ 관심은 κΎΈμ€€νžˆ μžˆμ–΄μ™”μ§€λ§Œ ν”„λ‘œμ νŠΈμ— ν™œμš©ν•  κΈ°νšŒκ°€ 많이 μ—†μ—ˆλ‹€.
κ·ΈλŸ¬λ‹€ μ΅œκ·Όμ— 마무리 지은 μ• λ‹ˆλ©”μ΄μ…˜ ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•˜κ²Œ λ˜μ—ˆλŠ”λ° 생각보닀 μ»€μŠ€ν…€ ν”Œλ ˆμ΄μ–΄λΈ” κΈ°λŠ₯이 κ°•λ ₯ν•΄μ„œ κ½€ μ“Έλ§Œν•˜λ‹€κ³  μƒκ°ν–ˆλ‹€.
μ°Ύμ•„λ³΄λ‹ˆ 이에 λŒ€ν•œ λ‚΄μš©μ΄ λ§Žμ§€ μ•Šμ•„μ„œ μ•„μ˜ˆ νƒ€μž„λΌμΈμ— λŒ€ν•΄ μ •λ¦¬ν•΄λ³΄λŠ” μ‹œκ°„μ„ κ°€μ Έλ³ΌκΉŒ ν•œλ‹€.

🎞 νƒ€μž„λΌμΈ λ§Œλ“€κΈ°

첫번째 ν¬μŠ€νŒ…μ€ κ°€λ³κ²Œ 기본적인 νƒ€μž„λΌμΈμ„ λ§Œλ“€κ³  μ‹€ν–‰μ‹œν‚€λŠ” κ²ƒμ—μ„œλΆ€ν„° μ‹œμž‘ν•˜μž.

01

Windowβ†’Sequencingβ†’Timelineμ—μ„œ νƒ€μž„λΌμΈ 창을 μ—΄ 수 μžˆλ‹€.

μš°μ„  νƒ€μž„λΌμΈμ—” 늘 감독이 ν•„μš”ν•˜λ‹€λŠ” 것을 κΈ°μ–΅ν•˜μž.
객체에 [Playable Director]λ₯Ό Add Componentν•œλ‹€.

02

Playλ₯Ό ν•˜μžλ§ˆμž μ‹€ν–‰λ˜κ²Œ ν•  것이 μ•„λ‹ˆλΌλ©΄ [Play On Awake]에 μ²΄ν¬ν•΄μ œ

03

νƒ€μž„λΌμΈ 창에 뜬 Create λ²„νŠΌμ„ ν΄λ¦­ν•΄μ„œ νƒ€μž„λΌμΈμ„ μƒμ„±ν•œλ‹€. μƒμ„±λœ νƒ€μž„λΌμΈμ€ [*.playable] 파일둜 μ €μž₯λœλ‹€. νƒ€μž„λΌμΈμ€ ν•œ 씬에 ν•˜λ‚˜κ°€ μ•„λ‹ˆλΌ μ—¬λŸ¬κ°œκ°€ 될 μˆ˜λ„ μžˆλ‹€λŠ” 것을 κΈ°μ–΅ν•˜μž.

04

Playable Director μ»΄ν¬λ„ŒνŠΈμ— μžλ™μœΌλ‘œ νƒ€μž„λΌμΈ 에셋이 λ“€μ–΄κ°„λ‹€. μžλ™μœΌλ‘œ Animator λ˜ν•œ μƒμ„±λ˜λŠ”λ° λ°©ν•΄κ°€ λœλ‹€λ©΄ μ§€μ›Œλ„ λœλ‹€.

πŸ’‘ νƒ€μž„λΌμΈ μ‹€ν–‰ μ‹œν‚€κΈ°

νƒ€μž„λΌμΈμ€ 각 PlayableDirectorκ°€ 가지고 μžˆλŠ” Play() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•¨μœΌλ‘œμ¨ μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ‹€.
PlayableDirector.Play()ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 방법은 두 가지가 μžˆλ‹€.

방법1. νƒ€μž„λΌμΈβ†’νƒ€μž„λΌμΈ

λ¨Όμ €, νƒ€μž„λΌμΈμ—μ„œ λ‹€λ₯Έ νƒ€μž„λΌμΈμ„ ν˜ΈμΆœν•˜λŠ” 방식이닀.

05

이후에 μ•Œμ•„λ³Ό Signalμ΄λΌλŠ” μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•˜μ—¬ λ‹€μŒμ˜ 이벀트λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.
PlayableDirector.Stop()
PlayableDirector.Play()
PlayableDirector.Pause()

방법2. μŠ€ν¬λ¦½νŠΈβ†’νƒ€μž„λΌμΈ

λ‘λ²ˆμ§Έ 방법은 μŠ€ν¬λ¦½νŠΈμ—μ„œ μ‹€ν–‰μ‹œν‚€λŠ” 방법이닀.
주둜 이 방법을 μ‚¬μš©ν•  것을 μΆ”μ²œν•œλ‹€.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
 
public class TimelineController : MonoBehaviour 
{
 
    public PlayableDirector playableDirector;
    public TimelineAsset timeline;
 
 
    public void Play()
    {
		// ν˜„μž¬ playableDirector에 λ“±λ‘λ˜μ–΄ μžˆλŠ” νƒ€μž„λΌμΈμ„ μ‹€ν–‰
        playableDirector.Play ();
    }
 
    public void PlayFromTimeline()
    {
		// μƒˆλ‘œμš΄ timeline을 μ‹œμž‘
        playableDirector.Play (timeline);
    }
 
}

λ§ˆμ°¬κ°€μ§€λ‘œ Stopκ³Ό Pause ν•¨μˆ˜λ„ 호좜 ν•  수 μžˆλ‹€.


Β© 2022. All rights reserved.