일지
-
유니티 기초...2일지 2022. 10. 8. 17:52
패키지 매니저 구입한 에셋을 실제 프로젝트에서 사용하기 위해서는 에셋 스토어에서 해당 에셋을 프로젝트에 추가할 수도 있지만 유니티 에디터의 패키지 매니저를 통해서도 에셋 임포트가 가능하다. 패키지 매니저는 [Window] - [Package Manager] 메뉴를 통해 사용할 수 있고 메뉴를 누르게 되면 다음과 같은 창이 나타나게 된다. 패키지 매니저에서는 현재 프로젝트에 로드 되어있는 패키지를 바로 확인해서 업데이트, 제거를 할 수 있다. Pakcages를 Unity Registry로 바꾸면 유니티에서 제공하는 에셋을 확인할 수 있고 My Assets를 누르면 내가 보유한 모든 에셋을 확인할 수 있다. Unity 2018에 추가된 이후 발전을 거듭해 최신 버전에서는 Filters를 통해 원하는 카테고리..
-
유니티 기초...1일지 2022. 10. 5. 21:56
렌더 파이프라인 구분 유니티 2020이후로 Built-in 파이프라인 외에 URP와 HDRP가 추가되었다. 각각은 다음과 같은 특징을 가진다. 빌트인 렌더 파이프라인 기본적인 렌더 파이프라인으로 커스터마이즈 옵션이 제한적이다. 전통적인 포워드 렌더링, 디퍼드 셰이딩 등을 포함한다. 유니버설 렌더 파이프라인(URP) 쉽고 빠르게 커스터마이즈 할 수 있는 렌더 파이프라인. 사전에 빌드 된 파이프라인으로 이미 최적화 되어있어 가볍게 사용할 수 있다. 고해상도 렌더 파이프라인(HDRP) 스크립터블 렌더 파이프라인으로 고사양 플랫폼을 위한 고해상도 그래픽스를 지원한다. 물리 기반 조명 및 머터리얼을 사용하며 컴퓨트 셰이더를 활용할 수 있다. ※ 스크립터블 렌더 파이프라인(SRP) : C# 스크립트를 이용해 렌더링..
-
언리얼...17일지 2022. 10. 2. 12:43
언리얼 UI 시스템 언리얼의 UI 시스템은 유니티와 달리 게임 화면에 띄워서 작업하는 게 아닌 새로운 창에서 작업하게 된다. 여기에서 화면 크기를 가정한 사각형에 UI를 띄우고 피벗 등을 조절해 UI를 제작하게 된다. 언리얼 UI 시스템에는 기본적인 버튼, 텍스트, 이미지 같은 구성요소 외에도 각 버튼이나 이미지에 애니메이션을 적용하여 메뉴의 진행을 나타낼 수 있는 기능이 존재한다. ※ 애니메이션을 통해 연결된 클래스의 변수를 세팅할 수도 있으나 순수 블루프린트로 작업하는 게 아니라면 변수는 코드에서 관리하는 게 일관성 유지에 도움이 되고 버그가 발생했을 때 대응하기도 편하다.
-
언리얼...16일지 2022. 10. 1. 15:12
모듈 구성 C++로 프로젝트를 진행하게 되는 경우 필요에 따라 이를 적절하게 묶어 사용할 필요가 있게 된다. 이때, 이를 모듈로 구성하게 되는데 모듈은 언리얼에서 지정한 구성을 따라야 한다. 여기에서 Public 폴더에는 헤더 및 선언이 들어가며 Privtate 폴더에 소스 및 정의가 들어가게 된다. 이후 언리얼 프로젝트 파일을 수정하여 모듈을 프로젝트에 추가하면 에디터에서도 해당 모듈의 폴더를 확인할 수 있게 된다. 언리얼 엔진에서 게임플레이 모듈을 만드는 방법 | 언리얼 엔진 5.0 문서 (unrealengine.com) 게임플레이 모듈 생성 게임의 런타임 모듈을 처음부터 생성하는 방법을 알아봅니다. docs.unrealengine.com
-
언리얼...15일지 2022. 9. 29. 21:15
AIController란? 언리얼에는 액터를 조종하기 위해 Controller라는 계층을 두고 있는데 플레이어의 경우 PlayerController를 통해 입력을 받고 이 입력을 조종하는 캐릭터에 전달해주게 된다. AIController는 AI를 위한 컨트롤러이며 비헤이비어 트리(일명 BT)의 입력을 받아 행동을 하도록 만드는 보조 클래스다. 비헤이비어 트리 기본 BT는 언리얼의 AI 시스템으로 노드를 이용해 AI의 행동 패턴을 구현할 수 있는 비주얼 스크립팅의 일종으로 볼 수 있다. BT의 구성은 AI에 필요한 정보를 공유할 수 있도록 도와주는 블랙보드가 존재하고 이 블랙 보드를 이용해 AI 행동을 결정하는 비헤이비어 트리로 나뉜다. BT의 태스크 실행 시 다음 네 값 중 하나를 반환한다. Aborte..
-
언리얼...13일지 2022. 9. 27. 21:22
소켓 언리얼에도 메쉬나 이펙트 등을 쉽게 적절한 위치에 생성하고 관리하기 위한 소켓이 존재한다. 이것은 스켈레톤 메쉬에서 설정할 수 있으며 프리뷰 에셋을 이용해 자신이 사용하고자 하는 에셋의 위치를 적절하게 설정할 수 있다. 생성자, BeginPlay 기본적으로 생성자에서는 자기 자신의 클래스에 직접 사용할 액터, 컴포넌트를 생성 및 설정한다. BeginPlay에서는 외부의 액터를 생성해 사용할 수 있다. 언리얼 버그 가끔 C++ 클래스를 새로 만들다가 그대로 프로젝트가 병신이 되는 경우가 있는데 이 때는 새로 추가했던 클래스를 삭제한 뒤, 엔진으로 에디터를 켜서 다시 클래스를 만들어 주면 다시 동작하게 된다. 아마도 빌드가 되기 전에 엔진을 종료한 경우 발생하게 되는 것 같다. ※ 빌드 완료되기 전에 ..
-
언리얼...12일지 2022. 9. 26. 22:18
충돌 관련 오브젝트 기본적으로 다음 세 가지 오브젝트를 통해 충돌체를 구현할 수 있다. 스태틱 메시 애셋 primitive 컴포넌트 피직스 애셋 충돌 영역 충돌 시 어떻게 반응할지를 설정하는 영역으로 크게 다음 세 가지 영역을 설정해야 한다 콜리전 채널과 기본 반응 콜리전 채널의 용도 다른 콜리전 채널과의 반응 충돌 반응으로는 무시, 겹침, 블록이 존재한다. 디버그 헬퍼 언리얼에는 디버깅을 편하게 할 수 있도록 도형을 그려주는 함수를 제공한다. "DrawDebugHelpers.h"를 통해 다양한 도형을 그릴 수 있고 적절한 동작인지 확인할 수 있다.