유니티 10

유니티 - 특정 스크립트가 적용되어 있는 오브젝트 찾는 법

오늘은 특정 스크립트가 어디에 적용되고 있는지간단하게 찾을 방법이 있어 소개하고자 합니다.  혼자 할 때는 몰랐는데 팀으로 협업하다 보니어떤 오브젝트에 어떤 스크립트가 붙어있는지 알기가 쉽지 않더라고요. 그래서 방법이 없을까 찾아보니,간단하게 해결할 수 있어 금방 시도해 보고 정리해 봤습니다.   유니티에서 원하는 스크립트를 우클릭한 다음 Find References In Scene을 눌러주면 됩니다.   그러면 씬에서 어떤 오브젝트가 해당 스크립트를 가졌는지 알려줍니다. 제가 선택한 스크립트는 해당 씬에서 가진 오브젝트가 없었나 봅니다. 다른 걸로 선택해 가지고 있는 상황을 보여드리면 다음과 같습니다.  ref : 라고 적힌 검색창 옆에 네모 아이콘?을 누르면 아래와 같이 확인 할 수도 있습니다. 정말..

유니티/공통 2024.10.21

유니티 - Resources를 활용해 에셋을 로드해보자

오늘은 Resources 폴더를 사용해동적으로 에셋을 로드하는 법에 대해 알아보고자 합니다. 구현 문제를 연습하다가 정적으로 할당하는 방법 외동적으로 시도를 해보라는 상황이 있었는데처음 떠올랐던 방법이 GetComponent, find 였습니다.  위 방식으로 어찌저찌 만들기는 했지만,다른 방법들은 없었을까 고민하던 중 이전에 Resource 폴더를 활용해 에셋을 불러왔던 방식이 떠올랐습니다. 당시에는 이런 게 있구나 하고 넘어갔었는데 지금 보니 다시 보이더군요.언제 사용하는지 문제점은 없는지 정리가 필요할 거 같아 작성해 봤습니다.  원리를 설명하자면  Resources라는 폴더를 만든 후,그 안에 할당해 주고 싶은 내용들을 넣어주고코드로 Resources 폴더에 접근,타입과 이름으로 해당 내용을 찾아..

유니티/공통 2024.10.18

유니티 - InputSystem에 대해 알아보자#2(내용 보충)

오늘은 InputSystem에 대해 더 자세히 알아보는 시간을 가지고자 합니다.지난번에 InputSystem에 대해 글을 작성하고 난 후, 추가로 알게 된 정보들이 몇 가지 더 있어서 정리하고자 합니다. 보충 버전이라고 할까요? 기존 블로그에 작성한 것에 추가하기에는 내용이 많아서 따로 글을 작성하게 되었습니다. 이전에 쓴 글 내용은 아래 링크를 참고하시면 될 것 같습니다.2024.10.15 - [유니티/공통] - 유니티 - InputSystem에 대해 알아보자#1(기본)  일단 본 글은 공식문서를 참조하여 작성되었습니다.유니티 버전에 따라서 InputSystem의 버전도 달라질 수 있습니다.참고하실 때 유니티 패키지 매니저에서 Input System의 버전을 확인하시고해당 버전에 맞는 문서를 체크하시면..

유니티/공통 2024.10.17

유니티 - InputSystem에 대해 알아보자#1(기본)

오늘은 InputSystem에 대해 알아보고자 합니다. 그동안 유니티를 다루면서 Old Input System이라고 할까요?(찾아보니 Input Manager라는 명칭이 있었네요.) 이 방식으로 주로 작업을 하다가제대로 InputSystem을 사용해 보려고 하니 모르는 부분이 꽤 많이 나오더군요.  (이것도 원래는 New Input System이라고 했었는데이름이 InputSystem으로 바뀌었네요.) 정리가 한번 필요할 것 같아서 글을 작성해 봤습니다.   Input System을 사용하려면 먼저 패키지 메니저에 가서 추가를 해줘야 합니다.2023.3x이후 버전에서는 기본적으로 탑재가 되어 있으니만약 설치되어 있다면 이 부분은 넘어가셔도 됩니다.   설치하고 다음과 같은 창이 뜨면 YES를 눌러재시작해..

유니티/공통 2024.10.15

유니티 2D - 캐릭터 이름 구현 (WorldSpace 와 InputField - TextMeshPro)

오늘은 캐릭터 이름 표시 기능? 을 만들면서 놓쳤었던 부분을 기록하고자 합니다.지금 보니 다 간단한 거였는데 왜 그랬을까요;;; 일단 처음 구상한 아이디어는 이름을 입력받고 머리 위에 띄우는 것이었습니다.  UI를 통해 TextMeshPro를 넣어주면 간단하게 해결될 줄 알았습니다.그런데 문제가 발생했습니다. 시네머신 카메라를 이용해 플레이어의 움직임을 따라가도록 했더니 UI의 위치랑 플레이어의 위치랑 차이가 나는 것이었습니다.  canvas를 player 아래에 하나 더 만들어서 그런가? 일단 여기서 1차 얼타기 시작. 해결 방법은 의외로 간단했습니다.   canvas는 기본으로 ScreenSpace-Overlay로 설정되어 있는데,이를 WorldSpace로 바꿔서 해결했습니다. 그래서 이게 뭔데? 싶..

유니티/2D 2024.10.11

유니티2D - 타일맵에 대해 알아보자 (default 브러시 외 , 룰 타일, 애니메이션 타일)

오늘은 타일맵에 대해서 알아보고자 합니다.2D 프로젝트를 진행하면서 평소 들어는 봤지만,안 써봤던 기능들 위주로 사용해 보고 정리해 봤습니다. 타일맵을 생성하는 방법 Hierarchy창에서 우클릭 - 2D object - Tilemap을 통해 만들 수 있습니다.설명을 위해 Rectangular를 선택했습니다. 만들면 아래와 같이 Rectangular 모양의 타일을 그릴 수 있는 판이 만들어지게 됩니다.   Hexagonanl - Flat - Top 비교  이제 타일맵을 채우기 위한 이미지들을 담을 타일 팔레트를 만들어야 합니다. 만드는 방법은 window - 2D - Tile palette를 누르면 됩니다. 다음과 같이 타일 팔레트 창이 뜨는데, 이때 Crate New Palette를 해주신 후 이곳에 ..

유니티/2D 2024.10.10

유니티 - JSON을 이용하여 데이터를 저장해보자. #2 응용 - 구글 스프레드 시트 활용 (feat. 구글 앱스 스크립트)

이전에 엑셀과 연동하여 엑셀의 내용을유니티 내부로 불러오는 방법에 대해 다룬 적이 있습니다. 오늘은 이와 유사하게 구글 스프레드시트를 활용하여JSON 데이터를 만들고, 가져오는 방법을 다루고자 합니다. 2024.09.11 - [분류 전체보기] - 유니티 - '엑셀'과 연동 해보자2024.10.01 - [유니티/공통] - 유니티 - JSON을 이용하여 데이터를 저장해보자. #1 저장과 암호화  여러 자료를 찾아보니구글 스프레드시트의 링크 권한을 통해 보안성을 가져갈 수 있다는 점,공유를 통한 수정에 편리한 점,확장 기능 추가도 엑셀보다 쉽게 할 수 있어 범용성도 좋고,무엇보다 무료라서 이를 자주 활용하는 것 같더군요.  얼마나 유용한지는 솔직히 체감이 잘 안되지만일단 자주 사용하는 것 같아서 따라 해봤습니..

유니티/공통 2024.10.05

유니티 - JSON을 이용하여 데이터를 저장해보자. #1 저장과 암호화

유니티에서 데이터를 저장하는 방식은크게 PlayerPrefs와 JSON을 활용하는 방식 2가지로 나뉩니다. PlayerPrefs의 경우 이전에 다루어 봤기에,오늘은 JSON을 통해 데이터를 저장하는 방법에 대해 소개해 드리고자 합니다. 2024.09.13 - [유니티/공통] - 유니티 - PlayerPrefs를 이용하여 데이터를 저장해보자  JSON을 통해 데이터를 저장하는 방법을 소개하기에 앞서서이 과정을 이해하려면 "직렬화(Serializable)/역직렬화(Deserialization)", "JSON" 에 대한 사전 지식이 필요합니다. 이전에 정리한 글이 있으니 링크를 참고해 주시면 감사하겠습니다. 2024.09.30 - [알아보자 시리즈] - 직렬화(Serialization)/ 역직렬화(Deseri..

유니티/공통 2024.10.01

유니티 - PlayerPrefs를 이용하여 데이터를 저장해보자

유니티에서 데이터를 저장하는 방식에는 크게 두 가지가 있습니다.PlayerPrefs와 JSON을 활용하는 방식인데요,그 중 오늘은 PlayerPrefs를 이용하여 데이터를 저장하는 방법에 대해 알아보고자 합니다. PlayerPrefs 사용법 PlayerPrefs는 유니티에서 제공하는 클래스로서,Key값과 value값으로 정보를 저장합니다. 아래는 이를 사용하는 예시입니다.playerPrefs.SetInt("key", 1); // "key"에 1 저장;playerPrefs.SetFloat("key1", 2.0f); // "Key1"에 2 저장;playerPrefs.SetString("key3", "예시"); // "Key3"에 "예시" 저장 playerPrefs.GetInt("Key"); // "Key"에..

유니티/공통 2024.09.13

유니티 : 렌더러 우선순위 정하기 (2D)

3D에선 환경 특성상 어떤 물체가 앞에 있고, 뒤에 있는지 한눈에 파악하기 쉽습니다.하지만 2D는 그렇지 않죠. 이미지가 겹치는 것처럼 보일 겁니다. 이미지가 겹치는 경우특정 이미지를 앞에 있는 것처럼 보이게 하고 싶다면 어떻게 해야 할까요?  오늘은 이에 대해 알아보고자 합니다.  여러 가지 방법이 있겠지만 그중 몇 가지 방법을 정리하고 간단하게 설명해 보겠습니다. https://docs.unity3d.com/6000.0/Documentation/Manual/2DSorting.html Unity - Manual: 2D Sorting2D Sorting Overview Unity sorts Renderers according to a priority order that depends on their typ..

유니티/2D 2024.08.26