Unity 83

[Unity][방법][팁] Conditional사용하여 로그(LOG)사용하기

Debug Log 구문 제거하기 Log 구문, 특히 Update, LateUpdate 또는 FixedUpdate에 있는 Log 구문은 성능을 낮출 수 있습니다. 빌드를 만들기 전에 Log 구문을 비활성화하세요. 이 작업을 보다 쉽게 하려면 프리 프로세서 지시문과 함께 조건부 속성을 만드는 것이 좋습니다. 예를 들어 다음과 같은 커스텀 클래스를 만듭니다. public static class Logging { [System.Diagnostics.Conditional("ENABLE_LOG")] static public void Log(object message) { UnityEngine.Debug.Log(message); } } Player Settings -> Player -> Other Settings 커..

Unity 2022.10.20

[Unity][팁, 방법] 애니메이션 파라미터 사용하지 않고 소스 제어

아래와 같이 파라미터가를 사용하지 않고 소스 제어 방법 1. Play사용하기 public PlayerState State { get { return _state; } set { _state = value; Animator anim = GetComponent(); switch (_state) { case PlayerState.Die: anim.Play("WAIT"); break; case PlayerState.Idle: anim.Play("WAIT"); break; case PlayerState.Moving: anim.Play("RUN"); break; case PlayerState.Skill: anim.Play("ATTACK"); break; } } } 2. CrossFad사용하기 CrossFad인자값 ..

Unity 2022.10.13

[Unity][방법] Status패턴 방법

1. enum으로 상태값 정의 2. 상태에 따른 함수 정의 3. 상태만 변경해서 사용 float wait_run_ratio; PlayerState _state = PlayerState.Idle; public enum PlayerState { Die, Moving, Idle, } void UpdateDie() { } void UpdateMoving() { Vector3 dir = _destPos - transform.position; if (dir.magnitude < 0.0001f) { _state = PlayerState.Idle; } else { float moveDist = Math.Clamp(_speed * Time.deltaTime, 0, dir.magnitude);//clamp는 시작 값 끝값..

Unity 2022.10.06

[Unity][방법] 에니매이션 합성하여 호출하는 방법

1. Animator 창에서 우클릭 2. motion 추가 3. 2개의 합성된 애니메이션 사용시 조절 파라미터 생성 4. 합성 애니메이션 소스에서 호출 (Mathf.Lerp는 부드러운 움직임을 위해) if (_moveToDest) { wait_run_ratio = Mathf.Lerp(wait_run_ratio, 1, 10.0f * Time.deltaTime); Animator anim = GetComponent(); anim.SetFloat("wait_run_ratio", wait_run_ratio); anim.Play("WAIT_RUN"); } else { wait_run_ratio = Mathf.Lerp(wait_run_ratio, 0, 10.0f * Time.deltaTime); Animator a..

Unity 2022.10.06