본문 바로가기

강동새싹언리얼수업/언리얼

(39)         글쓰기    
231123 Widget in Actor C++ 플레이어에 Widget을 달아보자. 사실 플레이어는 Widget에서 GetFirstCharacter()를 이용해서 HP변수에 접근해서 HPBar 업데이트가 가능하다. 그런데 적은 레벨에 여러개가 있으니 접근이 어렵다. 따라서 적Character에 HPBar를 붙여주고 직접 관리해줘야 한다. 블루프린트에서 하는 법은 위에 블로그 해놓왔고 여기서는 C++에서 한다.이거 완전 하드 코딩이다. 왜냐하면 이렇게 않하면 만드는 적마다 Widget 컴포넌트를 붙여주고 설정해야 하기 때문이다. 하지만 FULL C++로 만드는건 어렵다 ㅎㅎ 기존의 UserWidget에서 Pawn에 접근할수 있는 GetOwner 함수가 없다 따라서 GetOwner를 가져오려면 서로 WidgetComponent의 GetOwner 함수를 사..
211124 LineTrace C++ 실습에서는 Input Action을 만들어 E를 누르면 InterActionPositive가 실행되게 바인딩했다. C++에서는 라인을 그려주지 않기 때문에 DrawDebugHelpers.h를 추가해주고 DrawDebugLine(), DrawDebugCirdle()등을 실현해주어야 한다. #include "DrawDebugHelpers.h" //...... void ATPlayer::InterActionPositive(const FInputActionValue& Value) { FVector _Location; FRotator _Rotation; FHitResult _HitOut; GetController()->GetPlayerViewPoint(_Location, _Rotation); FVector _St..
231123 LineTrace BP_Player에 Line Trace를 실험한다. 실험을 위해 Projects설정에서 Object와 Trace의 설정을 해야한다. LineTrace는 물리적현상이라 Block으로 설정해야한다. 프리셋은 오버레이로 한다. Line Trace For Object Sphere Trace By Channel Line Box Trace By Channel TraceByChannel 은 직선상에 콜리전 트레이스를 수행하여 트레이스에 히트한 첫 번째 오브젝트를 반환합니다. SingleLineTraceByChannel 구성 방법은 다음과 같습니다. 단계 블루프린트 일인칭 템플릿에 시작용 콘텐츠를 포함 시켜 프로젝트를 새로 만들고 엽니다. FirstPersonBP/Blueprints 폴더에서 FirstPersonCha..