프로젝트를 진행하다보니 특정 에셋을 자주 찾아보게 되었습니다. 북마크를 이용해서 즐겨찾기 하는 방식으로 할 수 있지만 이번 시간에는 에디터 기능을 이용해서 상단 버튼을 누르면 해당 에셋에 접근할 수 있는 방법에 대해 알아보고자 합니다. Selection.activeObject 활용하기Selection.activeObject는 에디터 내에서(현재 찾고자 하는) 선택된 오브젝트를 나타냅니다. Selection.activeObject를 사용하는 방법은 매우 간단합니다. 먼저 UnityEditor 네임스페이스를 사용해야 하며, 그 다음 특정 오브젝트를 선택하려면 Selection.activeObject에 해당 오브젝트를 할당하면 됩니다.using UnityEditor;using UnityEngine;publi..
유니티 원하는 씬으로 실행되게 하기이 포스팅에서 사용된 코드는 아래 블로거분의 코드를 참고하였습니다! https://mentum.tistory.com/657 unity 언제나 특정 씬에서 시작하게 만들기 #. 특정 씬에서 시작하는 게임 환경 어느 씬 에서나 테wlsdn629.tistory.com 예전에 원하는 씬으로 자동 플레이 되는 에디터 스크립트 코드를 작성해본적 있습니다.문제는 지금 보고 있는 씬이 실행되길 원하는데 자동으로 지정한 씬으로 플레이 되기 때문에 불편함이 있다는 것입니다. 그래서 버튼으로 현재 씬을 플레이할 지, 아니면 지정한 씬을 플레이할 지 선택할 수 있게 만들어 봤습니다. using UnityEditor;using UnityEditor.SceneManagement;using Un..
DebugInspector DebugFinder Util Editor Window는 Unity 프로젝트 내의 스크립트 중에서 Debug.Log, Debug.LogWarning, 그리고 Debug.LogError 메서드를 사용하는 스크립트를 찾아주는 기능을 제공합니다. Debug을 찾아서 삭제해줘야 하는 이유 Debug를 삭제해주지 않고 빌드를 할 시 게임에 악영향을 미치기 때문입니다. 성능 저하: 게임의 실행 중에 추가적인 오버헤드를 발생시킬 수 있습니다. 로그 메서드가 빈번하게 호출되는 경우, 게임의 전반적인 성능에 영향을 줄 수 있습니다. 메모리 사용량: 메모리 할당을 발생시킬 수 있습니다. 문자열 연결이나 동적 문자열 생성과 같은 작업은 메모리 사용량을 증가시키며, 이로 인해 가비지 컬렉터가 더 자..
프로젝트 소개 프로젝트를 하다보면 하이러키창이 복잡해지고 내가 원하는 게임오브젝트를 찾기가 힘들어지는 경우가 생기는데요. 그럴 때 하이러키창을 커스터마이징해주면 보기 편해지며 본인이 찾고자 하는 게임오브젝트를 찾기 수월해집니다. 오늘은 Editor 스크립트를 이용하여 하이러키창을 꾸며주는 스크립트를 구현해봤고 공유해보고자 합니다. 다운은 Git사이트에서 받으시면 됩니다. https://github.com/KimJinWooDa/HierarchyStyler 사용방법 하이러키창에 있는 게임오브젝트의 BackGround Color, Text Color, Icon을 커스터마이징 할 수 있도록 만들어봤습니다. 커스터마이징 하고자 하는 게임오브젝트를 선택한 후 에디터 상단 [GameObject]탭을 눌러준 후 [Ch..
오늘은 전편보다 3가지의 기능이 더 추가된 Debug.Log 유틸리티에 대해 소개해드리고자 합니다! 2023.07.27 - [Unity/Study] - 유니티 Debug.Log 유틸리티 파일은 위 포스팅에 들어가셔서 Git을 통해 다운로드하시면 됩니다! Git을 통해 업데이트 내용을 다루기엔 블로그 포스팅 내용과 겹쳐서 앞으론 Tistroy블로그에 패치 내용을 적어볼까 합니다! 추가된 내용 메서드 실행순서 디버깅 실시간 시간 디버깅 함수의 실행 시간 디버깅 메서드 실행순서 디버깅 DebugUtils.LogMethodCall(); 이 유틸리티 함수는 어떤 함수가 먼저 실행되는지 순서를 알고 싶을 때 사용하면 됩니다. 예를 들어 private void Start() { A(); C(); B(); } priv..
Debug.Log 유틸리티 만든 이유 팀 프로젝트를 하다 보면 팀원의 Debug.Log가 많아서 내가 작성한 Log를 찾기 힘든 경우가 종종 발생합니다. 그런 경우 주로, Log에 색을 입히든가 bold 체를 만들어 Text를 진하게 만들든가 해서 Log을 찾습니다. Debug.Log($"안녕하세요! {value}입니다!"); Log의 색을 red로 바꾸기 위해 위 코드처럼 Debug문을 작성하는데요. 원하고자 하는 Log가 한 가지면 위에 처럼 작성해서 상관이 없지만 원하는 Log가 여러 개일 경우 을 매번 치는 건 귀찮은 작업이 될 수 있다 판단했습니다. 그래서 Debug.Log 유틸리티 함수를 만들었고 소개해보고자 합니다! 아직은 기능이 몇가지 없지만 좋은 아이디어가 생각날 때마다 유틸리티 함수를 ..
Assets 폴더 안에 Gizmos라는 폴더를 만든다! Gizmos 폴더 안에 원하는 png(꼭 png)를 첨부하고 이름+공백+icon를 적는다 그리고 스크립트를 이름에 맞춰 작성하면 자동으로 스크립트의 아이콘 모양이 바뀐다!
💡Custom Editor Custom Editor란 Unity에서 Editor를 커스터마이징 한다는 뜻이다 커스터마이징을 통해 개발자들은 유니티 에디터 자체에 특정 기능을 추가할 수 있다 예를 들면, 인스펙터창에 특정 버튼을 누르면 특정 에셋들이 Load 된다거나, 자동으로 맵을 생성해준다거나 등등 잘 활용만 한다면 개발하는데 엄청난 편의성을 느낄 수 있다 💡유니티 에디터 커스터마이징을 하기 위해서는 몇가지 개념들을 알아두어야 한다 먼저, 유니티 에디터 코드가 동작하는 레벨에 대해 알 필요가 있다 우리가 흔히 사용하는 C# 스크립트들은 모든 레벨에서 사용이 가능하다 즉, 빌드 된 환경에서도 동작하고, 유니티 에디터 환경에서도 잘 동작한다는 뜻이다 하지만, 에디터 코드는 에디터 환경에서만 동작하고 빌드 ..