프로그래밍/언리얼엔진 92

언리얼엔진 강좌 62 [damage-03] 총알에 맞으면 데미지 주기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 62번째, 총쏘고 데미지 입기 시리즈의 3번째 시간입니다. 이번 시간에는 총에 맞을 객체, 적군, Enemy를 Character 타입으로 만들어 봅니다. 그리고 그 Enemy를 향해 총을 쏴서 날아가는 총알에 닿게 만들어 줍니다. 총알에 맞았으니 그 Enemy는 죽거나(소멸되거나), 혹은 에너지가 줄어들어들다가 에너지가 0이 되면 죽어야(소멸되어야) 합니다. 그리고 총알도 무언가에 닿으면 DestroyActor(Self) 함수로 소멸되어 사라져야 합니다. 이번 시간에는 총알에 닿으면 죽는 걸 한번 먼저 해본 다음, Unreal Engine의 Damage 매커니즘을 이용해 총알에 닿은 객체(여기서는 Enemy)에 applyDamage 로 dama..

언리얼엔진 강좌 61 [damage-02] 총알 움직이기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: github.com/easyprogstudy/unreal_damage 단계별로 올리지 않고 최종 버전만 올려 놓았습니다. 언리얼 엔진 강의 61번째 시간으로 총쏘고 데미지 입기 시리즈의 2번째 시간입니다. 이번 시간에는 총알을 위한 BP_Bullet 블루프린트 클래스에 Projectile Movement (발사체 움직임) 컴포넌트를 추가해 총알을 움직이도록 만들어 줍니다. 총알 객체에 Projectile Movement를 추가해 주면 움직이게 되는데, Initial Speed 값을 10,000 정도의 값을 주면 총알처럼 움직이게 됩니다. 총알이 일직선으로 날아가도록 하기 위해 Projectile Gravity Scale의 값을 0으로 설정해 주었습니다..

언리얼엔진 강좌 60 [damage - 01] 총과 총알 제작하고 마우스 클릭하면 총알 생성하기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: github.com/easyprogstudy/unreal_damage 단계별로 올리지 않고 최종 버전만 올려 놓았습니다. 언리얼 엔진 강의 60번째 시간으로 총쏘고 데미지 입기 시리즈의 1번째 시간입니다. 이번 시간에는 아주 간단하게 총을 위한 블루프린트 클래스를 만들고 총알을 위한 블루프린트 클래스를 만듭니다. 그리고 마우스 클릭을 하면 총에 fire 함수를 호출하도록 하고 총에서 총알을 생성합니다. 총알을 생성하는 건 총의 역할이고 총알이 발사되는 건 총알 자체의 역할입니다. 언리얼 엔진 버전: 4.25.0

언리얼엔진 강좌 59 [조명탄 - 02] 조명탄의 빛나는 재질과 빛 만들기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 59번째 시간으로 댓글로 요청하신 조명탄을 만드는 법을 설명합니다. 소스코드: github.com/easyprogstudy/unreal_flare 총 2개로 나누어 블루프린트로 조명탄을 만드는데, 이번에는 조명탄의 빛나는 재질과 빛을 만들어 봅니다. material instance를 이용해 조명탄이 하늘로 올라가는 동안에는 조금만 빛이 나고 작은 폭발이 일어나서 자유낙하하는 동안에만 강한 빛을 내도록 만들어봅니다. 그리고 조명(Point Light)을 달아 주변이 밝아지도록 합니다. 조명 역시 처음엔 끄고 하늘로 올라가고, 자유낙하하는 동안에만 켜지도록 했습니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 58 [조명탄 - 01] 조명탄의 움직임 만들기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: github.com/easyprogstudy/unreal_flare 언리얼 엔진 강의 58번째 시간으로 댓글로 요청하신 조명탄을 만드는 법을 설명합니다. 총 2개로 나누어 블루프린트로 조명탄을 만드는데, 이번에는 조명탄의 움직임을 만들어 봅니다. 조명탄의 움직임은 처음엔 위로 올라가다가 고점에서 작은 폭발이 일어나고 이후 아주 천천히 자유낙하하는 걸로 했습니다. 1. 블루프린트로 총을 만들어 Fire 함수를 만들고, Fire 함수가 호출되면 조명탄을 spawn합니다. 2. 조명탄은 Projectile Movement 컴포넌트를 가지고 있어 spawn 되자마자 바로 포물선을 그리며 날아갑니다. 3. 조명탄은 spawn 되고 1초 후에(포물선을 그리며 날..

언리얼엔진 강좌 57 C++로 blueprint용 함수 노드 만들기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 57번째 시간으로 C++을 이용해 블루프린트용 함수를 만들어 보겠습니다. 물론 블루프린트로도 훌륭한 프로그램을 만들 수 있지만, C++이 가능한 개발자라면 좀더 유연하게 개발 폭을 넓혀볼 수 있습니다. 그리고 이런 방식이 개발자는 C++로 함수를 만들고 디자이너는 블루프린트로 그 함수들을 이용하며 좀더 쉽게 협업할 수 있습니다. unreal에서 visual studio 2019를 이용해 C++ 클래스 만드는 방법과 기본적으로 UE_LOG 함수를 이용하면 한글이 깨져나오는데 한글을 제대로 표현하는 방법도 설명합니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 56 [인공지능-17] Perception 06 - 시각센서06 - actor의 태그를 이용해 플레이어인지 구분하기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 56번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 17번째 시간으로 몹을 하나 더 추가해 봅니다. 그럼 몹끼리 서로 공격하고 쫒아다니는걸 볼 수 있는데, 그 이유는 시각 센서로 감지된 오브젝트가 플레이어인지 같은 몹인지 구분하지 않았기 때문입니다. 그래서 플레이어에 태그를 하나 달아놓고 ActorHasTag라는 함수를 이용해 태그로 판단해서 플레이어인 경우에만 쫒아가도록 하였습니다. 언리얼 엔진에서 C++로 개발하는 경우에는 Detection by Affiliation에 Detect Enemies, Detect Neutrals, Detect Friendies 등을 설정해 태그를 이용하지 않아도 되지만, 현재 버전의 블루프린트..

언리얼엔진 강좌 55 [인공지능-16] Perception 05 - 시각센서05 - 순찰하다가 적을 발견하면 순찰을 중단하고 쫓아가기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 55번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 16번째 시간으로 몹이 순찰을 하다 적군을 발견하면 순찰을 즉시 중단하고 적을 쫓아가도록 만들어 봅니다. level에 2개의 target point를 놓아두고 그 2개의 target point를 몹의 블루프린트 클래스에 알려주면 알아서 2점 사이를 계속 왔다갔다 순찰하도록 했습니다. 기존 비헤이비어 트리에 순찰이라는 노드를 추가해 기본적으로 2점 사이를 순찰하도록 하고 만약 적을 발견하면 그 즉시 순찰을 종료하고 적을 쫓아가도록 했보았습니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 54 [인공지능-15] Perception 04 - 시각센서04 - 시야에 들어오면 쫒아가기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 54번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 15번째 시간으로 몹이 시각센서로 적을 발견하면 쫓아가도록 만듭니다. 기존 비헤이비어 트리에 moveto 태스크 하나를 추가합니다. 현재 플레이어의 위치를 블랙보드에 적어주고 그 블랙보드의 값을 서비스를 이용해 moveto에 전달해 줘서 계속 플레이어를 쫓아가도록 만들어 봅니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 53 [인공지능-14] Perception 03 - 시각센서03 - 시야에 들어오면 공격모드로 바꾸기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 53번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 14번째 시간으로 몹이 시각센서로 적을 발견하면 공격모드로 바꿔 봅니다 . 공격모드로 바뀌었다는 걸 확인하기 위해 칼을 꺼내 들도록 해보겠습니다. 언리얼 엔진 버전: 4.24.3