Engine/Unreal 그때그때 끄적끄적 (8) 썸네일형 리스트형 [Unreal] BehaviorTree BehaviorTree 는 언리얼에서 인공지능을 좀더 효율적으로 다루기 위해 여러 간선으로 이루어진 AI시스템입니다 애니매이션을 다룰때 사용했던 상태머신과 비슷한 개념으로 이해하시고 글을 읽으면 도움이 되실거라 생각됩니다 BehaviorTree는 데이터를 저장하는 BlackBoard와 저장된 BlackBoard 의 값을 이용, 수정하며 AI에 명령을 내리는 BehaviorTree 이렇게 두가지를 활용합니다 BehaviorTree노드 종류 Root(루트) BehaviorTree의 시작점입니다 아래로 향하는 노드는 하나만 연결 할 수 있으며 데코레이트나 서비스 노드를 부착할 수 없습니다 셀렉터(Selector) 왼쪽 자손노드에서 오른쪽 자손노드 순서로 실행되며, 자손노드중 하나가 성공한다면 나머지 자손노드는.. [Unreal] UFUNCTION UFUNCTION(BlueprintCallable) void doSomething(); BlueprintCallable : 가장 기본적인기능으로 C++에서 작성한 함수를 블루프린트에서 사용할 수 있게하는 키워드이다 BlueprintPure : 간단하게 값을 넣고 반환하는 형태의 키워드입니다 BlueprintImplementableEvent : 위의 기능들이 C++로 작성한 함수를 블루프린트에서 사용하게 하려는 키워드였다면 해당키워드는 블루프린트로 작성한 함수를 호출할 수 있게하는 키워드입니다 BlueprintNativeEvent : BlueprintImplementableEvent 와 같은 느낌이지만 해당 키워드는 블루프린트에서가 아닌 C++에서 가상함수를 만드는 개념입니다. Category 와 meta.. [Unreal] UPROPERTY UPROPERTY()는 변수에 붙는 리플렉션 메크로입니다 빌드 시에 UHT(Unreal Header Tool)가 이 매크로를 감지하고 리플렉션 유형에 추가하게 됩니다 https://darkcatgame.tistory.com/62 UE4 C++와 블루프린트 연동 기본 -1. UPROPERTY() UPROPERTY() UPROPERTY()는 변수에 붙는 리플렉션 메크로입니다, 위 코드 처럼 UPROPERTY() 메크로에 인자 값을 넣어서 용도에 맞게 활용 할 수 있습니다. 내부에 들어가는 인자 스타일은 제가 자주 쓰는 darkcatgame.tistory.com 해당 블로그가 정리가 너무잘되어있어 해당 블로그를 보며 참고했다 UPROPERTY(EditAnywhere) float TestP; // Visible.. [Unreal]언리얼 함수 메모장 myfvector.Normalize() // 해당벡터 자체를 정규화시키는 함수 인자값의 정밀도로 체크하여 정규화가되었다면 bool타입을 반환시키는 inline 함수 Fvector myfvector = Fvector.GetSafeNormal(float Tolerance); // 인자 값 이상의 오차범위가 아닌 경우 벡터를 정규화 복사하여 정규화시켜 반환시킴 SetActorLocation(Fvector()); // 엑터의 위치를 지정한 좌표로 이동시킴 AddActorLocalOffset(Fvector(),bSweep,&hitresult); // 엑터의 위치에 Fvector의 좌표값만큼 이동시킨다 bsweep가 true라면 충돌을 방지한다 // 4번째 인자는 물리엔진 순간이동할지 여부에대한 설정이라함 // 로.. [Unreal]C++클래스 삭제 언리얼로 C++ Actor를만들고 공부하던도중 실수를 너무많이해서 차라리 다시만들자 라는 생각이 들어 C++ 클래스를 삭제하려했습니다 클래스를 누르고 우클릭을 눌러서 삭제 버튼을 아무리 찾아봐도 삭제버튼이 보이지않아서 글을 써야겠다 마음먹었습니다 우선 엔진을 끄고 해당 프로젝트의 브라우저-> Source로 이동하여 해당 삭제하고 싶은 C++ 클래스의 cpp 파일과 헤더 파일을 삭제한다 이후 Binaries 파일을 삭제한다음에 Generate Visual Studio project files를 실행시킨후 해당 폴더를 다시 더블클릭하여 삭제된 파일들을 확인하고 실행시키면된다 조금번거롭지만 프로젝트가 터지는 경우를 방지하기에 좋아보인다 다른방법은 비쥬얼 스튜디오와 탐색기에서 Cpp와 헤더 파일 모두를 지운다음.. [Unreal] c++ 클래스 생성 오류 '신규 클래스 이름' 클래스 추가에 성공했지만, '프로젝트이름' 모듈을 다시 컴파일해야 콘텐츠 브라우저에 나타날 것입니다. '프로젝트이름' 모듈을 자동으로 핫 리로드하는 데 실패했습니다. 언리얼 공부중 해당 오류가 발생하며 클래스가 생성되지않는 문제가 발생되었다 생성되지않는것이 아니라 생성은되지만 에디터 상에 보여지지않는 문제가 발생한것이다 내 경우는 오류가 난 코드를 컴파일하지않고 새로운 클래스를 생성하려다가 해당 오류가 발생하였다 해당 오류를 수정하고 다시 컴파일한후 비쥬얼스튜디오에서 솔루션 빌드 까지 마친후에 에디터상에 보여졌다 [Unreal] Unreal C++ 로그찍기 언리얼을 처음깔고 라이브러리를 보면 화면과같은 상태일것이다 실행버튼을 누르고 프로젝트를 만들면 사진과같이 카테고리를 선택하는 창이 나온다 게임을 만들것이기에 게임을 선택하고 다음을 누르겠다 템플릿을 선택하라고 하는데 기본을 누르고 다음을 누르면된다 블루프린트 클래스가 기본설정일탠데 C++로 만들것이기떄문에 C++로 변경해주면된다 나는 프로젝트 경로에 한글이 들어가 오류가있었는데 프로젝트 이름과 경로를 영어로만 해주자 프로젝트 경로와 이름은 영어로해줘야지 빌드 오류가 없다 위와같이 해준다음에 프로젝트 생성을 누르자 위에보이는 화면이 언리얼 인터페이스이고 아래에 보이는 화면이 유니티의 인터페이스이다 하나의 창을 제외하고 나머지창은 비슷한기능을 담당한다 비슷비슷한 기능을하는 창끼리 짝지어보자면 Unity Un.. [Unreal] C++ Visual Studio 세팅하기 언리얼 공부를 시작하려는데 역시 쉽게되는건 하나도 없는거같다 2017버전을 사용해야하는줄알아서 2017 버전을 다시깔기도하고 프로젝트 이름이 한글이라서 문제되어서 그것도 고쳤지만 결국 안되서 나중에 조언을 구했더니 아래와같은 링크를 보여주셨다... https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup Setting Up Visual Studio for Unreal Engine Tips, tricks, and techniques for setting up Visual Studio to work with Unreal Engine docs.unrealengine.com 예전문서를 보고 오해했던.. 이전 1 다음