전체 글
[유니티(Unity)] Time.time과 Time.deltaTime의 차이점
Time.time : 프레임이 시작한 순간부터의 시간(프레임 스타트~) Time.deltaTime : 프레임이 시작하고 끝나는 시간(프레임 스타트 ~ 프레임 종료) 컴퓨터의 성능에 따라 프레임이 다르게 나타나는데 이를 규격화하기 위해서 TIme.deltaTIme을 곱해주게 됩니다. 1초당 프레임을 규격화하기위해 60 프레임에게는 a라는 Time.deltaTime 값이 들어가게 되고, 120 프레임에게는 a/2라는 Time.deltaTime 값이 들어가게 될 것입니다. [시간 및 프레임 속도 관리 url] https://docs.unity3d.com/kr/current/Manual/TimeFrameManagement.html 시간 및 프레임 속도 관리 - Unity 매뉴얼 Update 함수를 사용하면 스크..
[유니티(Unity)] position, localPosition의 차이점
어디에 position을 사용하고, 어디에 localPosition을 사용하는지 처음에 많이 헷갈렸습니다.(사실 지금도 바로바로 사용 못하고 생각을 하고 사용하는데) 간단히 말하면 position은 월드 포지션(0, 0, 0)을 기준으로 잡힌 좌표이고, localPosition은 부모의 position을 기준으로 잡은 로컬 포지션 입니다. 예를 들자면 BigCube의 자식으로 이 있을 때 BigCube의 좌표는 (10, 10, 10) BabyCube의 좌표는 (15, 10, 10)으로 설정합니다. 기본적으로 좌표는 월드좌표를 말합니다! 그래서 월드좌표 기준으로 BigCube의 좌표는 (10, 10, 10), BabyCube의 좌표는 (15, 10, 10)입니다. 로컬좌표는 BigCube의 로컬좌표는 (1..
[유니티_AR파운데이션(AR Foundation)] Depth API / Occlusion AR Plane Shader 방법
저번에 포스팅한 'Depth API / Occlusion'을 보면 아래와 같은 결과가 나왔습니다. 뎁스 처리 분류는 Disable / Fastest / Midium / Best로 총 4개로 구성되있는데, 위의 분류는 Best입니다. 그런데 Best치고는 조금 계단현상이 보이죠? ㅠㅠ 물론 탁자와 같은 각이진 공간을 한 것이 아니라 더 심한 걸 수도 있지만 그래도 계단현상이 보기 좀 불편하신다면, 다른 방법도 있습니다. 저번에 버튼을 눌러 PlaneMaterial 바꾸었던 것 기억하시나요? 그때처럼 PlaneMaterial을 Depth Material로 변경하면 됩니다. 바로 진행해보겠습니다. Project 씬에서 Material을 하나 생성합니다. 그리고 Shader를 변경해주면 됩니다! 이제 생성한 M..
[유니티_AR파운데이션(AR Foundation)] Depth API / AR Occlusion Manager 방법
안녕하세요~ 이번에는 Google ARCore에서 나온 Depth API를 활용하여 만들어진(?) AR Foundation의 Occlusiondp 대해 알아보겠습니다. 증강현실 콘텐츠를 제작하다보면 깊이 측정 카메라가 없기 때문에 나무 뒤에 토끼를 배치해도 토끼가 나무를 뚫고 보이게 됩니다. 일부 아이폰에는 Depth 카메라가 존재하여, 예전부터 그런 기능을 사용하고 있었지만 안드로이드에서는 사용할 수 없는 기능이였죠. 그런데 AR Core에서 해당 기능을 API로 만들겠다고 한 지 6개월(?)만에 드디어 배포가 됐습니다. 그 소식을 듣고 유니티에서도 바람같이 Depth API 기능을 추가해주셨더라고요~ 먼저 해당 기능을 적용하는 방법은 매우 간단합니다! ARCamera에 AROcclusionManage..
[유니티_AR파운데이션(AR Foundation)] 콘텐츠 활용
안녕하세요. 이번 포스팅에는 저번에 만들었던 AR Foundation Tutorial 씬을 가지고 기능을 추가해보도록 하겠습니다. 인식한 지면의 머테리얼을 변경하는 방법을 영상으로 녹화하였습니다. https://youtu.be/15mqXAePpNE 저번에 만들었던 콘텐츠는 단순히 터치하면 오브젝트가 생성 되는 기능만 있었죠? 이번에는 단순한 UI 버튼을 클릭하여 생성할 오브젝트와 지면인식 머테리얼을 변경하는 기능을 추가해보겠습니다. 먼저 추가할 에셋과 텍스쳐입니다. (물론 다른 에셋과 텍스쳐를 사용하셔도 됩니다~) 토끼와 나무는 유니티 에셋 스토어에서 추가했고, 텍스쳐는 무료 텍스쳐 사이트인 cc0 Textures에서 'grass'로 검색해서 다운로드 했습니다. 사용할 토끼와 나무들 입니다. (토끼 애니..
[유니티_AR파운데이션(AR Foundation)] SDK 사용 및 구현 방법
안녕하세요. 이번에는 Unity에서 만든 증강현실 SDK인 AR Foundation을 사용하는 법에 대해 포스팅을 진행합니다. 프로젝트 셋팅과 지면인식 씬 세팅에 대한 영상을 유튜브에 업로드 하였습니다. https://youtu.be/GBlUsZThXYo AR Foundation은 Google의 AR Core의 기능과 Apple의 AR Kit의 기능을 가지고 만들어낸 통합 SDK입니다. 기존의 AR 개발에서 AOS와 iOS를 둘 다 개발해야만 하는 상황이라면 플랫폼이 다르기 때문에 2 종류의 SDK를 사용하여 구현했어야만 했죠. 그러나 이제 Unity의 AR Foundation을 사용하면 두 플랫폼(AOS, iOS) 둘 다 구현 가능할 수 있게 됐습니다. 이번 포스팅은 AR Foundation을 사용하여..
[유니티_뷰포리아(Vuforia)] 코드 없이 AR 구현하기!
최근 아래의 내용을 유튜브 영상으로 올렸습니다. 영상이 편하신 분들은 아래의 링크를 활용해주세요! https://youtu.be/eqZrR88r43M https://youtu.be/LHIpOIaWdhk 안녕하세요. 이번 포스팅에서는 '뷰포리아'라는 AR(증강현실) SDK를 사용하여 AR을 구현해볼텐데요. 단순한 구현은 코드 없이도 가능 합니다!! 뷰포리아는 PTC라는 소프트웨어 회사에서 만든 SDK인데 '이미지 인식'에서는 매우 좋은 SDK라고 생각합니다. 사용하는 에디터는 유니티(Unity)를 사용할 예정입니다. ㅁ 먼저 유니티를 설치해주셔야 합니다. -> 구글에서 '유니티 허브 다운로드'를 검색하신 후 다운로드 및 프로그램 실행을 해주세요! ㅁ Unity 에디터 폴더의 경로에 한글이 들어가면 안됩니다..