728x90

Unity 157

Unity 에셋 참조를 Assets 폴더 하위에서 모두 찾는 방법

유니티 엔진으로 게임을 만들 때 종종 사용하는 메뉴 기능으로 Find References In Scene 이 있습니다. 특정 에셋을 우클릭하거나 Assets 메뉴 하위에서 이 메뉴를 찾아 클릭하면, 현재 씬에서 참조를 모두 찾아서 Hierarchy 에 보여주는 기능입니다. 그런데 가끔은, 현재 씬이 아니라, 모든 씬을 넘어 Assets 폴더 전체에서 참조를 찾고싶을 때가 있습니다. 불필요한 리소스나 스크립트를 정리해야 하거나, 수정해야할 때 다른 곳에서 참조가 걸려있는지를 확인하고 싶을 때인데요, 이런 기능을 추가해서 사용해봤습니다. ​ 기능 이름은 "Find References In Assets Folder" 만들어봅시다. 먼저 스크립트를 하나 생성합니다. (메뉴 이름과 클래스 이름이 동일할 필요는 없..

Unity 게임을 살리는 메모리 관리와 최적화 (G-CON X IGC 오지현 에반젤리스트)

유니티 코리아의 아이콘 꽃미남 오지현(오즈라엘 @ozlael)님이 G-CON X IGC 에서 게임 개발 시 메모리 최적화를 주제로 강연을 했군요. ​ 크게 신경써야 할 부분, 메모리 프로파일러, 코딩 팁 등을 소개합니다. 주제 : 모바일 게임, 메모리 최적화도 안하면 어쩔티비 메모리 프로파일러 (Memory Profiler) 기존 프로파일러의 메모리 모듈을 확장한 메모리 프로파일러 (1.0.0) 패키지를 소개하고 있습니다. 메모리 프로파일러 공식 유니티 문서 https://docs.unity3d.com/Packages/com.unity.memoryprofiler@1.0/manual/index.html Memory Profiler | Memory Profiler | 1.0.0 Memory Profiler ..

[Unity] 에셋스토어 에셋 구입 시 Tax Number?

유니티 에셋스토어에서 에셋 구입 시 Checkout 명세서에 Tax Number 작성칸이 있습니다. Tax Number 는 해외결재나 흔히 해외 직구를 할 때 볼 수 있는데, 세금을 내야하는 납세자의 식별번호입니다. 바로 위에 Tax 란을 보면, "Are you exampt from paying consumption tax?"라는 물음과 라디오 버튼이 있는데, "님 소비세 면제 받으셨음?"라고 묻고 있습니다. 부가가치세와 같은 개념으로, Tax Number 를 사용하는 국가라면 번호를 입력하고 나중에 세금이 부과되는 시스템으로 보입니다. ​ 한국 구매자라면 Tax Number 시스템을 사용하지 않고, 소비세를 면제받지도 못하니, No 를 선택해줍니다. 그럼 Tax number 칸이 사라지고, 우측의 Or..

[Unity] Component의 컨텍스트 메뉴(ContextMenu) 만들기

유니티에서 컨텍스트 메뉴(ContextMenu) 는, 컴포넌트 이름 우측에 세로로 돌아간 ... 아이콘을 클릭했을 때 등장하는 메뉴입니다. Context Menu 를 직역하면 "맥락 메뉴" 정도인데, 인스펙터에 보여지는 해당 컴포넌트의 맥락에 맞는 메뉴라는 뜻.스크립트에 ContextMenu 속성(Attribute)을 입력해서 이 "맥락 메뉴"항목을 간단하게 추가할 수 있고, 각종 편의기능 등을 구현해서 활용할 수 있습니다.​아래처럼, 컨텍스트 메뉴를 선택했을 때 호출할 함수 위에 [ContextMenu("Menu Name")] 을 입력해주기만 하면 됩니다. 그럼 함수 내용이 즉시 실행됩니다. 함수는 비정적 함수(non-static) 함수여야 합니다.using UnityEngine;public class..

[Unity] PlayerPref 레지스트리 저장 경로

유니티 엔진에서 쉽고 빠르게 로컬 저장소를 활용하는 방법으로 PlayerPrefs 를 활용하는 방법이 있습니다. 아래와 같이 쉽게 데이터를 타입에 맞게 저장하고 불러올 수 있습니다. 이 데이터는 윈도우즈의 경우 레지스트리(Registry)에 저장하게 되는데, 아래와 같은 형태로 저장됩니다. 레지스트리 에디터는 윈도우키 + R 키로 실행창을 열고 regedit 을 실행하면 열 수 있습니다. 경로는 아래와 같은데, Editor 모드일 때 저장한 경로와, Standalone 일 때 저장한 경로가 다릅니다. 에디터 : HKEY_CURRENT_USER\Software\Unity\UnityEditor\[company name]\ 에디터 : HKEY_CURRENT_USER\Software\[company name]\..

SmoothDamp 는 어떻게 구현돼있을까?

UnityEngine Vector3.SmoothDamp(...) 부드러운 이동을 구현하기 위해 손쉽게 활용하는 함수입니다. 주로 Target 을 부드럽게 따라가는 카메라의 LookAt 혹은Position계산에 활용된다고 합니다. 저도 그렇게 썼었고요. // Smooth towards the target using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform target; public float smoothTime = 0.3F; private Vector3 velocity = Vector3.zero; void Update() { // Define a target positi..

강력 추천 유니티 입문서 "유니티 교과서" 개정5판

프로그래밍을 못하지만 게임을 만들고싶은 입문자, 초심자 분들께 추천하던 책이 있었습니다. 내용도 구성도 훌륭했거든요. 그 책이 바로 "유니티 교과서" 시간이 흘러흘러 무려 개정5판이 나왔습니다. 게임 개발자 중 한 명으로서 좋은 책을 꾸준히 내주시는 길벗 출판사에 감사드립니다. 개정판이 계속 나온다는 이야기는, 이 책이 그만큼 많은 사랑을 받았다는 뜻이겠죠. 저도 이 책의 이전 판 판매에 몇 권 정도 기여를 했던 것 같습니다. 유니티 교과서의 겉표지는, 교과서라는 이름에 걸맞게 아주 정직합니다. - 귀여운 고양이가 자주 등장해 이해를 돕습니다. - 단순 예제 따라하기가 아니라, 게임 제작의 흐름을 익히며 게임 제작을 함께 학습할 수 있습니다. - C# 프로그래밍을 몰라도 이 책을 통해 기본을 익혀 게임을..

[Unity] Play Mode 시작 시 씬 고정하기

Unity Editor로 특정 씬을 작업하다가 플레이 모드를 시작할 때, 특정 씬부터 실행되도록 고정하고 싶을 때가 있습니다. 이럴 때 아래 스크립트 코드를 활용해서 시작 씬을 고정할 수 있습니다. #if UNITY_EDITOR using UnityEditor; using UnityEditor.SceneManagement; [InitializeOnLoadAttribute] public static class DefaultSceneLoader { static DefaultSceneLoader(){ EditorApplication.playModeStateChanged += LoadDefaultScene; } static void LoadDefaultScene(PlayModeStateChange state){..

Unity TextMeshPro(TMP) 한글 폰트 출력하기

메모 차원에서 포스팅 해둡니다. Unity 의 검증된 Text 솔루션 패키지인 TextMeshPro 에서 한글 Text 를 출력하기 위한 방법입니다. ​ 대략적인 순서 1. 무료 한글 폰트 다운로드 2. 한글 폰트를 TMP_Font Asset 으로 변환 3. TMP Text 생성 4. TMP Text 의 Font Asset 교체 순정(?) TEP Text 를 생성하면,기본 폰트에 한글이 들어있지 않아 정상적으로 표시되지 않습니다. Liberation Sans 라는 이름의 폰트인데, Adobe 에서 제공하는 Adobe Fonts 라이브러리에 속해있는 무료폰트이지만 아쉽게도 한글이 없군요. Liberation Sans 상세 설명 https://fonts.adobe.com/fonts/liberation-san..

728x90
반응형