C#,Unity Programming
-
TextMeshPro 오브젝트가 Text에 할당이 안된다. 대부분의 유니티 강의들이 UI를 구성할 때 레거시 Text로 예시를 보여주고 있다. 하지만 레거시가 레거시가 되는 이유는 분명히 있을 것이고, 유니티에서 TextMeshPro(TMP)를 추천하고 있으므로 언젠가는 완전히 대체될 수도 있지않을까 생각해서 나도 TMP를 쓰기 시작했다. 레거시 Text 와 사용법도 동일하고, 스타일이나 쉐이더 등 보다 다양한 옵션들을 쓸 수 있어서 용이하다. 그런데 뜬금없는 포인트에서 문제가 발생했다. UIManager에서 텍스트를 컨트롤하기 위해 text를 public으로 선언 후 인스펙터에서 TMP 오브젝트를 할당하려하자, 할당이 안되는 것. public class UIManager : MonoBehaviour {..
Unity TextMeshPro(TMP) public text 텍스트로 넣는 방법(레퍼런스 할당)TextMeshPro 오브젝트가 Text에 할당이 안된다. 대부분의 유니티 강의들이 UI를 구성할 때 레거시 Text로 예시를 보여주고 있다. 하지만 레거시가 레거시가 되는 이유는 분명히 있을 것이고, 유니티에서 TextMeshPro(TMP)를 추천하고 있으므로 언젠가는 완전히 대체될 수도 있지않을까 생각해서 나도 TMP를 쓰기 시작했다. 레거시 Text 와 사용법도 동일하고, 스타일이나 쉐이더 등 보다 다양한 옵션들을 쓸 수 있어서 용이하다. 그런데 뜬금없는 포인트에서 문제가 발생했다. UIManager에서 텍스트를 컨트롤하기 위해 text를 public으로 선언 후 인스펙터에서 TMP 오브젝트를 할당하려하자, 할당이 안되는 것. public class UIManager : MonoBehaviour {..
2022.10.18 -
UI 배치할 때 은근히 도움되는 간단한 팁 위의 버튼의 앵커를 정하고 위치를 수정할 때에 지금까지는 아래와 같은 과정을 진행했다. 1. Rect Transform 의 Anchor Preset 에서 top, left, middle, bottom 등을 선택해서 Anchor을 수정한다. 2. Rect Transform 의 position 을 0, 0 으로 수정한다. 3. X,Y 값을 필요한 수치로 이동한다. 그런데 Anchor preset에 이런 기능이 있다는 것을 발견했다. Alt를 누르고 프리셋을 클릭하면 아래처럼 앵커와 함께 포지션이 함께 이동된다. 마찬가지로 Shift를 누르고 앵커프리셋을 설정하면 피벗도 같이 이동된다. UI를 잘 살펴봤다면 알고 있었겠지만, 이제서야 발견해서 소개해본다. UI 작업시..
Unity [팁] anchor pivot과 transform 한번에 리셋하기.UI 배치할 때 은근히 도움되는 간단한 팁 위의 버튼의 앵커를 정하고 위치를 수정할 때에 지금까지는 아래와 같은 과정을 진행했다. 1. Rect Transform 의 Anchor Preset 에서 top, left, middle, bottom 등을 선택해서 Anchor을 수정한다. 2. Rect Transform 의 position 을 0, 0 으로 수정한다. 3. X,Y 값을 필요한 수치로 이동한다. 그런데 Anchor preset에 이런 기능이 있다는 것을 발견했다. Alt를 누르고 프리셋을 클릭하면 아래처럼 앵커와 함께 포지션이 함께 이동된다. 마찬가지로 Shift를 누르고 앵커프리셋을 설정하면 피벗도 같이 이동된다. UI를 잘 살펴봤다면 알고 있었겠지만, 이제서야 발견해서 소개해본다. UI 작업시..
2022.10.17 -
JSON 파일이란? 오브젝트의 정보를 'key', 'value' 로 사람이 읽을 수 있는 형태로 저장해서 전달할 수 있는 포멧으로, 아래 이미지에서 category 라는 key에 생활이라는 value를 저장하는 형식 vaule에는 array(배열)도 담을 수 있다. Unity 오브젝트에서 JSON 데이터를 저장하는 방법 1) 게임 오브젝트에 스크립트를 생성하여 붙여준다 2) 플레이어 컨트롤러 클래스와 플레이어 데이터 클래스를 분리하여 코드를 작성 분리하지 않으면 컨트롤러 클래스가 상속받고 있는 MonoBehavior를 비롯한 불필요한 내용까지 함께 저장하게 된다. using System.Collections; using System.Collections.Generic; using UnityEngine; ..
유니티 JSON 데이터 저장과 로드(JSON Utility)JSON 파일이란? 오브젝트의 정보를 'key', 'value' 로 사람이 읽을 수 있는 형태로 저장해서 전달할 수 있는 포멧으로, 아래 이미지에서 category 라는 key에 생활이라는 value를 저장하는 형식 vaule에는 array(배열)도 담을 수 있다. Unity 오브젝트에서 JSON 데이터를 저장하는 방법 1) 게임 오브젝트에 스크립트를 생성하여 붙여준다 2) 플레이어 컨트롤러 클래스와 플레이어 데이터 클래스를 분리하여 코드를 작성 분리하지 않으면 컨트롤러 클래스가 상속받고 있는 MonoBehavior를 비롯한 불필요한 내용까지 함께 저장하게 된다. using System.Collections; using System.Collections.Generic; using UnityEngine; ..
2022.10.14 -
게임에서 데이터를 저장하고 관리하기 위해서는 직렬화와 역직렬화에 대한 이해가 필요하다. Serial? USB (Universial Serial Bus) 에서 Serial 의 의미를 생각해보자. - 직선상으로 연속적으로 들어오는 데이터를 받아들일 수 있는 인터페이스. Serial(직렬) : 연쇄, 연속해서 이어지는 어떤 것. Serialization(직렬화) 오브젝트를 String(문장형데이터) 이나 byte 데이터 형태로 바꾸는 것 [Object -> String or Byte] 왜 이 작업이 필요한가? Object는 메모리에 존재하고 추상적인데 비해서, string 이나 bytes 데이터는 드라이브에 저장하거나 통신선을 통해 전송할 수 있기 때문 데이터를 주고받기 위해서는 추상적인 오브젝트를 구체적으로..
직렬화와 역직렬화(Serialization & Deserialization)게임에서 데이터를 저장하고 관리하기 위해서는 직렬화와 역직렬화에 대한 이해가 필요하다. Serial? USB (Universial Serial Bus) 에서 Serial 의 의미를 생각해보자. - 직선상으로 연속적으로 들어오는 데이터를 받아들일 수 있는 인터페이스. Serial(직렬) : 연쇄, 연속해서 이어지는 어떤 것. Serialization(직렬화) 오브젝트를 String(문장형데이터) 이나 byte 데이터 형태로 바꾸는 것 [Object -> String or Byte] 왜 이 작업이 필요한가? Object는 메모리에 존재하고 추상적인데 비해서, string 이나 bytes 데이터는 드라이브에 저장하거나 통신선을 통해 전송할 수 있기 때문 데이터를 주고받기 위해서는 추상적인 오브젝트를 구체적으로..
2022.10.14 -
Lesson 1-1. Start your 3D Engine 기본적인 Unity 사용법을 복습함. 잊고있던 내용이나, 이후 참고가 될 내용만 아래 작성 학습내용 New Functionality Project set up with assets imported Vehicle positioned at the start of the road Obstacle positioned in front of the vehicle Camera positioned behind vehicle New Concepts & Skills Create a new project Import assets Add objects to the scene Game vs Scene view Project, Hierarchy, Inspector win..
[UnityLearn] 1단원 - 플레이어 제어Lesson 1-1. Start your 3D Engine 기본적인 Unity 사용법을 복습함. 잊고있던 내용이나, 이후 참고가 될 내용만 아래 작성 학습내용 New Functionality Project set up with assets imported Vehicle positioned at the start of the road Obstacle positioned in front of the vehicle Camera positioned behind vehicle New Concepts & Skills Create a new project Import assets Add objects to the scene Game vs Scene view Project, Hierarchy, Inspector win..
2022.09.28 -
스파르타 코딩클럽 게임개발 기초강의를 듣고, 앞으로 어떻게 공부를 해 나갈까 하다가 유니티 공식 학습프로그램을 진행해보기로 했다. 백엔드, 프론트앤드 등 분야별 전문성을 키울 수 있는 부트캠프는 많지만, 1인개발이나 소규모 개발, 특히 게임개발을 위한 교육과정은 찾아보기 어렵다. 특히 한국은 지식이 사유화되어있어서, 웹에서 공부하기 좋은 자료를 찾기가 너무 어렵다. 영어권은 지식은 서로 공유해서 사이즈를 키우고 그 전문성을 바탕으로 노하우를 사고파는 분위기가 있는 것 같은데, 초기 진입자에게는 이런 점이 참 반갑다. 페이스북이나 인스타그램, 트위터 같은 서비스들도 Github에 소스를 공유하고 있으니 참고하면서 공부하기가 참 좋은 환경이다. https://learn.unity.com/ Learn game..
Unity Learn 무료 유니티 학습 공식 강의스파르타 코딩클럽 게임개발 기초강의를 듣고, 앞으로 어떻게 공부를 해 나갈까 하다가 유니티 공식 학습프로그램을 진행해보기로 했다. 백엔드, 프론트앤드 등 분야별 전문성을 키울 수 있는 부트캠프는 많지만, 1인개발이나 소규모 개발, 특히 게임개발을 위한 교육과정은 찾아보기 어렵다. 특히 한국은 지식이 사유화되어있어서, 웹에서 공부하기 좋은 자료를 찾기가 너무 어렵다. 영어권은 지식은 서로 공유해서 사이즈를 키우고 그 전문성을 바탕으로 노하우를 사고파는 분위기가 있는 것 같은데, 초기 진입자에게는 이런 점이 참 반갑다. 페이스북이나 인스타그램, 트위터 같은 서비스들도 Github에 소스를 공유하고 있으니 참고하면서 공부하기가 참 좋은 환경이다. https://learn.unity.com/ Learn game..
2022.09.28