분류 전체보기 (72) 썸네일형 리스트형 Unreal UI버튼이 눌리지 않을 때 Button으로 클릭이벤트를 받으려고하지만 이벤트가 받아지지 않았습니다. 이러한 이유는 앞에 나온 순서대로 Hit체크가 되기 때문에 버튼앞으로 이미지가 나와있으면 입력이 되지 않습니다. 해결방법은 비저빌리티에서 옵션을 설정해주면 됩니다. Unreal 짚라인 만들기 Unreal 짚라인 핵심은 포탈과 같습니다. 하지만 다른점은 포탈은 실시간으로 이동할 위치가 바뀌는 반면에 짚라인은 이미 위치가 정해져있다는 것입니다. void UParkourComponent::JumpEvent() { if (ParkourType == EParkourType::EPT_ZIPLINE) { //짚라인 종료시 FLatentActionInfo Info; Info.CallbackTarget = this; Info.UUID = 0; Info.Linkage = 0; Info.ExecutionFunction = FName("ZiplineFinish"); UKismetSystemLibrary::MoveComponentTo( Character->GetCapsuleComponent(), Character-.. Unreal Throw Projectile 경로 만들기 (Spline) 수류탄을 던지는 준비동작때 경로가 나타나게됩니다. 이 경로는 Spline을 사용하여 제작하였습니다. 동작되는 함수입니다. void UCombatComponent::ThrowDraw() { if (Throwing) { if (Character) { //등록되어있는 스플라인 포인트 초기화 USplineComponent* Spline = Character->GetSplineThrowComponent(); Spline->ClearSplinePoints(); for (int i = 0; i DestroyComponent(); } SplineMeshThrows.Empty(); //수류탄의 시작위치와 타겟방향을 가져옵니다.. Unreal 양방향 스플라인 이동 Spline을 사용해서 포탈을 만드는 방법을 정리했습니다. 핵심은 Spline의 GetTransformAtDistanceAlongSpline 함수를 사용하여 갈수있는방향까지 위치를 구하고 이 위치로 이동합니다. FTransform GetTransformAtDistanceAlongSpline ( float Distance, ESplineCoordinateSpace::Type CoordinateSpace, bool bUseScale ) const 이 함수는 해당지점에 해당하는 Transform을 가져옵니다. https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Components/USplineComponent/GetTransformAtDistanceAlo.. Unreal Replicated 체크를 하지 않았을 때 체크를 하지않고 C++로 RPC처리를했을땐 처리가 된다 하지만 서버에서 값이 변경되었을 때는 처리가 되지 않는다. Unreal PostProcess 사용할때 함수들 PostProcess에서 사용자 지정 깊이 패스를 사용했습니다. 하이라이트 만들면서 사용한 함수입니다. class USkeletalMeshComponent* Mesh; Mesh->SetCustomDepthStencilValue(Idx); CustomDepth 스탠실값 변경 Mesh->MarkRenderStateDirty(); 변경내용 전파 스탠실값 기록하기위해 변경합니다. 프로젝트 설정 -> 렌더링 -> Custom Depth 검색 -> 커스텀뎁스 스텐실 패스를 Enabled with Stencil로 변경 Unreal Component nullptr 문제 스코프를 추가하고 스나이퍼라이플을 장착하려는데 장착이되지않아 디버깅으로 확인을해보니 component가 nullptr이었던 문제가 발생했다. https://forums.unrealengine.com/t/c-uproperty-actor-component-variable-being-set-to-null/413170/7 C++ UPROPERTY actor component variable being set to null I had the same problem, but changing tags in the UPROPERTY did not fix it. I ended up having to change the name of the component variable. PlayerEquipment = CreateD.. Unreal 샷건 계산식 샷건은 랜덤하게 분출하는 총알이여서 랜덤값으로 내보내야하는데 이 계산의 조건은 - 발사시 끝지점이 이미 구해져있어야 합니다. - 스타트 지점을 가지고있어야합니다. - 샷건의 범위(구) 를 미리 가지고있어야합니다. FVector Start 발사하는 위치 FVector HitTarget 타겟의 위치 FVector DistanceToSphere 어디까지 날릴것인지에 대한 거리 (사거리용도입니다) FVector SphereRadius 구의 크기 1) 먼저 타겟방향으로 노멀라이즈를 해줍니다. FVector ToTargetNormalize=(HitTarget-Start).GetSafeNormal(); 2) 구의 센터위치를 구해줍니다 FVector SphereCenter=TraceStart+ToTargetNormal.. Unreal Mesh(Bone)를 Physics로 흔들리게 해주는 방법 Mesh에 본이 잘 들어가있어야합니다. 1. 스켈레탈 메쉬 오른쪽마우스 클릭 -> 생성 ->피직스에셋->생성 및 할당 2. 모든 본에 대해 바디 생성 체크 3. 흔들리는 부분들을 제외한 캡슐들 삭제 (Root캡슐도 삭제해야된다면 오른쪽마우스클릭 -> 셰이프 추가해서 백업할거 추가후 삭제하면 Root삭제가 안됨 4. 메쉬에 맞게 셰이프 추가하면서 맞춰주기 5. 흔들릴 부분은 여유공간 주기 6. 스켈레톤트리에서 흔들릴 부분들을 전부 선택하고 디테일에서 피직스타입을 Simulated로 변경 이것만 하고 적용했더니 고무늘어나는것처럼 움직이는 효과가 되었는데 이 부분은 고급에서 관성 텐서 스케일을 수정하면된다. Unreal 발사체 사용시 충돌체 무시방법들 포스트한 이유 총알이나 로켓을 발사할때 오브젝트와 충돌해서 발사하자마자 바로 충돌하는 기괴한 현상이 발생 방법1. IgnoreActorWhenMoving(); 충돌체에서 무시할 액터를 추가하는함수 생성하자마자 충돌하고있기 때문에 가끔씩 충돌이 발생 방법2. OnHit에서 충돌검사할때 충돌한오브젝트가 본인인지 체크하기 OtherActor==GetOwner(); 여전히 HitEvent가 발생하지만 본인이니까 넘어가게 된다는 것 충돌은 안하게되지만 "발사체"라면 멈춰버린다. 방법3. 오브젝트에서 발사되는 위치를 앞으로 더 멀리 이동시키는 방법 완전한 해결은 아님 방법4. ProjectileMovementComponent 상속받아서 사용 정확히는 Component에서 HandleBlockingHit() ,Han.. 이전 1 2 3 4 ··· 8 다음