본문 바로가기
  • 불확실한 내일을 위해
728x90

유니티 C#103

유니티 기초 - 글꼴(글씨체) 변경하기 유니티 글꼴은 워드나 한글처럼 리스트로 저장되어있는 것이 없다.UI - Text 를 추가한 후 인스펙터에 Text 의 font 옆에 ttf 나 otf 확장자로 되어있는 파일을 끌어다 넣어주면 된다.(상업적으로 이용 가능한지 확인하고 넣는 것이 좋다) 참고로 Fond Size를 늘렸을 때 글씨가 2줄로 표시되면 Horizontal Overflow를 Wrap에서 Overflow 로 변경해주어야 한다.아예 글씨가 보이지 않으면 Vertical Overflow에서 Truncate이라고 설정되있는 것을 Overflow로 변경을 해주면 된다.   참고로 속성은 아래와 같다. Text : 텍스트 내용Font : 글꼴Font Style : 스타일 (굵기, 기울임)Font Size : 크기Lin.. 2024. 4. 24.
C# 이미지 적용할 때 필수인 Texture Type 와 Sprite Mode 설정 유니티에서 이미지를 사용하기 위해서는 UI와 2D 오브젝트로 삽입해야 한다. 하지만 UI와 2D 오브젝트를 이용하기 위해서는 sprite 타입의 이미지 리소스가 필요하다.즉, 이미지를 sprite 타입으로 변경해주면 되는데, 이는 인스펙터창의 Texture Type에서 설정할 수 있다.  Sprite(2D and UI) 를 쓰면 이 스프라이트 타입을 2D와 UI에서 사용할 수 있다는 뜻이다.그리고 Sprite Mode 를 Single로 바꿔준다.  2D나 UI로 사용하기 위해서는 이렇게 Texture Type 을 Sprite(2D and UI)로 선택해주고 Sprite Mode를 Single로 바꾼 위 apply 버튼을 눌러 적용시켜야 오브젝트로서 적용 가능하다.(이 작업을 안하고 이미.. 2024. 4. 24.
C#기초 - Destroy 함수 사용법 Destroy 는 오브젝트를 삭제하는 함수이다. 만약 변수가 player라고 선언되어있다면 Destroy(player); 라고 작성하면 되고 플레이하면 해당 오브젝트는 사라진다. 2024. 4. 23.
스크립트 에러 MissingReferenceException 해결방법 MissingReferenceException 는 삭제된 오브젝트 또는 컴포넌트에 접근할 때 발생하는 에러다. 보통 자동완성 기능으로 오타날일은 없으니 혹시나 Destroy 함수 기능으로 오브젝트를 삭제했는지 확인해보면 된다. 2024. 4. 23.
스크립트 에러 IndexOutOfRangeException 해결방법 IndexOutOfRangeException 는 범위를 벗어났다는 뜻을 갖는 에러다. 배열처럼 크기가 정해져 있는 범위에서 멋어난 범위를 접근할 때 생긴다. 예를 들어 아래처럼 1,2,3 의 정수를 갖는 배열에서 10번째 요소에 접근하려고 하면 IndexOutOfRangeException 에러가 난다. int[] array = {1,2,3} print(array[10]); 2024. 4. 23.
스크립트 에러 UnassignedReferenceException 해결방법 UnassignedReferenceException 는 값이 할당되지 않았을 때 나는 에러다. int, float, char, string, bool 같은 기본 자료형(데이터형)은 따로 값을 할당하지 않으면 기본값이 부여되기 때문에 비어있는 상태아 아니다. 하지만 GameObject 타입에는 값을 할당하지 않으면 에러가 발생하는데, 이렇게 비어있는 변수가 public 상태일 때 나타나는 에러가 UnassignedReferenceException 이다. 아래처럼 public 상태이고 GameObject 타입의 player에 값이 할당되지 않았을 때 발생한다. public GameObject player; void start () { print(player.name); } 2024. 4. 23.
스크립트 에러 NullReferenceException 해결방법 NullReferenceException 는 말 그대로 레퍼런스가 비어있다는 뜻이다. 어떤 값도 할당되지 않은 변수를 사용할 때 발생한다. 예를 들어 아래와 같이 작성했다면 player라는 변수에 값을 할당한 것이 없어 비어있는데 이를 사용하려고 한다면 NullReferenceException 에러가 뜨는 것이다. GameObject player; void start () { print(player.name); } 2024. 4. 23.
C#기초 - FindObjectOfType 함수 사용법 FindObjectOfType는 특정 컴포넌트를 검색할 수 있는 함수이다.씬 내에서 특정 컴포넌트를 검색할 수 있는데 Transform처럼 모든 오브젝트가 갖는 컴포넌트를 검색할 때 사용하면 정확히 어떤 컴포넌트를 반환할지 확실하지 않기 때문에 씬 내의 유일한 컴포넌트를 검색할 때 사용하는 것이 좋다.  예를 들어 아래처럼 Directional Light 의 기본 인스펙터인 Light 컴포넌트를 찾는 스크립트를 만들려면  아래처럼 작성하면 된다. using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEngine;public class Stury6_find : Mon.. 2024. 4. 23.
C#기초 - FindGameObjectWithTag 함수 사용법 캐릭터를 모두 검색하고 싶은데 캐릭터의 이름이 다 다르다면 일반 Find 함수를 쓰기에는 적절하지 않다. 하지만 캐릭터에 동일한 이름의 태그를 부여해주면 한번에 캐릭터를 찾을 수 있다. 태그는 인스펙터창에서 확인하거나 변경할 수 있다.태그를 이용하여 찾는 함수가 바로 FindGameObjectWithTag 이다.FindGameObjectWithTag 함수는 동일한 씬 내에서 특정 태그를 가진 오브젝트를 찾아 반환한다. using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEngine;public class Stury6_find : MonoBehaviour{ .. 2024. 4. 23.
C#기초 - Find함수 사용법 및 예시 find 함수는 컴포넌트를 검색하여 이름을 검색하여 가져오는 것을 말한다.예를 들어 GameObject.Find() 함수의 인수로 오브젝트 이름을 지정하면 씬 내에서 해당 오브젝트를 찾아 GameObject 타입으로 반환한다.  -Find함수 예시using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEngine;public class Stury6_find : MonoBehaviour{ public GameObject findCamera1; // 변수선언 void Start() { findCamera1 = GameObject... 2024. 4. 23.
728x90