본문 바로가기

Unity 유니티27

Unity 유니티 프리팹이란?? Prefab?? Unity에서 프리팹(Prefab)은 미리 구성된 게임 오브젝트의 템플릿입니다. 이를 사용하면 복잡한 구성 요소와 설정을 갖춘 게임 오브젝트를 쉽게 재사용할 수 있으며, 한 번의 설정으로 여러 인스턴스에서 공통적인 변경 사항을 적용할 수 있습니다. 프리팹은 게임 개발 과정을 효율화하고, 대규모 프로젝트에서 일관성을 유지하는 데 큰 도움이 됩니다. 만약 아래의 이미지와 같은 몬스터가 있고 게임 내에서 아래 몬스터를 여러개 복사하여 사용하고 있을 경우  해당 몬스터 모두에게 어떠한 변화가 생겨야 한다면 예를들어 아래 이미지처럼 외형이 변경이 되어야 한다면 일일히 모든 복사한 몬스터를 선택하여 외형을 변경해 주어야 합니다. 하지만 프리팹으로 만들어둔 파일을 활용할 경우. 원본 파일 즉 프리팹 파일이 변경이 된.. 2024. 4. 1.
Unity 유니티 비쥬얼 스튜디오 편집기 업데이트 비쥬얼 스튜디오나 코드를 사용하려고 하면 위와 같은 경고 메시지가 뜨는 경우가 있습니다. 이는 경고창의 메시지 처럼 편집기 버전이 오래되어 지원되지 않는 것들이 있을 수 있기에 업데이트를 해주시면 됩니다. 먼저 유니티 에디에서 Window -> Package Manager을 열어줍니다. 패키지 매니저 창에서 Visual Studio Editor를 선택 후 오른쪽 설명 창에 업데이트 버튼을 눌러 업데이트 하시면 됩니다. 2023. 10. 13.
유니티 코루틴?? Unity Coroutine?? hp회복 예 Unity에서 반복되는 행위는 보통 Update 메소드 내에서 처리를 합니다. 하지만 만약 반복 중에 대기시간이 필요하다면 Update 메소드 내에서 처리하는 건 무리가 있습니다. 대기하는 동안 다른 동작들 역시 다 멈춰버리기에 특정 행위만 대기시간을 갖게 하거나 대기에 따른 특정 이벤트를 처리하고 싶다면 Coroutine 코루틴을 활용하시면 됩니다.Coroutine 코루틴의 주요 특징1. 비동기 실행: 코루틴은 비동기적으로 실행됩니다. 위 이미지에서 보듯 복잡한 작업을 게임의 메인 루프와 독립적으로 수행할 수 있습니다.2. 시간 지연 및 대기: 코루틴 내부에서 yield 키워드를 사용하여 시간 지연을 하거나, 특정 조건이 충족될 때까지 대기할 수 있습니다.3. 프레임 조절: 코루틴은 프레임마다 실행되기.. 2023. 8. 29.
유니티 게임 오브젝트란? unity GameObject GameObject는 Unity에서 가장 중요하며 가장 기본적인 요소입니다. 눈에 보이는 객체든 안보이는 객체든 기본 베이스인 GameObject의 인스턴스로 생성됩니다. GameObject의 주요 특징과 구성을 알아보도록 하겠습니다. 1. Transform 모든 GameObject는 기본적으로 Transform 컴포넌트가 포함되어 있습니다. Transform은 해당 오브젝트의 위치(position), 회전(rotation), 스케일(scale)을 정의합니다. Transform을 통해 해당 오브젝트가 가상의 월드 공간에서 어디에 위치하고, 어떻게 회전하며, 크기는 얼마나 되는지를 설정할 수 있습니다. 2. Components GameObject는 하나의 기능이 아닌 여러가지 기능들로 구성이 될 수 있습니.. 2023. 8. 23.
unity 유니티 오류 Scene '...' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded. 이 오류는 SceneManager.LoadScene("...") 함수를 통해서 Scene을 로드하는데 해당 Scene이 프로젝트에 포함이 되지 않아서 생기는 오류입니다. File -> Build Settings Scene 파일을 드래그 & 드랍하시면 Scene파일이 추가됩니다. 또는 열려있는 현재 Scene을 추가하려면 오른쪽 아래 Add Open Scenes 버튼을 누리시면 됩니다. SceneManager.LoadScene("...") 을 통해서 Scene이름이나 인덱스로 Scene을 불러올 수 있게됩니다. 2023. 8. 22.
Unity 자동 완성이 안된다면?? 유니티 비주얼 스튜디오 연동 유니티와 비주얼 스튜디오를 통해 코드를 작성 시 코드 자동 완성이 되지 않는다면 너무나 불편한 점이 많습니다. 타자를 더 많이 쳐야하는 것도 있지만 오타에 따른 문제가 발생함에도 제대로 알려주질 않습니다. 잘못된 코드를 제대로 찾기 쉽지 않다는 이유만으로도 자동 완성은 무조건 사용해야 하겠죠. 자동 완성이 안되는 이유야 여럿 있을 수 있지만 기본적으론 유니티와 비주얼 스튜디오가 연동이 되지 않아서 입니다. 보통은 유니티와 비주얼 스튜디오를 함께 설치하며 자동으로 연동이 되는데 따로 설치했거나 간혹 연동이 안되는 경우가 있습니다. 그럴땐 직접 연동을 해주어야 합니다. 유니티 비주얼 스튜디오 연동하는 법에 대해서 알아보겠습니다.  먼저 유니티 에디터의 메뉴 중 Edit - Preferences 선택합니다. .. 2023. 8. 15.
유니티 Unity2d Sprite Missing 오류 유니티 스프라이트 애니메이션을 작업하다가 위와 같은 오류가 발생한다면 다음과 같은 부분을 확인해보시고 수정해주세요. 위 오류는 게임오브젝트에 애니메이션 컴포넌트만 포함되어있고 스프라이트 렌더러 컴포넌트가 없어서 발생한 문제입니다. 애니메이션 컴포넌트가 포함된 오브젝트에 스프라이트 렌더러 컴포넌트를 포함해주시면 됩니다. 2023. 8. 8.
Unity GameObject.Find() 유니티 게임오브젝트를 찾는 함수 GameObject.Find()는 찾고자 하는 게임 오브젝트의 이름으로 씬 내의 오브젝트들을 검색합니다. 만약 씬 내에 같은 이름의 오브젝트가 여럿 존재한다면 먼저 검색된 오브젝트를 반환하고, 해당 이름의 오브젝트가 없다면 null을 반환합니다. 간단한 예제를 통해 알아보도록 하겠습니다. 위 이미지의 Cube 오브젝트를 찾아서 가져옵시다. TestSample 스크립트에 추가한 GameObject 타입의 변수 cube가 비어있는 상태입니다. 스크립트에 위 코드를 작성해준 뒤 플레이하면!! Cube 오브젝트가 cube변수에 할당된 것을 볼 수가 있습니다. 더불어 GameObject.Find를 통해 찾은 오브젝트의 컴포넌트를 가져올 수도 있습니다. GetComponent를 함께 활용하시면 됩니다. https:.. 2023. 8. 7.
Unity 유니티 엔진 렌더 파이프 라인 Render Pipeline의 종류 안녕하세요^^유니티 엔진 렌더 파이프 라인에 대해 알아봅시다.렌더 파이프 라인은 게임 오브젝트의 렌더링 과정 즉 화면에 오브젝트를 그리는 과정을 제어하는 시스템입니다.렌더 파이프 라인은 3D 모델의 표현, 라이팅, 그림자, 쉐이딩 등과 같은 시각적 효과를 구현하는데 사용됩니다. 유니티는 2019이후 버전부터 총 4가지의 파이프 라인을 제공하고 있습니다. 1. Built-in Render PipelineUnity 2019 이전 버전에서 사용되던 파이프 라인입니다. 현재는 공식적으로 지원하고 있진 않지만이전 프로젝트와 호환성을 유지하기 위해 아직 사용되고 있는 렌더 파이프 라인입니다. 2. Universal Render Pipeline(URP)경량화된 렌더 파이프라인으로 모바일과 pc를 비롯 다양한 플랫폼에.. 2023. 7. 28.
유니티 Unity GetComponent 컴포넌트 찾는 함수 Unity 엔진에서 GetComponent는 주어진 게임 오브젝트에서 특정 컴포넌트를 찾아오는 함수입니다. 게임 오브젝트에 붙어있는 스크립트나 컴포넌트를 가져올 수 있게 해주는 함수입니다. T GetComponent(); 여기서 T는 가져오려는 컴포넌트의 타입을 나타냅니다. 이 함수를 호출하면 해당 게임 오브젝트에서 지정한 타입의 컴포넌트를 찾아옵니다. 만약 해당 컴포넌트가 없을 경우 null을 반환합니다. 만약 부모나 자식 오브젝트에서 컴포넌트를 가져오려고 한다면 아래 함수를 사용하시면 됩니다. GetComponentInParent GetComponentInChildren 예를 들어, 플레이어 캐릭터가 PlayerMovement라는 스크립트를 가지고 있을 때, 다음과 같이 GetComponent를 사용.. 2023. 7. 26.
unity 회전, Euler와 Quaternion unity에서 게임 오브젝트를 회전시키려면 보통 transform 컴포넌트에 있는 Vector3로 표현된 rotation값을 활용합니다. 하지만 이는 어디까지나 unity 에디터에서 제어할 때의 얘기이고, 코드를 통해 제어하려하면 Vector3의 x, y, z값으로 제어가 안되어 당혹스러움을 감출 수가 없습니다. 이유인 즉슨 rotation 자체는 Vecto3가 아니라 Quternion이기 때문입니다. 형식이 다르니 당연히 문제가 생기는거죠. 아니 그냥 Vector3 x,y,z 축만 써도 충분한데 왜 굳이 rotation을 Quaternion형식으로 만들어놨을까요?? 우리가 unity에서 쓰고 있는 Vector3를 통한 회전은 수학자 Euler에 의해 고안된 Euler방식을 쓰고 있습니다. 물론 이 Eu.. 2022. 9. 19.
Unity Camera 유니티 카메라 Projection의 Perspective와 Orthographic 차이점 일반적으로 게임을 개발할때 2D게임을 만들건지 아니면 3D게임을 만들건지 선택을 합니다. 이에따라 카메라가 화면을 그리는 방식을 정하게 되는데 이때 선택하는 것이 카메라의 Projection입니다. 화면을 그리는 방식은 두 가지로Perspective와 Orthographic 두 가지입니다. Perspective의 경우 보통 3D게임에 사용되고 반대로 Orthographic 은 2D게임에 사용됩니다. 물론 게임에 따라선 반대로 활용할수도 있겠죠. 먼저 Perspective는 3D의 공간감, 원근감을 표현합니다. 그래서 가까이 있는 물체는 크게 보이고 멀어질수록 작게 보입니다. z축, 깊이감이 있다보니 3D 게임에 적합합니다. 우리가 세상을 보는 방식과 비슷하죠. Orthographic은 원근법이 적용되지 .. 2022. 1. 4.
반응형