유니티 썸네일형 리스트형 Unity : Coroutine(코루틴)을 사용해 보았다 유니티의 MonoBehaviour 클래스를 상속받으면, Update() 와 FixedUpdate()를 만날 수 있다. 대부분 이곳에서 실시간으로 이루어져야 하는 연산을 코딩한다. 그런데 아무리 Time.deltaTime을 이용한다 하더라도, Update()문에 코드가 길어지는 것은 보기 싫었다. 저렇게 if절이 하나만 있다면 깔끔하지만, else if 로 쭉쭉쭉 여러개가 내려가면 보기도 안좋아지고, 유지보수도 까다로워진다. (라고 느꼈다) 그래서 도입한 특단의 방식이 바로 코루틴 되시겠다. 본래 동시에 무언가 연산을 해야 할때는 쓰레드를 많이 사용하지만 나는 코루틴을 즐겨 사용하는 편이다. 왜냐하면, 일단 코루틴 자체가 비동기로 돌기 때문에 쓰레드처럼 자원 동기화를 해줄 필요가 없고 코드 자체도 되게 간.. 더보기 Unity : Drag and Drop을 사용해 보았다 요즘 진행중인 모바일 게임 제작 프로젝트가 있다. 간단한 카드 게임인데, 카드를 제출하는 기능을 개발하는 중이다. 카드를 제출하려면 카드를 터치하여 테이블로 쭉 끌어와 놓으면 되는데, 유니티는 이 기능을 아주 쉽게 구현할 수 있게 해주었다. 바로 렛츠고 #1. 설계 팀원들에게도 항상 강조하는 부분이다. 바로 설계 어느부분에 어떤 스크립트를 짤건지 설계하는 것이다. 나같은 경우는 카드를 옮기기 때문에 카드에다 스크립트를 붙일것이다. 너무 쉽나? #2. 구현 먼저, 유니티가 구현해둔 인터페이스인 IDragHandler, IBeginDragHandler, IEndDragHandler를 상속받는다. 그리고 그러면 인터페이스에서 멤버를 구현하지 않았다면서 에러를 낼것이다. Alt + Enter를 눌러 구현해 주자.. 더보기 Unity : 마우스클릭을 3D공간 좌표로 이용해 보았다 과제하다가 문득 이방법이 여러 사람들에게 필요할 수도 있다 생각하여 오늘도 포스팅을 한다. 일단 내가 만든 것은 대충 이런형식의 TopView 게임이다. 이동은 WASD로 하는데, 무기 발사는 마우스를 클릭하면 마우스를 클릭한 쪽으로 발포한다. 당연히 클릭이 되는 시점은 Canvas좌표일거고, 적용되려면 3D공간의 좌표로 변환이 되어야 한다. 이걸 어떻게 한담? 수업자료를 토대로 열심히 박치기하여 나름의 해결방법을 알아냈다. 서론 끝! 이제부터 본론 들어간다. 카메라시점에서 카메라의 모든점은 3D공간의 하나의 선에 대응된다 왜냐구? 점이 계속 쭉쭉 진행하면 선이니까. 따라서 카메라에서 마우스가 찍힌 점으로 레이(Ray)를 발사하면 그 광선이 맨처음에 어느 오브젝트 어느 부분에 맞았는지, 좌표를 알 수 있.. 더보기 Unity : Navigation을 사용해 보았다 알고리즘에는 수 많은 종류가 있다. 아마 학부생이라면 최단경로 알고리즘을 강의시간에 한번이라도 공부해봤을 것이다. 수업을 딱 처음 들었을 때 이 최단경로 알고리즘을 "플레이어를 추적하는 몬스터"에 적용할 생각을 했었다. 근데 웬 걸 유니티 공부를 시작할 무렵, 노드같은 점이 아닌 연속적인 공간인 3D공간에서 어떻게 적용시키지? 라는 생각이 들었다. 하지만 우리들에게는 이것을 아주 간편하게 구현 할 수있는 방법이 있다. 바로 Unity Navigation 되시겠다. 유니티 맨 위 툴바의 Window -> AI -> Navigation을 누르면 요롷게 인스펙터 옆에 네비게이션이 나타난다. 들어가서 여러 정보를 확인해 보면 Agents , Areas, Bake, Object가 나오는데 Agents는 AI가 몇.. 더보기 Unity : LightMapping을 해보았다 간단한 디지털 콘텐츠를 만들라는 과제를 하는 중이다. 비록 내가 전공한 과는 결국 코딩이 중요하지만, 보기도 좋은 떡이 먹기도 좋다라는 말도 있지 않은가 애초에 내가 컴퓨터공학도의 길을 걷게 된 계기가 컴퓨터게임의 화려한 그래픽에 매료되었기 때문이기도 하니 그래픽에 관련된 포스팅을 하나 하려고 한다. 바로 라이프매핑(LightMapping)이다. 조명연산이 리소스를 장난아니게 소비한다는 것은 본과 3학년 학부생 정도면 다 알것이다. 물체의 모양, 반사율, 그림자 등을 실시간으로 계산해야 하는 조명연산을 필드에 있는 모든 물체에 수행한다는 것은 누가봐도 비효율적이다. 그래서 이런 아이디어가 나온것이다. "움직이지 않는 물체에 대해서는 굳이 실시간으로 할 필요 없잖아?" 이렇게 탄생한게 라이트매핑이다(라고 .. 더보기 한성대학교 메타버스 캠퍼스 : HSU_On https://www.youtube.com/watch?v=7eomOVaag4c Apple App Store : https://apps.apple.com/kr/app/id1605547423 HSU_On 한성대학교의 캠퍼스를 가상세계에서 만날 수 있습니다. apps.apple.com Google Play Store : https://play.google.com/store/apps/details?id=com.codingquokka.hsuon&hl=ko HSU_On - Google Play 앱 한성대학교 메타버스 play.google.com 2021 한성공학경진대회 금상 2021 C&C 창의융합경진대회 대상 2022 한성대학교 컴퓨터공학부 캡스톤디자인 작품 발표회 우수상 유니티를 우리학교에서는 3학년 2학기.. 더보기 이전 1 다음