6+7일차

곽현빈·2024년 1월 16일

Unreal Engine Practice

목록 보기
5/6
post-thumbnail

블루프린트 클래스
클래스란
프로그램의 설계도로 추상적인 큰을 잡아 프로그래밍을 용이하게 해줄 수 있는 틀과 같다.

이런식으로 클래스를 생성하고 안에 내용을 채워넣는 식이다.

정리가 안되어있지만 맵생성 코드들이다

위는 미로 알고리즘을 이식했다. 알고리즘의 내용에 따라 wall이라는 값을 온오프 한다.

위는 포션 몬스터 코인 등을 생성하는 코드이다. 확률로 함정을 생성하고 생성하지 않았다면 몬스터를 확률로 생성 생성하지 않았다면 다음생성 다음생성 하는식으로 겹치지 않게 요소들을 스폰했다.

이런식으로 미로를 생성하고 미로의 벽이 없는 구간을 찾아내 오브젝트를 소환한다.

메인 프로그램에선 맵생성 함수호출을 처리하고 플레이어가 움직일 시 무브이벤트를 처리하게 된다.

무브이벤트엔 오브젝트정보를 확인하고 오브젝트 정보가 확인되면 해당 오브젝트의 처리하게 된다.

구현한것:미로생성(벽충돌 아직 안됨), 적생성, 적과의 전투, 코인생성획득, 이동, 사망, 포션으로 회복, 함정으로 데미지를 입고 함정 표시
미구현:미로 벽충돌, 적과 같은좌표가 아닌 한칸 앞에서 조우, NPC, 장비생성,적 타격 처치시 이팩트

정리해야할것: 노드정리(맵생성 구간에 구현할 오브젝트가 많아 지저분함 정리할 방법을 찾아야함), 무브이벤트시 발생하는 이벤트도 함수로 정리하고 클래스에서 이벤트를 처리하도록 해야 확장성이 늘어나고 같은 요소를 다시 사용할 수 있음 기본 맵엔 정말로 단순한 노드만 남도록 정리가 필요할듯 함

이 외에 배운 내용으로는 맵변수와 타이머 가능이 있다.
타이머 기능은 첫 시작시간과 지속 적용시간을 설정할 수 있다.
맵 변수는 2개의 변수를 저장할 수 있는데 하나의 변수의 내용을 알면 다른 내용을 빠르게 불러올 수 있다.

profile
unreal engine

0개의 댓글