정리 안 하고 확인용 공부용으로 막 적음. 최적화를 해야하는데 프로파일링 사용이 너무 미숙한 것 같아서 다시 정리해보려고 한다. 프로파일링은? 병목을 체크하는 게 바로 프로파일링이다. 어디가 문제있는지를 확인을 하자! 어렴풋하게 하지말고 근거 있게 해야하는 거 개발 막바지에 해야하는 게 아니라 주기적으로 해야하는 것. 그렇지 않으면 돌이키기 힘든 경우가 생길 수도 있다. (나중에 가서야 갈아엎어야 할 수도 ㅠㅠ) - 추측에 의한 최적화 금지 - 디버거 / 프로파일러 툴의 적극적인 활용. - 에디터에서의 프로파일링은 단순 참고용! - 자동화된 테스팅 환경 구축하는 게 최선이다. 쓰로틀링 상황 고려해야함. 특히 최신기기일수록 그렇다. 유니티 프로파일러 하이라키 타임라인 웨이트 쓰레드는 신경쓰지말자! 프레임 ..
public Vector3 GetArcPoint(Vector3 startPos, Vector3 targetPos) { Vector3 directionVector = targetPos - startPos; Vector3 perpendicularDirection = new Vector3(directionVector.y, -directionVector.x).normalized * (directionVector.magnitude * 0.3f); if ((perpendicularDirection.y
아이템 별로 확률을 다르게 해서 뽑게 하기. 완전 쉽게 만들어봄. 일단 실수 없이 정수로만 하는 것으로 만듬. 실수 포함하면 계산도 복잡하지만 내가 표현하기도 힘들어서.. 최대한 곱셈을 통하여 만분율, 십만분율 등 만들고 부담없이 랜덤 나오게 만들었다. 뭐 사실 이건 개발자들보다는 기획자의 몫이 더 큰 부분이라... 많은 부분을 만들 필요도 없다고 생각했음. public class MyRandom { public RandomData[] datas; public int totalCount; public int GetRandom() { for(int i =0;i < datas.Length; i++) { datas[i].minInclusive = this.totalCount; this.totalCount +=..
유니티에서 사용할 머지 정렬을 만들었는데 확실히 c#용은 아닌 녀석임... 스테이블 정렬을 하기 위해서 일단은 쓰겠지만 앞으로 문제가 생길지도! 후우... 일단은 기록을 위해 포스팅합니다. 개선점 적어주시면 너무 감사감사.. Vector2Int를 쓴 이유는 int값 두개를 가지고 x를 기존 인덱스를 1,2,3,4... 쭉 넣어주고 y값에 비교할 밸류를 넣는 방식으로 하는데 Vector2int라고 하는 편리한 녀석을 안 쓸 이유가 없어서 활용해봤다. public static void Merge(Vector2Int[] arr, int left, int right, E_SortType sortType) { // 임시 메모리 만들기 Vector2Int[] arr2 = (Vector2Int[])arr.Clone(..
일단 유니티 자체적으로 국가코드를 불러올 수 있는 방법은 없는 것 같아요. 우회적인 방법으로 언어 기반으로 간접적으로 알 수 있지만 신뢰도가 낮지요. 그래서 좀 더 신뢰도 높은 정보를 가져오려면 어떻게 해야하는지 정리하는 글입니다. ------------------ 1. 유니티에서 AAR 혹은 JAR 사용하기 유니티 메뉴얼에서 AAR플러그인 관련 문서입니다. https://docs.unity3d.com/kr/2017.4/Manual/AndroidAARPlugins.html AAR 플러그인과 Android 라이브러리 - Unity 매뉴얼 Android Archive(AAR) 플러그인은 컴파일된 Java, 네이티브 (C/C++)코드, 리소스 또는 Android 매니페스트가 포함된 번들입니다. .aar 파일 ..
지금 당장은 터치와 오브젝트 간의 충돌 설정을 위해서 레이어마스크를 쓰고 있는데요... 콜라이더가 여러개일경우 아니면 오류 설정을위해서 레이어마스크를 사용해야 합니다. 레이어마스크는 비트 마스크로 마스킹을 하는데요. 근데 이게 제가 대충 사용법만 알고 있었지 뭔 원리인지 모르겠어서 한 번 이 포스트에 정리해보려 합니다. 위에 보이는 레이어 설정창을 보면 커스텀 레이어가 8번부터 되어있는 걸 볼 수 있는데요. 이 숫자가 걍 보기 편하라고 있는 줄 알았는데 비트마스크의 역할을 하게 하더라고요. 그래서 LayerMask.GetMask("StageBtn"); 의 리턴값은 1024가 되는거죠 (2의 10승) 여기서 만약 레이어마스크에 UI레이어를 같이 검사하고 싶으면 2의 5승인 32를 더해서 1056이 되는 거..
길지 않게 필요한 것만 써보려 합니다. 결국 퍼온건데 이 링크 기반입니다. http://ko.esotericsoftware.com/spine-unity#spine-unity Spine-Unity Runtime Documentation Forums | GitHub | Additional documentation Integrating an official Spine Runtime into your applications requires a valid Spine license, though you are welcome to use the Spine Runtimes for evaluation purposes. Adding spine-unity into your Unity project: Do ko.esoteri..
2019년 5월 21일에서 22일까지 COEX에서 열린 우리나라 유니티 관련 최대행사 다녀왔습니다. 가장 처음에 느낀 것은 사람 왜 이리 많아? 코엑스라고하는 우리나라에서 가장 큰 규모의 행사장에서 함에도 불구하고 너무나도 비좁다는 생각이 들었다. 대기줄은 끝이 없고 인구밀도가 너무 크고 자연스럽게 새치기를 당함을 보면서 당황스러울 지경. 많은 세션은 앉지도 못하고 서서 들어야만 했다. 그럼에도 개인적으로 자극이 되었고 좁은 시야의 내가 좀 더 넓은 시야를 갖게 도와주었기에 피곤했지만 의의가 큰 행사였다. ----- 유니티 2019 버전 관련 세션 유니티가 추구하고 있는 방향성을 명확히 보여주는 세션들이었다. 그간 약점으로 지적되어온 하이엔드 퀄리티 AAA게임들을 유니티로 제작할 수 있음을 증명하는 자리..