본문 바로가기
[C#] 중복 없는 랜덤 중복 없이 랜덤 숫자나 객체를 뽑는 알고리즘을 생각해보면, 간단하게 이미 뽑은 숫자를 뽑은 경우에 랜덤을 다시 돌리는 방법을 생각해 볼 수 있습니다.  구글링 해보면 많이 나오는 방법이기도 하죠. 다음은 그 방법을 이용해서 0에서 (N-1)까지의 숫자를 랜덤으로 뽑는 프로그램입니다.using System;using System.Linq; // 배열 초기화 - Enumerable 사용static void Main(string[] args){ Random random = new Random(); int N = Convert.ToInt32(Console.ReadLine()); bool[] selected = Enumerable.Repeat(false, N).ToArray(); in.. 2022. 2. 26.
[Unity] AR Tracking Correction 이 글에서는 AR 트래킹이 튀어서 오브젝트들이 지맘대로 순간이동하는 괴현상을 고치는 것에 대해 얘기할 것입니다. 해커톤에서 재난대피훈련 AR 앱을 만들 때였습니다. 분명 이론적으로는 완벽한(적어도 제 기준에서는) 로직으로 코드를 짰는데, 자꾸 AR Camera 오브젝트의 position 값이 말도 안되는 값으로 변경되는 괴현상이 발생했습니다. 1. Handling position 일단 AR 카메라(플레이어)의 위치를 다루는 법에 대해서 알아봅시다. 1) AR Session Origin : AR 세계의 원점. AR 카메라 오브젝트는 이 오브젝트에 귀속되므로 이 오브젝트의 Transform은 자식 오브젝트인 AR 카메라 오브젝트의 Transform에 영향을 준다. (AR Session과는 다릅니다. AR S.. 2021. 1. 28.
[Unity] 멀티플랫폼 터치를 통한 3인칭 이동/카메라회전 여러 플랫폼에서 동시에 쓰일 수 있는 터치/클릭/드래그 를 통한 이동 및 회전에 대해 다루려 합니다. 옛날에 제가 이벤트, 인터페이스 등의 개념을 몰랐을 때는, 그리고 구글링을 더 못했던 시절에는 플랫폼에 종속되는 코드를 짰었습니다. 그래서 안드로이드 터치를 테스트하기 위해서는 반드시 빌드를 하는 번거로움이 있었죠. 하지만 멀티플랫폼에 대응되도록 유니티에서 지원해주는 기능을 이용하면 그런 번거로움을 해소할 수 있습니다. 이 글에는 어떤 코드를 짤 때, 제가 어떤 생각을 했는지, 어떤 식으로 코드를 구성했는지 등에 대한 이야기도 자세하게 적어 놓았습니다. 욕 할 만한 부분이 있다면 제 성장을 위해 가차없이 욕해주시길 바랍니다. 0. 결과물 작업결과부터 보여주자면, 이런걸 만들어볼 생각입니다. 모두 기초적인.. 2020. 12. 16.