본문 바로가기

유니티 최고/유니티 개념8

유니티(Unity) 접근 제한자와 프로퍼티에 대해서 이번엔 유니티에서 볼 수 있는 Public Private Protected 등 변수의 제일 앞쪽에 선언되는 키워드들인 접근 제한자에 대해 알아봅시다. 접근제한자란? 스크립트의 변수나 함수, 클래스등의 접근 정도를 제한 해주는 키워드들로 예를들어 A스크립트에서 B스크립트를 불러올때 A의 a만 불러오고, A의 b는 불러오지 못하도록 구현하기위해 아래처럼 다르게 선언하여 제한해줄 수 있도록하는 문법입니다. public int a; private int b; 가장 기본적인 키워드로는 public과 private가 있는데 public - 해당 변수나 함수가 다른 스크립트나 객체에서 자유롭게 접근할 수 있도록 합니다. - 해당 변수나 함수를 호출하거나 값을 변경할 수 있습니다. private - 해당 변수나 함수가.. 2023. 6. 13.
유니티(Unity) 의 가장 기본/기초 클래스[Class]에 대해서 유니티에서 스크립을 하나 생성하면 기본적으로 이런 클래스에 MonoBehaviour이 상속되는 형태로 생성됩니다. 이번엔 이런 클래스가 정확히 무엇인지, 어떻게 사용하는지도 알아보겠습니다. 클래스를 알아보기 전에 객체 지향 프로그래밍에 대해서 정리해 보겠습니다. 객체 지향 프로그래밍? 객체 지향 프로그래밍은 객체(=오브젝트)를 이용하여 프로그램을 처리하도록 프로그래밍하는 기법으로 코드를 객체/ 블록단위로 구성하여 설계/구현하는 방법입니다. 객체 지향 프로그래밍을 사용하는 이유로는 아래와 같은 점들이 있습니다. 1. 캡슐화 : 객체내부의 데이터를 외부에서 직접적으로 접근할 수 없도록 막을 수 있다. 2. 상속 : 코드상 이미 구현된 내용을 상속을 통해 쉽게 재사용할 수 있다. 3. 다형성 : 동일한 이름의.. 2023. 6. 9.
유니티(Unity) 인스펙터창 관리 / [HideInInspector] ? , [SerializeField] ? 라이브러리 파일들을 보고 있으면 SerializeField .... HideInInspector 등의 키워드가 많이 보입니다. 이번엔 이것들이 무엇이고 다른 것들은 어떻게 사용되는지에 대해 정리해 보겠습니다. 먼저 위의 것들을 인스펙터 속성 이라고 합니다. Inspector Attribute? 이것에 앞서 인스펙터란? 유니티를 실행해서 아무 오브젝트를 클릭하게되면 아래처럼 뜨게 되는데 이것이 인스펙터, 즉 속성창 입니다! 인스펙터를 이용해서 오브젝트의 상태, 위치, 컴포넌트 제거/추가/수정 할 수있으며 스크립의 내부 변수를 설정 할 수도 있습니다. HideInInspector, SerializeField 등등 여러 인스펙터 어트리뷰트들은 스크립 컴포넌트의 변수들을 어떤식으로 표현할까, 입력 받을까에 대해.. 2023. 6. 8.
유니티(Unity) async await이란 & 동기식, 비동기식 작업 유니티에서 라이브러리를 사용하다 보면 가끔 async await >> 이런아이들을 볼 수 있습니다. 이번 글은 이것들이 어떤 역할을 하는지 알아보도록 하겠습니다! 둘을 알기 전에 먼저 알아둬야 할 것들이 있습니다. 바로 동기식과 비동기식 작업의 차이입니다. 동기식? 동기식 작업이란 순차적인 실행 방식을 설명합니다. 만약 2가지의 함수가 있다면 이것들은 차례에 따라 실행 된다는 것! 유니티는 일반적으로 동기식 작업 방식을 채택하여 프로젝트를 실행합니다. 동기식 작업방식은 코드를 구현하기가 쉽고 실행 순서를 빠르게 파악할 수있습니다. 하지만 하나의 함수에서 엄청난 자원과 시간을 소모한다면 프로그램에 치명적일 수 있습니다. 그렇기에 이러한 부분에서는 비동기식으로 코드를 구성하기도 합니다! 비동기식? 비동기식 .. 2023. 6. 1.
유니티(Unity) 코루틴(Coroutine) 이란 & 사용해보기 이번엔 코루틴이란 개념에 대해 정리/사용해보겠습니다. 코루틴이란? 함수를 시간에 따른 지연처리를 하기 위해 사용하는 기능으로 유니티에서 제공하는 주요한 기능입니다. 특정 상황에 대해서 검사 작동하는 함수, Udate함수를 사용해야 할 것 같다고 생각될 때 사용할 수 있습니다. 만약 어떠한 함수를 5초마다 실행 시킨다고 하였을때 update문을 이용할 것이고아래 처럼 코드를 구성 할 수 있습니다. float Timenow = 0; void Update() { Timenow += Time.deltaTime; if (Timenow > 5.0f) { Timenow = 0; ///함수 실행! } } 함수 자체는 문제가 없습니다. 다만 Update문이 만약 1초에 60,80,100 번 반복된다고 했을때Update문.. 2023. 5. 30.
728x90
반응형