일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 유니티 에디터
- 유니티
- C#
- SerializeReference
- 유니티 #공전 #유니티회전고정
- 에디터 개조
- CustomPropertyDrawer
- 개발지식
- 유니티 #UI 늘리기 #이미지 재사용
- SerializeField
- 유니티 세이브
- 직렬화
- 커스텀프로퍼티드로어
- 개발공부
- Serializable
- Unity
- 커스텀에디터
- CustomEditor
- serialization
- 마개조
- Today
- Total
목록Unity (14)
가을의 개발 일지

Unity Korea, [유니티 TIPS] 원하는 분위기를 간편하게 연출 가능!, YouTube, 2023.8.2., Unity Color Lookup, https://www.youtube.com/watch?v=TuE2DhhLruc&t=518s Insomniac의 엔딩 연출을 위해 동영상을 찾아보다가, 위 영상에서 엄청난 꿀팁을 하나 발견해 가져오게 되었다. 그건 바로, 유니티 화면을 녹화해주는 Unity Recorder다. 이거 없이 어떻게 살았지? 지금까지 난 블로그에 올릴 영상, 혹은 홍보 영상을 찍을 때 Win + G 키로 진입, 녹화를 눌러 화면을 녹화하고, 크롭, 트리밍, GIF로 변환 과정을 거쳐 GIF 파일을 만들었다. 하지만, Unity Recorder를 쓰면 그럴 필요 없이 깔끔하게 녹..

문제 인벤토리 구현 도중, 우선순위와 관련한 문제와 맞닥뜨렸다. 그냥 오브젝트였다면 Sorting Layer를 조절해 해결했겠지만, UI의 Image 컴포넌트엔 그런 게 없었다. 아래 방법을 시도해봤으나 실패했고, 다양한 시도를 하며 해결법을 공유하려 한다. z축 조절 Layer 변경 결론만 빠르게 보고 싶다면 스크롤을 내려 결론 탭을 찾아가면 좋다. 환경 우선 문제 발생 당시 인벤토리 환경은 다음과 같았다. 하나의 캔버스 내에 인벤토리에 Grid Layout Group을 넣고, 그 아래 슬롯 오브젝트를 30개 배치했다. 모두 같은 오브젝트며, 슬롯은 아이콘을 띄울 Slot Item과 상세정보를 띄울 Info가 순서대로 배치돼있다. Info는 Slot의 자식 오브젝트이기에 캔버스를 분리할 순 없었다. 시..
서론 유니티에서 충돌 처리를 위해 OnTriggerEnter, OnCollisionEnter등을 쓰는 경우는 매우 많다. 하지만 이 함수들의 단점은, 충돌이 일어났을 때 함수를 실행한다는 점이다. 즉, 기존에 쓰던 함수 내에서 따로 충돌 처리를 할 수 없다는 점이다. 나 같은 경우엔, 다음과 같은 일이 있었다. 더보기 플레이어와 닿을 시 점수 오브젝트를 랜덤한 위치로 옮긴다. 옮겨진 위치에 똑같은 점수 오브젝트가 있을 경우, 다시 위치를 옮긴다. 그렇게 점수 오브젝트끼리 겹치는 일을 없앤다. 지금까진 OnTriggerEnter를 사용해 해당 일을 처리했는데, 새로 생성된 오브젝트 뿐만이 아닌, 기존에 그 자리에 있던 오브젝트도 위치가 변한다는 단점이 있었다. 이는 점수를 먹으려던 플레이어에게 부정적인 경..

InputAction 내의 이벤트들을 모두 지워야하는 상황이 있었다. InputAction 클래스의 메소드를 살펴보니, 다음과 같은 두 함수가 있었다. inputAction.Reset(); inputAction.RemoveAction(); 직접 실험해본 결과, inputAction.RemoveAction(); 함수는 해당 InputAction의 모든 Actions를 삭제하는 함수였다. inputAction.Reset(); 함수는 inputAction 내의 등록된 이벤트들을 깔끔하게 지워주는 함수였다. 씬이 넘어갈 때 오브젝트가 사라지더라도 등록된 Input 이벤트들은 그대로였다. 유지할 필요없다면 Reset() 함수로 지워주자.

※본 글에서는 유니티 에셋 스토어의 DOTween (HOTween v2) 무료 버전을 사용합니다. ※본 글에선 DOTween 에셋의 설치 및 사용법에 대해선 다루지 않습니다. 먼저, 스프라이트와 버튼 하나를 생성하겠습니다. 결과를 잘 보여주기 위해 버튼으로 했지만, 스프라이트나 다른 오브젝트로 만들어도 상관 없습니다. 하이어라키 창에서 우클릭 - Create Empty로 빈 오브젝트를 생성한 후, 이름을 Button Object로 바꿔줬습니다. 미리 생성해둔 버튼을 Button Object 아래에 넣어 자식 오브젝트로 만들어줍니다. ※자식 오브젝트로 넣기 전, 인스펙터 창에서 Button Object의 Transform 컴포넌트 조정해, 반드시 위치를 0, 0, 0으로 만들어줍니다. Button Obje..

먼저 스프라이트를 적용할 버튼을 만들겠습니다. 그다음, 그려둔 UI를 Project 창에 임포트합니다. 저는 미리 그려둔 파일을 가져왔습니다. 가져온 이미지를 선택하고, 인스펙터 창의 Sprite Mode 아래 Sprite Editor 버튼을 눌러줍니다. 처음 열어보면 이미지가 이렇게, 하나로 나타나게 됩니다. 여기서 상하좌우에 있는 초록색 네모를 드래그하거나, 아래쪽 Border의 L/T/R/B에 값을 넣으면 초록색 선이 생깁니다. 이 선들은 이미지를 나눌 경계를 뜻하며, 오른쪽처럼 전부 했다면 이미지는 총 9칸으로 나눠지게 됩니다. (Sprite Mode를 Multiple로 설정할 때와 달리, 이미지가 여러 장이 되지는 않습니다.) 위쪽의 Apply를 눌러 저장하고 닫아줍니다. 이제 하이어라키 창에서..