유니티 89

Canvas RenderMode 정리

늘 유니티를 하며 헷갈렸던 부분 중 하나. 게임 오브젝트는 인게임 요소고, 텍스트는 캔버스 요소라 둘은 완전 다른 위치에 있는데,만약 텍스트를 게임 오브젝트 요소처럼 쓰고 싶다면 어떻게 해야할까?  결론부터 말하면 Canvas의 Render Mode를 - World Space로 변형해주면 된다그럼 도대체 이 World Space모드가 무엇이고, 다른 모드는 무엇이 있는지 정리해보도록 하자 더보기🔹 1. Screen Space - Overlay (기본값)📌 UI가 항상 화면의 맨 위에 그려지는 모드카메라에 상관없이 화면 픽셀 좌표에 고정가장 성능이 좋음 (UI 전용 렌더링 패스 X)멀티캠 지원 X (항상 게임 화면 위에 고정)🔹 특징✅ UI가 항상 화면 크기에 맞게 유지됨✅ 카메라 거리와 상관없이 항..

이미지 스프라이트 분리 방법

이런 사진이 한장 있다고 치자. 52장의 카드들이 한장의 이미지안에 들어있다  Sprite Editor로 일정하게 잘라내기까지는 끝냈는데..  문제는 이 잘린 스프라이트들을 어떻게 하면 각각 하나의 이미지로 구별할 수 있을까?하나씩 드래그하여 프리팹으로 만들수도 없는 노릇이고..막막할 수 있지만 이럴땐 좋은 방법이 있다 그대로 따라하기만 하면 손쉽게 자른 이미지들을 하나씩 보관할 수 있다  1. 우선 에셋에 Editor라는 이름으로 폴더를 하나 만든다  2. 아래 코드를 그대로 복사하여 스크립트를 하나 만든뒤 Editor 폴더 안에 넣어준다 using UnityEngine;using UnityEditor;using System.IO;public class SpriteExporter : MonoBehavi..

#3 C# 프로그래밍 (메서드, 간단한 코딩예시, 클래스,인스턴스,접근제한자,참조타입)

이번에 해볼것은 바로 유니티에서 쓰이는 C# 프로그래밍이다하지만 지금 이 글을 쓰고 있는 시점과 비슷하게 이미 나는 C# 공부를 따로 하고 있고  CLR, 변수, 스택과 힙, 데이터 형식, 박싱&언박싱, 형식 변환글을 시작하기 전에 별로 중요하지 않다 생각하고 넘긴 CLR에 대해서 알아보겠다 CLR(Common Language Runtime) : C#으로 만든 프로그램이 실행되는 환경C#뿐만 아니라  LS 규격을 따르는 모든 언어로 작sangeun00.tistory.com C# 공부용 글까지 적고 있기에 겹치는 부분들은 빼고 새로운 부분만 적어보도록 하겠다   이미 여러번 다뤘지만 프로그래밍에서 함수(메서드)는 미리 정해진 동작을 수행하는 코드 묶음 이다따라서 어떤 처리를 미리 함수로 만들어두면 다시 반..

#2 유니티 엔진 동작 원리 (클래스,메서드,상속,컴포넌트, 브로드캐스팅, MonoBehavior)

이번글에서는 유니티에서 엔진이 동작하는, 정확히는 게임 속 모든 오브젝트들이 움직이는원리에 대해서 알아보려고 한다 그전에, 이미 다른글에도 정리되어 있지만 가장 기본이며 가장 많이 쓰이게 될 클래스와 메서드에 대해 간단하게 설명하고 넘어가겠다 클래스 : "객체(Object)를 만들기 위한 설계도"클래스는 변수(속성)와 메서드(기능)를 하나로 묶어 정의하는 개념 메서드 : "클래스 안에서 특정 기능을 수행하는 함수"클래스 내부에서 행동(기능)을 정의하는 부분 한번 가볍게 예시를 들어보겠다. class Character { public string name; public int health = 100; public Character(string _name) { name = _na..

#1 유니티 인터페이스 (Edit bounding volume, Flythrough)

드디어 개인개발중이던 Galaxy Ball도 얼추 끝났고,이제 슬슬 대학교도 개강이 얼마남지 않은 이 시점에서 무엇을 하는게 좋을까 고민을 해본 결과  이렇게 두권의 책을 함께 공부하며 게임개발을 더욱 자세하게 알아보도록 하겠다이 카테고리에서는 레트로의 유니티 책에서 배운것들을 다룰 예정인데사실 갤럭시볼을 개발하며 알게 된것도 많은데 굳이 입문서를 한 번 더 볼 필요가 있겠냐 싶겠지만필요하다.....중간중간에 잘 알지도 못하고 기본이 탄탄하지 않은데 너무 야메로 넘어가버린게 한두번이 아니라서유니티에서 기본부터 탄탄히, 대신 빠르게 진행해볼 필요가 있다고 느꼈다 당연히 기본적으로 알고 있던 내용들 말고 내가 실제로 외우거나 알아둬야 하는것들, 혹은 새로 배운 부분들이 있다면이 블로그에 기재한뒤 나중에 필요..

광고 넣으려다가 오류...

이번엔 게임에 광고를 넣어볼 생각이다. 한참전에 배웠는데 이제서야 게임을 완성해 넣는거라배워가면서 차근차근 진행해보겠다.   Google AdMob: 모바일 앱 수익 창출인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.admob.google.com 우선 AdMob 홈페이지에서 계정을 만든다  앱 등록을 한다. 사실 여기까지는 어려울게 없으니 사진 첨부만 하겠다 앱 등록을 했다면 자세한 광고 정보를 등록해야 한다  첫번째 광고 타입을 선택한다.보통 초보자들에게는 배너가 가장 쉽고 많이 사용하지만 나는 전면 광고를 해보도록 하겠다 그리고 광고 단위 이름을 적는다. 광고 단위 이름은 말 그대로 헷갈리지 않도록광고의 명칭을 ..

구글 콘솔 업로드 키 재설정 요청

영어 기능 지원#2 + 기타 업데이트지난글에 이어 영어기능을 완전히 지원해보도록 하겠다  { "id": 11, "textWithDelay": [ { "text": "So...", "delay": 0.05 }, { "text": "You've seen the ending, why are you here again?", "delay": 0.05 }, { "text": "Did you just come to hasangeun00.tistory.com여기까지 번역을 잘 해놓고 한가지 문제가 생겨버렸다.... 바로 업로드키를 분실해버리고 만것...아니 어떻게 업로드키를 잊어버릴수 있는건가 싶지만 지난주 카페에서 노트북으로 작업을 하면서깃허브 데스크탑에 게임을 업로드하며 노트북과 컴퓨터를 번갈아가며 작업을 했는데 ..

Scroll View

게임을 만들다 갑자기 필요해진 중요한 기능이다. 내가 설정한 텍스트 박스는 크기 제한이 있는데 텍스트는 그보다 많아 공간을 넘어갈때그렇다고 글씨크기를 줄이자니 너무 작아지고, 냅두자니 공간이 잘리거나 부자연스러워질때필요한 스크롤뷰 사용법을 이번글에서 익혀보도록 하겠다 더보기1. ScrollView 생성Unity 에디터에서 Hierarchy 창에서 우클릭 후, UI > Scroll View를 선택하여 ScrollView를 생성합니다.이로써 ScrollView 오브젝트가 생성되고, 기본적으로 Viewport, Content 등의 자식 오브젝트가 자동으로 생성됩니다.2. TextMeshPro - Text (UI) 컴포넌트 추가Content 오브젝트를 선택합니다. 이 오브젝트는 ScrollView에서 스크롤할 ..

상황에 따라 Debug.Log 제거하는 법

이미 어느정도 예상은 하고 있었지만 스크립트안에 찍힌 로그가 많을시 모바일 환경안에서는 CPU 사용량이 증가하여 성능에 영향을 준다고 한다 그리고 웬만한 로직보다 이 로그 연산이 더 무겁다고 하는데 사실인지는 모르겠지만 중요한건 그 정도로 로그가 성능에 영향을 준다는것이다미 어느정도 예상은 하고 있었지만 스크립트안에 찍힌 로그가 많을시 모바일 환경안에서는 CPU 사용량이 증가하여 성능에 영향을 준다고 한다 그리고 웬만한 로직보다 이 로그 연산이 비용도 더 들고, GC도 많이 만든다고 한다사실인지는 모르겠지만 중요한건 그 정도로 로그가 성능에 영향을 많이 준다는것이다 그렇기에 이번엔 로그를 상황에 따라 제거하고 생성하는 방법에 대해서 알아보겠다using System;using UnityEngine;publ..

오디오 소스 삽입 에러

개발 도중 게임에 사용될 오디오 소스 중 하나가 앞 5초만 사용하는데 오디오의 전체길이는 5분이 넘어가너무 비효율적이라 판단하여 뒷부분을 자를려고 했다 근데 뒷부분을 자른 동영상을 유니티 안에 다시 삽입하려니 에러가 뜬다정확히는 Last Import Generate 1 Error 라는 문구와 함께... 사실 전에도 이런 문제가 한번 있었는데 지금 당장 오디오 부분은 급한게 아니었기에 그냥 넘어갔었다하지만 이제는 그냥 넘어갈수가 없으니 문제를 해결해보도록 하자  챗 지피티에서 이런저런 방법들을 제시해주었지만 확실하게 이거다하는 방법은 내놓지 못할때나는 3번 오디오 파일 재인코딩이 눈에 들어왔다. 그래서 곧바로 오디오 재인코딩 해주는 사이트에 들어가해당 오디오 파일을 다시 한번 MP3 형식으로 재인코딩 해주..

반응형