내가 일하며 알게 된 프로그래밍
article thumbnail
Rider를 소개합니다
프로그래밍/Unity3D 2022. 8. 21. 01:58

Jetbrain에서 개발한 Rider를 소개합니다. 기존 Unity를 사용하며 개발했던 IDE는 Visual Studio 2015~2019 를 사용했지만 최근 Rider를 알고 난 후 회사에서는 못쓰지만.. 개인 프로젝트를 진행 할 땐 Rider로 개발하는 중이다. Rider의 장점과 단점 장점 최적화 코드 힌트 변경 전 변경 후 다양한 툴 제공 Color 클래스에서 Color Picker 툴 제공 (솔직히 이건 신세계였음..) Unity 함수 설명 및 Doc 연결 성능 강조 표시 쉐이더 코드 지원 Git을 연결하여 브랜치를 이동 및 비교 Unity 파일 내 사용 위치 검색 등등.. 이미 JetBrain의 IntelliJ IDEA 에서도 지원하는 기능이 Rider에서도 지원되는게 많지만 분명 Unity에..

article thumbnail
Unity Cache Server (유니티 캐시서버)
프로그래밍/Unity3D 2021. 12. 24. 00:26

유니티 캐시서버에 대해 알아보자. 협업을 하면서 git, svn, cvs 등 형상관리 툴을 사용하다 보면 버전별 branch가 다양하게 나뉘는건 당연한 일이다. 이때 branch를 옮겨다니다 보면 Unity 에서는 바뀐 에셋 파일을 감지하고 해당 에셋들에 대해 다시 import를 진행한다. (.psd, .fbx, (psd,fbx).meta, texture들의 내부 버전번호, AssetPostprocessors 버전의 해시가 변경되면 import를 다시 진행한다) 이렇게 에셋들에 대한 임포트를 다시 실행할때마다 대기시간이 걸린다 프로젝트의 크기에 따라 짧게는 몇초 길게는 몇시간까지도 소요된다. 이걸 해결하기 위한 기능이 Cache Server의 기능이다. Local서버 혹은 Remote서버에 임포트된 파일..

article thumbnail
유니티 로그 콜백 (LogCallback)
프로그래밍/Unity3D 2020. 6. 3. 00:35

지난 포스팅에서 Debug.Log에 이어서 로그 콜백을 한 번 더 써보려고한다. Unity에서는 로그를 전송한 후에 콜백이 이루어진다. 공식문서를 살펴보자. public delegate void LogCallback(string condition, string stackTrace, LogType type); Description Use this delegate type with Application.logMessageReceived or Application.logMessageReceivedThreaded to monitor what gets logged. See Also: Application.logMessageReceived, Application.logMessageReceivedThreaded, L..

article thumbnail
유니티 콘솔 로그를 이쁘게 만들자
프로그래밍/Unity3D 2020. 6. 2. 23:53

모든 개발자는 Log 없이 개발을 할 수 없다. (할 수 있는 천재가 있을 수도... 하지만 난 아니다) printf(), Console.WriteLine(), Logger.debug() 등 언어에 따른 로그를 찍는 방법이 많이 있고, 유니티에도 Debug.Log() 를 통해 로그를 찍어볼 수 있다. 많은 개발자가 알고 있다. 하지만 대부분 일반적으로 로그를 그냥 평범한 텍스트형태로 출력할 것이다. 이번에 사용해 볼 디버그 로그 사용 방법은 UGUI에서 사용하는 RichText 사용법과 동일하다. 위 Text에 사용된 문자열들 처럼 이번 로그는 볼드다 이번 로그는 이탤릭다 이번 로그는 사이즈다 이번 로그는 컬러다 위 텍스트들을 그대로 Debug.Log(string value)로 넣어보자. void Sta..

article thumbnail
Unity Spine 애니메이션 속도 1배속 고정
프로그래밍/Unity3D 2020. 5. 26. 00:29

어느날처럼 회사에서 개발을 하는중이였다. 나에게 걸려온 미션은 전투가 끝나는 시점에 게임이 느려지는 하이라이트 연출을 보여주는 시점에 다른 UI에는 배속에 영향이 없도록 수정 작업이였다. 이렇게 전투가 끝날때의 화면이 느려지는 연출 상황이다. (첨부한 GIF파일들은 회사의 프로젝트와 상관없음) 회사에서 진행중인 프로젝트는 Spine을 사용한 게임이였다. Spine은 기본적으로 Unity의 Time.timeScale 값을 따라간다. 이미 프로젝트에서 전투에 대한 작업이 이루어졌기때문에 Unity의 timeScale값을 건드리지 않는 방법을 사용하기엔 이미 너무 많은 강을 건너버린 상태였다. 상상해보자 UI뒤에서는 전투를 하면서 시간값을 변경하고 있는데 UI에서는 Spine 캐릭터들이 시간값에 영향을 받는다..

article thumbnail
Firebase Cloud Messaging (FCM) 파이어베이스 클라우드 메시징
프로그래밍/Unity3D 2020. 5. 25. 20:34

※파이어베이스 FCM의 기본 설정 글이 아닙니다. 어느날 회사에서 파이어 베이스를 작업 중 FCM을 이용한 알림(Notification) 작업을 진행하였다. 로컬 알림 (Local Notification : 클라에서 네이티브를 연동하여 시간과 텍스트를 예약 후 발송) 작업을 완료 한 후 글로벌 서비스 대응에 맞게 로컬 알림은 텍스트를 클라이언트에서 변형 후 발송 예약이 가능했지만 파이어베이스 기능 중 하나인 FCM에서는 언어 변경을 지원하지 않았다. 따라서 FCM에서 지원하는 기능인 '사용자 세그먼트'에서 '국가/지역' 을 설정하여 보내면 간단한 일이라고 생각되었다. 위와 같이 설정 후 대한민국에서는 한글로 대한민국 제외한 국가들 대상으로는 번역된 텍스트로 전송을 하면 되리라 라고 생각했지만... 무슨일..

article thumbnail
Unity3D 개발을 시작 할 때
프로그래밍/Unity3D 2020. 5. 21. 00:42

Unity3D는 Windows, Mac, 모바일, Web 등 여러 종류의 플랫폼을 지원하는 게임엔진이다. 하지만 기술이 발전함에 따라 유니티도 발전했다. 오늘날에 유니티는 VR, AR, 건축 시각화, 실시간 3D 애니메이션, 비쥬얼 미디어효과 등 기타 인터렉티브 컨텐츠를 제작하기 위한 통합도구로 발전했다. 프로그래밍에 통달하지 않아도 간단한 프로그램을 만들어 낼 수 있을 만큼 초보난이도 부터 프로그래밍을 할 줄 안다면 더욱 더 완성도 있는 컨텐츠를 제작할 수 있는 고급난이도까지 준비되어있다. 유니티의 기본 프로그래밍언어는 C#, JS(자바스크립트), Boo 코드로 작성할 수 있으며, 엔진의 런타임부분은 C++과 .NET Framework 로 개발되었다. 우리나라에서 유니티 엔진을 사용하는 게임회사들이 많..