UNITY(15)
-
[Unity] Unity의 enabled, isActiveAndEnabled 및 activeInHierarchy의 차이점
https://stackoverflow.com/questions/40708014/difference-between-enabled-isactiveandenabled-and-activeinhierarchy-in-unity
2023.05.11 -
[Unity] 현재 실행중인 애니메이터의 길이를 구하는 방법 GetCurrentAnimatorStateInfo
현재 실행 중인 애니메이터의 길이를 얻으려면 Animator 컴포넌트의 GetCurrentAnimatorStateInfo 메서드를 사용하여 현재 상태 정보를 가져와야 합니다. 이 메서드는 현재 애니메이터 상태에 대한 정보를 반환합니다. 다음은 C# 코드의 예입니다. Animator animator = GetComponent(); AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); float length = stateInfo.length; 이 코드에서 animator 변수는 현재 게임 오브젝트에서 Animator 컴포넌트를 가져오기 위해 사용되고, GetCurrentAnimatorStateInfo 메서드는 현재 애니메이터 상태에 대..
2023.02.22 -
[Unity] DateTime
게임에서 일일 보상과 같이 특정 시간이 지났을 경우 리셋되는 아이템들이 있는데, 이를 위해 reset time을 지정해둔다. (몇시에 초기화 될건지) var addDay = serverTime < ResetTime ? 0 : 1; var resetTime = new DateTime(serverTime.Year, serverTime.Month, serverTime.Day + addDay); 하루가 지난 날짜를 확인하기 위해 addDay를 추가하여 + 해주는 것을 알 수 있다. 하지만 이렇게 직접 넣게되면 문제가 발생한다. 작성일인 10월 31일의 경우 +1일을 하면 32일이 되며 에러가 발생한다. 따라서 직접적으로 넣기보단 다음과 같은 방법이 좋다. var addDay = serverTime < Reset..
2022.10.31 -
[UNITY] for문에서의 Action()과 클로저(closure)의 개념
for문에서의 Action 액션을 만들어두고 특정 이벤트가 발생했을때 실행되도록 하는 경우가 있다. 대표적인 예로 버튼클릭액션이다. 만약 이때 어떤 변수를 넣어줘야 할 경우, 등록하는 순간의 값이 아니라 실제로 실행되는 순간에 변수가 들어간다. Slots[0].ClickAction(() => ShowNavigationPopup(type1, value1)); 위처럼 확실한 값을 넣을 경우에는 문제가 생기지 않는다. 그런데 아래와 같은 경우에는 어떻게 될까? for (int i = 0; i ..
2022.10.29 -
[유니티] 디버깅모드로 전환시 멈추는 현상
작업을 하다보면 갑자기 이곳저곳에서 중단점을 걸어두고 굳이 해제를 안한채로 이곳저곳에서 작업을 계속 진행하는 경우가 발생한다. 문제는 유니티에서 오래된 버그가 있다는건데, 중단점을 걸어두고 디버깅모드를 하면 멈춘다고 한다. 체감상 중단점을 걸어두면 걸어둘수록 느려진다는 느낌을 받았는데, 이게 이 영향일지도 모른다. 해결방안 : 모든 중단점 해제 후 유니티 연결을 하면 정상적으로 동작한다. 문제는 중단점을 다시 걸어야한다는 것... https://forum.unity.com/threads/unity-freeze-when-connecting-vs-debugger.529863/ Unity Freeze when connecting VS Debugger Hey Guys. Since three days, i hav..
2022.10.06 -
개발자로써 커리어를 쌓으면서 느낀 점
1. 의도를 눈치채라 예를 들어 접근제한자가 public으로 선언된 경우도 있을 것이고 private으로 선언된 경우도 있을 것이다. 단순하게 생각해보면 외부에서 가능하냐 못하냐로 나뉠 수 있지만, 깊은 뜻은 이것을 선언한 개발자가 '해당 변수는 외부에서 사용하지 않았으면 좋겠다.' 라는 의도가 담긴 것이다. 큰 틀에서 보자면, 코드를 구성할때 어떤 목적을 가지고 만들 것인가를 생각하면서 개발해야 한다. 2. 근거를 확실하게 하라 학창시절에는 돌아가게끔만 구현해도 오케이였다. 그래서 버그가 왜 발생하는지등을 완벽하게 파악할 필요가 없었다. 그러나 현업에서는 다르다. 이슈하나를 처리하더라도 해당 이슈에 대한 분석을 확실하게 해야 사이드이펙트를 막을 수 있다. 만약 적당히 분석하고 이렇게하면 되겠지~ 하면 ..
2022.09.28