본문 바로가기

분류 전체보기90

오라클 프리티어 기반 Perforce 설정하기 2 - 인스턴스에 퍼포스 연결하기 이전글(https://dev-nicitis.tistory.com/93)에서 오라클 클라우드 인스턴스를 생성했다.이제 이 인스턴스에 퍼포스를 설치하고 사용할 준비를 해보자. 1. 인스턴스에 연결해보기우선 인스턴스를 생성했으니 터미널로 직접 연결부터 해보자.저번 글에서 Instance 생성 시 Private / Public 키를 받았을텐데, 이를 Instance에 설정해줘야 한다. 1-1. 권한 설정하기우선 Private SSH Key를 내 계정에서만 접근 가능하게 막는 것이 좋다. 한번 살펴보자.이 과정은 다음 링크(오라클 공식문서: https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/connect-to-linux-instance.htm#linux-from.. 2026. 3. 29.
오라클 프리티어 기반 Perforce 설정하기 1 - 오라클 클라우드 생성하기 1. 개요이번에 사이드 프로젝트를 시작하기에 앞서, 버전 컨트롤 시스템을 설정하는 방법을 공부해보려 한다.그 중에서도 보통이라면 사용했을 Git 대신, 언리얼 엔진에서 널리 사용되는 Perforce를 기반해서 작업해보려 한다. 문제는 이 과정에서 서버니 뭐니 작업해야 할 것들이 꽤나 많아서, 가이드를 보며 세팅해 보기로 했다.https://dev.epicgames.com/community/learning/tutorials/1lV4/unreal-engine-perforce-setup-on-oracle-cloud-free-tier?utm_source=chatgpt.com#connecting&furthersteps Perforce Setup on Oracle Cloud [FREE TIER] | Communit.. 2026. 3. 29.
[UE5] SCENE_QUERY_STAT() 매크로 SCENE_QUERY_STAT()은 언리얼에서 C++로 충돌 처리를 감지할 때마다 사용하는 매크로 중 하나이다.특히 아래와 같이 FCollisionQueryParams를 만들 때 가장 많이 사용된다.FCollisionQueryParams CollisionQueryParam(SCENE_QUERY_STAT(GateTrigger), false, this); SCENE_QUERY_STAT()은 프로파일링이나 디버깅 등을 추적하기 위한 태그를 반환하는 것으로 보인다.해당 매크로는 특히 FCollisionQueryParams의 첫 번째 인자로 주로 사용되는데, 게임 로직 자체에는 영향을 주지 않고, 프로파일링 / 스탯 집계용으로 이름을 식별할 때 쓰인다.예를 들어 가장 많이 사용되는 FCollisionQueryPa.. 2026. 3. 3.
언리얼 엔진 - 블루프린트 변수가 자꾸 초기화된다? : Instance Editable 옵션 자꾸 블루프린트로 만든 객체가 실행할 때마다 초기화된다.이런 현상은 부모 블루프린트 클래스에서 만든 변수를 자식 블루프린트 클래스에서 수정할 때 발생했다.위 사진에서는 BP_Weapon_Base를 상속받아 BP_Weapon_M1911을 생성했다. 여기서 Name, Mesh, Damge, Fire Delay, Range와 같은 변수를 부모인 BP_Weapon_Base에서 생성하고, 자식 클래스인 BP_Weapon_M1911에서 수정했다.그런데 자꾸 계속 수정해도 다시 프로젝트를 실행하면 초기 상태로 되돌아갔다.실제로 찾아보니 언리얼 Docs에서도 같은 문제를 겪는 사람이 많았다.처음엔 단순 검색으로는 상당히 찾는 데에 오래 걸릴 거라 생각해서, Claude에다가 물어보았다. 그에 대한 답변은 이랬다. 1... 2026. 1. 10.
언리얼 엔진 - 블루프린트 대 C++: 두 언어의 차이점과 두 언어를 모두 사용해야 하는 이유 해당 글은 다음 영상을 공부하며 제 방식대로 정리한 글입니다.원 영상과 다른 부분이 있을 수 있고, 원 영상 자체가 정말 알차게 블루프린트와 C++을 섞은 설계를 잘 소개하고 있기 때문에, 원 영상을 보시는 것을 추천드립니다.Alex Forsythe에게 좋은 영상을 만들어 준 점에 대해 감사하는 말씀을 드리고 싶네요.원 영상: https://www.youtube.com/watch?v=VMZftEVDuCE 언리얼 엔진에서는 스크립팅을 위해 C++와 블루프린트를 모두 제공한다.내가 유니티 개발자다 보니 이런 점은 익숙하지 않았다. 유니티는 기본적으로 C#만을 사용해서 개발을 진행하기 때문이다. 유니티와 달리 언리얼 엔진에서는, 대다수의 기능을 C++와 블루프린트 중 아무거나 골라도 구현할 수 있는 경우가 많.. 2025. 12. 13.
언리얼 엔진 - 향상된 입력 시스템(Enhanced Input System) 언리얼 엔진 5의 향상된 입력 시스템(Enhanced Input System)에 관해 공부하고 정리한 글입니다.공식 문서의 내용이 이해가 안 돼서 제 마음대로 해석을 많이 끼워 넣었기 때문에 오류가 많을 수 있습니다. 참고해 주시고 이상한 점이 있다면 지적해 주시면 감사하겠습니다!참고: 언리얼 문서유니티의 Input System과 유사하게, Mapping Contexts를 추가하고 거기에 액션들을 등록하는 식으로 동작한다(즉, 명령 패턴을 통한 느슨한 연결을 추구함).Add > Input 안에 있는 옵션들로 이를 다룰 수 있다. 핵심 콘셉트향상된 입력 시스템은 입력 액션(Input Actions), 입력 매핑 컨텍스트(Input Mapping Contexts), 입력 모디파이어(Input Modifier.. 2025. 12. 4.
언리얼 엔진 5에서 잘못 지은 클래스명 변경하기 출처: https://forums.unrealengine.com/t/how-to-change-the-name-of-a-c-class/274152 How to change the name of a C++ class?Hey Everyone, I made a new C++ project in unreal 4.27 and noticed that I can no longer make C++ classes on the Content folder and I need to make it on the C++ classes folder but When I made one class and wanted to delete it it was not possible I also triedforums.unrealengine.com.. 2025. 11. 28.
인터페이스와 구현을 분리해도, 인터페이스를 변경해야 하는 경우가 온다면?(책 '객체지향의 사실과 오해'를 읽으며) 개요요즘 책 '객체지향의 사실과 오해'를 읽고 있다. 해당 책에서는 객체지향에 대해 사람들이 갖고 있는 맹목적인 클래스에 대한 오해를 깨부수고 있다. 객체지향에 대한 소프트웨어 설계 철학을 풀어내는 내용이 많아서, 나 같은 초보 개발자에게 도움이 되는 내용이 많은 것 같다.그런데 이 책 '객체지향의 사실과 오해'를 읽으면서 문득 궁금한 점이 생겼다.훌륭한 객체란 구현을 모른 채 인터페이스만 알면 쉽게 상호작용할 수 있는 객체를 의미한다. 이것은 객체를 섥할 때 객체 외부에 노출되는 인터페이스와 객체 내부에 숨겨지는 구현을 명확히 분리해서 고려해야 한다는 것을 의미한다....인간의 두뇌가 한 번에 생각할 수 있는 양에는 한계가 있으므로 변경이라는 강력한 적과의 전쟁에서 승리하기 위해 인간이 취할 수 있는 .. 2025. 9. 13.
Unity DOTS 기술 정리: 2. Burst Compiler 2. Burst CompilerBurst 컴파일러는 유니티의 성능을 끌어올리기 위한 컴파일러 도구이다. C# 코드와 호환되는 최적화된 네이티브 CPU 코드를 작성할 때 필요하다.Burst는 Unity에서 고성능 연산 처리를 위해 도입된 컴파일러로, Unity에서 사용 가능한 C# 코드 컴파일러이다. Burst는 LLVM을 통해 .NET IL( Intermediate Language, 중간 언어)를 대상 CPU 아키텍처에 최적화된 코드로 변환한다.Unity의 Job System을 위해 디자인되었다. 사용 방법은 단순히 클래스에 어트리뷰트로 [BurstCompiler]를 붙이면 된다. 다만 주의사항이 있다면, Burst Compiler를 사용하면 런타임 오류가 발생했을 때 상세 정보를 확인하기 어렵다는 문제.. 2025. 9. 6.