Unity에서 슬로우 모션(Slow Motion)효과 주기 - TimeScale/AudioSource
2020.08.11
# Introduce Unity 메소드를 활용해 슬로우 모션(Slow Motion)효과를 적용해봅시다. > Time.timeScale > Time.fixedDeltaTime > Time.unscaledDeltaTime > Audio Source Pitch > Fade Effect > Delegate # For example 1. Time.timeScale (시간 조절) Time.timeScale은 시간이 경과하는 크기를 나타냅니다. 해당 값을 수정하여 시간이 흐르는 속도(배율)를 조절할 수 있습니다. using UnityEngine; public class SlowMationClass : MonoBehaviour { public float slowFactor = 0.05f; public void DoSl..
# Introduce BGM이나 SFX의 온/오프를 설정자와 Delegate를 이용하여 간단히 제어해 봅시다. # For example 1. 매니저 우선 매니저 역할을 하는 스크립트에 해당과 같은 Delegate를 추가합니다. public Action _OnSoundMuted; public Action _OnSoundUnmuted; 사운드 on/off 여부를 가르키는 변수를 만들어 줍니다. private bool m_bSoundOn; 사운드 변수에 접근하는 접근자, 설정자를 만들어 줍니다. 설정자에 접근할때(사운드가 켜고 꺼질때) 해당 Delegate가 Invoke 됩니다. public bool _SoundOn { get { return m_bSoundOn; } set { if (value) { _OnS..
# Introduce c#에서 사용이 가능한 조건부 컴파일 기호입니다. 정의되지 않은 기호가 사용된 메서드의 호출이나 특성이 무시됩니다. 가시적으로는 전처리기 지시문과 동일하게 보여지지만 메서드단위의 관리가 가능하다는 점과, 정의되지 않은 기호에 대하여 호출이 무시된다는 점에서 더 좋은 성능을 기대 할 수 있어 소개하게 되었습니다. # For example MS 공식 설명서에 구현되어있는 예제를 유니티 C#에서 재구성한 모습입니다. 2개의 메서드에 할당된 기호들이 모두 정의되어 있기 때문에 정상적으로 실행되어 아래와 같이 모든 메세지가 출력되게 됩니다. 다음과 같이 CONDITION1 기호 정의가 없는 상황인 경우, 해당 메서드에 대한 실행부에서의 호출이 무시되는것이 때문에 Method1(3); 부분을 ..