인프런 커뮤니티 질문&답변
프로젝트 생성 및 설정 첫 강의를 보면서 들었던 궁금한 점
작성
·
31
0
C++ 클래스를 기반으로 BP를 만들어 사용하는 이유는 무엇인가요?
World Settings에서 C++ 클래스 대신 BP 클래스를 등록하는 이유는, BP를 만든 이유와 동일한 목적인가요, 아니면 다른 목적이 있는 건가요?
이렇게 만든 BP 클래스들은 해당 C++ 클래스의 자식 클래스 개념이 맞나요?
답변 2
1
안녕하세요!
답변을 드릴려고 와보니 AI 인턴이 적절한 답변을 해줬네요^^
우선 C++ 클래스를 BP 클래스로 만들어서 사용하는 이유는 에디터에서 기능을 확장하거나 수정하는 작업이 용이하기 때문입니다. 개발 중에 여러 가지 테스트를 해보거나 유지 보수하기가 편리합니다.
에디터의 World Settings나 여타 블루프린트 클래스에서 다른 클래스를 등록해서 사용하는 경우, C++ 클래스를 직접 사용하는 경우는 드뭅니다.
이유는 앞서 설명드린 내용 때문입니다. C++ 클래스를 직접 등록하게 되면 등록만 할 수 있을 뿐, 수정이나 확장 등은 에디터에서 불가능합니다.
그럼 이런 의문이 들 수 있습니다. "처음부터 블루프린트 클래스로 만들면 되지, 뭐하러 귀찮게 C++ 클래스를 만들어서 또다시 블루프린트 클래스를 만드는 걸까?"라고 생각하실 수 있는데요,
똑같은 로직을 블루프린트 클래스로 만들었을 때 약 10배 정도 느립니다. 이 때문에 복잡한 계산이나 로직은 C++ 클래스로 만들고, 이것을 확장해서 블루프린트 클래스로 만들면 성능과 편의성을 동시에 가져갈 수 있습니다.
마지막으로 C++ 클래스를 상속받아 만든 블루프린트 클래스는 C++ 클래스의 자식 클래스 개념으로 이해하시면 됩니다.
그럼 좋은 하루 되세요.
0
안녕하세요, 인프런 AI 인턴입니다. 5900w님.
언리얼 엔진에서 C++ 클래스를 기반으로 블루프린트(BP)를 만들어 사용하는 이유는 코딩의 유연성을 높이고, 두 가지 환경의 장점을 모두 활용하기 위해서입니다.
C++ 클래스를 기반으로 BP를 만드는 이유:
- 퍼포먼스: C++은 낮은 수준의 언어로, 퍼포먼스 상의 이점이 있습니다. 복잡한 로직이나 퍼포먼스가 중요한 부분을 C++로 구현할 수 있습니다.
- 확장성 및 편집 용이성: 블루프린트는 시각적이고 직관적이기 때문에, 팀원들이나 비개발자들도 손쉽게 게임의 논리 구조를 수정하거나 셋업할 수 있습니다. 이는 개발 속도를 높이고 유지보수를 쉽게 만듭니다.
- 퍼포먼스: C++은 낮은 수준의 언어로, 퍼포먼스 상의 이점이 있습니다. 복잡한 로직이나 퍼포먼스가 중요한 부분을 C++로 구현할 수 있습니다.
World Settings에서 BP 클래스를 등록하는 이유:
- 유연한 변경과 빠른 개발: 블루프린트로 된 클래스를 등록함으로써, 프로그래머나 디자이너가 게임의 동작을 빠르게 변경할 수 있습니다. 블루프린트는 런타임에 변경하기 쉽기 때문에 전체 빌드를 다시 할 필요 없이 바로바로 수정하고 테스트할 수 있습니다.
- 직관적인 조정: 블루프린트를 사용하면, 게임의 많은 설정을 비주얼하게 조정할 수 있어 더 나은 게임 디자이너의 참여를 가능하게 합니다.
- 유연한 변경과 빠른 개발: 블루프린트로 된 클래스를 등록함으로써, 프로그래머나 디자이너가 게임의 동작을 빠르게 변경할 수 있습니다. 블루프린트는 런타임에 변경하기 쉽기 때문에 전체 빌드를 다시 할 필요 없이 바로바로 수정하고 테스트할 수 있습니다.
BP 클래스는 C++ 클래스의 자식 클래스인가?:
- 네, 일반적으로 BP 클래스는 해당 C++ 클래스의 자식 클래스 개념으로 생각할 수 있습니다. C++ 클래스에서 기능을 상속받아 블루프린트에서 이를 더 확장하고, 커스터마이즈할 수 있습니다.
- 네, 일반적으로 BP 클래스는 해당 C++ 클래스의 자식 클래스 개념으로 생각할 수 있습니다. C++ 클래스에서 기능을 상속받아 블루프린트에서 이를 더 확장하고, 커스터마이즈할 수 있습니다.
더 이해가 필요한 부분이 있거나 추가적인 질문이 있으신 경우, 자유롭게 남겨주세요. 프로젝트 진행에 도움이 될 수 있도록 관련 유사 질문 링크를 제공하오니 참고하시기 바랍니다.
저는 질문자님의 이해를 돕고자 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




