전체 글 48

[Blender] 씨리얼 박스 uvmap + texture 만들기

먼저 작업하기 편하게 블렌더에서 에디터 창 셋팅을 다음과 같이 3개로 나누어준다. (shader editor, UV editor, 3d viewport) 그리고 박스를 씨리얼 박스 비슷하게 모양을 만들고, edit 모드에서 uv map에서 자르려는 edge를 골라서 ctrl + E 를 누르고 Mark Seam을 해준다. (아래 스크린샷 처럼 된다) UV editor 창에서 a를 눌러서 선택 후에 UV > Export UV layout을 선택해서 현재 uvmap이미지를 png 파일로 export한다. 인터넷에서 원하는 씨리얼 박스 이미지를 찾고, photoshop에서 export한 uv layout에 해당 씨리얼 박스 이미지를 맞추어서 uv map 에 맞는 씨리얼 박스 texture를 만든다. ( 아래 포..

Blender 2022.07.25

[유니티] sprite atlas로 draw call을 줄여보자

sprite atlas 로 sprite들을 하나의 텍스쳐로 합쳐서 최적화를 할 수 있다. 유니티 패키지에서 2d sprite를 다운받아서 UI 이미지로 쓰이는 각각의 이미지들을 한 sprite atlas로 합쳐보았다. 최근에 작업한 토이 프로젝트 Dancing Finger 에서 sprite atlas를 사용해보았고, draw call 이 줄어드는 것을 확인 할 수 있었다. 먼저 sprite atlas 를 사용하기 위해선 유니티 패키지에서 2d sprite를 다운 받는다. 그 다음에 Project Setting > Editor > Sprite Packer Mode에서 "Sprite Atlas V1 - Always Enabled" 로 바꾼다. 비교를 하기 위해 Sprite Atlas를 사용하기 전의 Draw..

Unity & C# 2022.07.24

[유니티] 스크립트 아이콘 변경

가끔 유니티 에셋스토어에서 에셋을 다운받았을 때 그 에셋에 들어있는 스크립트들의 아이콘이 다른 걸 본 적있다. 유니티에서 스크립트를 생성하면 기본 아이콘 모양은 흰색 종이에 "#' 이 초록책으로 적혀져있는데, 나도 아이콘을 바꿔보고 싶었다. 방법은 너무 간단했다. 스크립트를 클릭하고 Insepctor에 아이콘 모양을 클릭하고 "Other" 를 선택해서 원하는 Sprite를 선택하면 아이콘을 바꿀 수 있다. 아래 사진는 최근에 작업한 오픈소스 토이프로젝트 Dancing Finger에 들어간 스크립트들의 아이콘을 바꾼 모습이다. (Dancing Fingers). Project View 와 Inspector view에서 스크립트들의 아이콘들이 lefthanddeveloper logo(파란색 손) 모양으로 바뀌..

Unity & C# 2022.07.24

[유니티] 클립보드 복사 기능 구현하기

웹 개발 쪽에선 특정 주소나 token을 복사해야하는 경우가 많기 때문에 copy 버튼이 있어서 그 버튼을 누르면 클립보드에 복사하는 기능을 자주 볼 수 있다. 이번에 open source 토이프로젝트로 만들었던 Dancing Fingers에서 contact 란에 내 이메일을 넣고, 유저들이 쉽게 내 이메일을 복사할 수 있도록 클립보드 복사 기능을 넣어보려고 해서, 유니티에서 클립보드 복사 기능을 찾아보았다. 유니티의 GUIUtility 클래스의 systemCopyBuffer가 그 역할을 해준다. GUIUtility.systemCopyBuffer 에 복사하려는 string값을 set 해주기만 하면 된다. 아래 Dancing Fingers 프로젝트에서 clipboard copy 를 위해 사용했던 코드 내용..

Unity & C# 2022.07.22

Dancing Fingers

특별한 이유없이 그저 재미로만 토이 프로젝트를 만들고, 이거를 오픈소스로 공유해서 사람들과 나누는 것도 재밌겠다는 생각에 시작한 첫 프로젝트, Dancing Fingers. nuget package "CSCore"를 사용하여 PC의 audio을 분석한 데이터를 가져와 손가락 움직임으로 비쥬얼라이징하였다. 각 손가락 마다 각 Frequency를 지정해줄 수 있게 하였고, 그 Frequency에 맞춰서 손가락이 펼쳐진다. 손가락은 unity asset store에서 무료로 판매중인 stylized simple hand를 사용했다. 약간 병맛 컨셉에서 재미를 주고 싶었는데, 그 의도는 조금 이룬 것 같기도 하다? 손가락이 각각 꿀렁꿀렁(?) 움직이니 뭔가 오묘하면서도 재밌으면서도 기괴하면서도.... 음악과 함..

Playground 2022.07.22

[유니티 c#] event에 등록된 함수들은 언제 불릴까?

이벤트 호출 방법으로 UnityEvent, Action, 직접 delegate로 만든 event 등등 여러가지가 있다. 그렇다면 이벤트에 등록된 함수들은 언제 호출 될까 궁금했다. 같은 프레임에서 호출될까? 아니면 몇 프레임이 지난 뒤에 호출 될까? 그래서 테스트해보기로 했다. 이벤트를 호출하는 스크립트이다. using System; using UnityEngine; using UnityEngine.Events; public class EventFrameTest : MonoBehaviour { float frameNum = 0f; public UnityEvent spaceBarEvent; public Action action; public delegate void CustomEventHandler(); ..

Unity & C# 2022.07.15

[c#] Obsolete 활용하기

Attribute 중 Obsolete 라는 친구가 있다. 영단어 해석을 하면 "더 이상 쓸모 없는" 이라는 뜻인데, 해석의 뜻과 같이 더 이상 필요없는 class나 변수, 함수에 쓸 수 있다. 사용 방법은 간단하다. 더 이상 쓰지 않는 class, 변수, 함수 앞에 [Obsolete("string")] 형식으로 작성을 하면 된다. 유니티에서는 Monobehaviour를 상속받는 클래스, 즉 컴포넌트로 쓰일 클래스 앞에 Obsolete를 쓰면, 다음과 같은 모습이 인스펙터에서 보인다. 여기서 "Not Supported Anymore" 라는 메세지는 Obsolete Attribute의 파라미터로 넘긴 string 값이다. 코드를 살펴보면 다음과 같다. (빨간색 화살표) 그리고 함수 앞에 Obsolete를 추..

Unity & C# 2022.07.14

[PowerToys] 키보드 Custom Shortcut 추가 & Remapping 하기

코딩할때 "home"키와 "end"키를 자주 사용하는데, 키보드에서 이 두 키를 찾아서 누르는 것이 귀찮아, 나만의 shortcut을 설정할 수 있었으면 좋겠다고 생각을 했다. 기계식 키보드들 중에서 shortcut 추가와 Remapping하는 해주는 프로그램을 지원해주는 곳도 있는데, 만약 지원하지 않는다면 Power Toys 라고 하는 무료 Window App으로 할 수 있다. Power Toys는 Microsoft Store나 Github을 통해서 다운받을 수 있다. 다운 받은 후 실행을 하면 아래 스크린샷처럼 나오고, Keyboard Manager 탭에서 Keyboard Remap과 Shortcut 등록을 할 수 있다. 나는 "home" 키와 "end"키를 각각 "fn키 + 왼쪽방향키", "fn ..

Useful Info. 2022.07.13

[유니티] Frame Debugger 사용하기

유니티 Profiler 기능 중에 Frame Debugger라는 유용한 Debugging 툴이 있다. 한 프레임에서 Rendering이 이루어지는 것을 볼 수 있다. Frame Debugger는 유니티 에디터가 Play 중일 때 Profiler에서 Rendering을 클릭 하고 아래에 Open Frame Debugger를 클릭하여 열 수 있다. Frame Debugger가 열리면, 에디터에서 Game View에서 빨간색 글씨로 "Frame Debugger On" 이라고 뜨게 된다. 그리고 Frame Debugger 창에서 상단에 Range Bar 가 보일텐데(아래 스샷에서 파란색 화살표), 그 Range Bar를 마우스로 드래그 하면 해당 프레임에서 렌더링 되는 순서를 하나씩 보여준다. Frame Deb..

Unity & C# 2022.07.12

[Visual Studio] Alt + 드래그 단축키

오늘 동료 개발자에게 아주 꿀팁을 전수 받았다. Visual Studio에서 Alt + 마우스 드래그를 하면 드래그 된 영역에 텍스트들을 동시에 선택 + 수정할 수 있다는 아주 꿀팁이다. 아래 스크린샷은 변수들의 private 부분을 Alt + 마우스 드래그로 지전된 모습이다. 그리고 드래그 된 상태에서 public 으로 타이핑을 하면 전체를 private에서 public으로 수정할 수 있다 (아래 스샷참고)

Useful Info. 2022.07.11