본문 바로가기

Unreal Engine5/게임 만들기 - Warehouse Wreckage20

Unreal Engine Level Node, Delay Node 총알이 다 떨어지면, 레벨을 새로여는 기능을 구현하고자 한다. Unreal Engine에서는 이름이나 레퍼런스로 Level을 얻어올 수 있는 것 같다. 일정시간 Delay 시켜주는 함수 다음과 같이 총알이 떨어졌을때 Delay를 달고, 현재 레벨을 다시 열어주면 된다. 2023. 7. 1.
Unreal Engine Functions - Member Function 현재 메인레벨 이벤트 그래프에 존재하는 Add Impulse 함수에는 스테틱 메쉬 컴포넌트의 속성을 가져오는 노드들이 많이 존재한다. 하지만 이것을 BP_Projectile 즉, 인스턴스가 생성될 때 자체적으로 함수를 가지고 있게 할 수 있지 않을까? 물론 가능하며 이것이 객체지향 프로그래밍 원칙에 부합한다. 따라서 BP_Projectile 을 컨텐츠 드로어 에서 열고, 그안에 함수를 만들어준다. 암묵적으로 모든 멤버함수는 현재 타겟이나, 현재 인스턴스라는 파라미터를 갖고 있다. self >>를 통해서 접근가능하다. 다음과 같이 활용 가능하다. 이 함수를 메인 레벨에서도 참조할 수 있다. 2023. 7. 1.
Unreal Engine Blueprint Functions - Pure Function 함수 중 순수 함수에 대한 설명을 적고자 합니다. Has Ammo 함수는 실행핀을 가지고 있는데 이것이 좀 의문이 들었다. 실행핀이 필요한 경우는 어느때일까? 사이드 이펙트에 관해서 사이드 이펙트란, 함수가 실행될 때 식별 가능한 효과가 생기는 것을 말한다. E.g. Print String, Add Impulse 와 같은 함수가 대표적이다. Pure Function 사이드 이펙트가 없는 함수 오직, return 값만 존재 E.g. Get Ammo 와 같은 getter함수들, 연산함수 ex) Multiply, Minus,,,, 이들은 실행 핀이 없다. 함수의 Detail창에서 퓨어 텝을 눌러서 순수함수로 만들 수 있다. Side Effect가 없다고 확신할때만 퓨어로 만들어주자. 2023. 7. 1.
Unreal Engine Blueprint Functions - Basic Blueprint를 사용하면서 문득, 와 이걸 다른사람이 어떻게 읽지 하는 생각이 들기도 했고, 1달 뒤에 내가 봤을 때, 기억할 수 있을까 하는 의문이 들기도 했다. 마침 함수 단위로 묶는 기능이 있어서 소개하고자 합니다. 현재 Blueprint는 가독성이 매우 떨어진다. 다음과 같이 node들을 선택하고 C키를 누르면, 코멘트 블록으로 묶을 수 있다. 하지만, '함수'를 사용하는 방법이 가장 좋은 방법이다. 원하는 만큼 선택하고, 함수로 접기를 누르면 된다. 다음과 같이 하나의 노드로 표현된다. 더블클릭으로, 함수에 어떤 노드들이 들어있는지 확인할 수 있다. 더블클릭으로 들어오면 보라색 노드가 하나 생기는데 이것은 함수의 Entry Point이다. 또한, 함수를 직접 생성하는 것도 가능하다. 1. 왼.. 2023. 7. 1.