묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크)
빌드 시 에러 문의
안녕하세요 빌드 시 아래 에러가 발생하는데 혹시 해결 방법을 알고 계실까요?Error C2338 static_assert failed: 'error STL1001: Unexpected compiler version, expected MSVC 19.40 or newer.' 구글링을 해보고 있긴 한데 혹시 해결 방법을 알고 계실까 하여 문의 드립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
언리얼 엔진 버전 5.3 이상으로 진행하는 경우에 몇가지 수정해야 하는 부분이 존재하는 것 같습니다.
첫번째로, 무한 무적을 제거하는 블루프린트 게임 이펙트인 BPGE_InvincibleRemove에서 기존의 5.3 이전 버전에서는 교수님이 제작해주신 동영상대로 진행해도 문제가 없지만,제가 사용하는 버전인 5.4 버전과 같은 5.3 이후의 버전에서는 해당 과정을 적용할 수 없었습니다.따라서 검색을 통해 다음과 같이 진행하였습니다.참고링크https://www.reddit.com/r/UnrealEngine5/comments/18h7wip/how_to_remove_gameplay_tags_with_a_gameplay/?rdt=35472 위와 같이 구성하여 확인한 결과, 무적 태그가 잘 삭제되고 무적이 해제되는 것을 확인하였습니다.정확한 방법은 아닌것 같지만 동작하는데 문제가 없기에 이 설정을 유지하고 있습니다. 두번째로, 광역 스킬을 담당하는 블루프린트 게임 어빌리티인 BPGA_Skill에서기존의 5.3 이전 버전에서는 쿨다운과 코스트에 연결될 GE를 연결만 해줘도 문제없이 동작하지만,마찬가지로 5.4 버전에서는 쿨다운과 코스트가 작동하지 않음을 확인하였습니다.검색을 해본 결과, 다음과 같이 진행하였습니다.참고링크https://forums.unrealengine.com/t/adding-cooldowns-to-abilities-with-the-gameplay-ability-system-in-5-3/1612390 기존의 쿨다운과 코스트에 사용하는 GE를 연결하고 이벤트 그래프에서 위와 같이 노드를 연결한 결과정상적으로 쿨다운과 코스트가 적용되는 것을 확인하였습니다. 혹시 더 나은 설정 방법이나 개선점이 있다면 무엇이 있는지 알 수 있을까요?추가적으로 캐릭터나 애니메이션에서 사용할 수 있는 물리 요소들을 Attribute Set에서 관리하는 것이 나은지, Character에서 관리하는 것이 나은지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
MSB3073 빌드에러, 플러그인 제거, 설치해도 빌드 안되는 문제
안녕하세요. 강의 잘 듣고 있습니다. 3강 이후 강의자료가 빌드가 안되는 문제로 질문 남깁니다.uproject에 플러그인 정보를 지워보기도 했고, 이미 설치가 되어있는데도 솔루션 빌드가 불가능하다고 에러메세지가 나옵니다. 다른 해결방법이 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
능력컴포넌트와 데이타어셋관련 질문입니다
안녕하세요.덕분에 너무 즐겁게 공부하고있습니다.마지막강의를 공부하려고 내용을 훑어보니, 이부분은 없을거같아 여쭤봅니다.가스에서 능력컴포넌트를 별개클래스로 사용하거나,데이타테이블이나 데이타어셋으로 사용도 권장되는지 알고싶습니다.첨엔 컴포넌트를 빼서,무브먼트나 회전컴포넌트처럼 부착시켜서 사용할줄 알았는데, 멤버클래스로 사용하는 방식인거같아서요. 그리고, 태그가 막강한것같지만, 제가 겪었던 개발팀에선 모두 테이블을 사용했던거같은데, 가스는 대량의 정보다발을 어떻게 받아들여서 사용하나요? 왜냐면, 작은 스케일의 게임에선 숟가락씻으려고 식기세척기 사는거같은 상황일거라,큰 개발팀 대상일건데, 분명 규모있는 데이타처리방식도 있을거같아서요.일부러 어제 다하려다가,아껴두고 오늘 공부하는데, 무척 설렙니다. 강의후반엔 앞으로의 지침도 있기를 기대합니다!
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
블프로 만든 이펙트
안녕하세요.블프로 만든 이펙트는 코드이펙트나,코드 능력(힛체크)과 아무 연관이 없고,독립적으로 어트리븃을 선택하고,연산타입을 지정후 ,능력블프에서 지정하는것 아닌가요? 데미지이펙트블프를 추가해서 연산타입이 다른 별로 확인하려고 하니,데미지가 안들어가서요.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
30분 이후부터 한동안 까만 화면나오는데요
안녕하세요. 자막만 나오고,화면 안나오는 구간이 있습니다.제거에서만 그런건지 게시글을 봐도 이전사례가 없습니다. 도와주세요.ㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
WBP_HpBar의 Parent Class를 설정
강의 내용 중 WBP_HpBar의 Parent Class를 설정하는 부분에서, WBP_HpBar의 Parent Class를 ABGASHPBarUserWidget으로 변경하고 있는데, WBP_HpBar 위젯은 ArenaBattleGAS가 아닌 ArenaBattle 모듈쪽에 있는 것으로 보여서 ArenaBattle쪽 위젯이 GAS쪽 클래스를 부모로 가지는 건 모듈 간 의존성 부분에서 좋지 않은 방법이 아닐까? 라는 생각이 들었어요. 해당 부분은 강의 내용처럼 저렇게 설정해도 문제가 없는 것인지, 혹은 더 좋은 방법이 있을지 궁금합니다!
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
5강 HitCheck문제
5강을 듣고 수행하면서 마지막 테스트할 때 점프를 하기 위해 스페이스바를 누를 시 점프는 수행되지 않고 hitcheck만 계속해서 수행되는 것 같습니다. 코드와 tag등 똑같이 따라하였는데 무엇이 문제일까요?위의 사진처럼 스페이스바를 꾹 누른 상태로 돌아다니면 점프 대신에 이렇게 나옵니다
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
캐릭터의 기본 설정 값을 Attribute와 연동
캐릭터에서 기본적으로 제공되는 MaxWalkSpeed나 JumpZVelocity같은 값들을 AttributeSet과 연동하여 사용할 수 있는 방법이 있을까요? 이런 값들도 GAS를 통해서 조정할 수 있다면 좋을 것 같아 질문 남깁니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
ASC GiveAbility 질문드립니다.
안녕하세요.저는 무기 아이템 액터가 무기를 휘두르는 몽타주를 재생하는 어빌리티를 멤버 변수로 갖고 있게 하고,해당 무기를 장착했을 때 무기의 어빌리티를 매개변수로 전달받아 어빌리티를 활성화 하도록 구현하려고 하는데요.이 경우에 어빌리티를 활성화하고 등록된 어빌리티를 다시 제거해 줄 필요는 없을까요?같은 무기를 여러번 장착할 수도 있을텐데 ASC에 같은 어빌리티 여러 개가 등록되어 있는게 문제가 될 수도 있지 않나 해서 질문드립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
MSB3073 빌드 에러
안녕하세요 수업자료 비주얼 스튜디오에서 빌드시 아래 에러가 발생하는데 무엇이 문제일가요?Severity Code Description Project File Line Suppression State DetailsError MSB3073 The command ""C:\Program Files\Epic Games\UE_5.1\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="F:\Workspace\Unreal5\Inf_LDW_GAS_Lecture2\ArenaBattleGAS.uproject" -WaitMutex -FromMsBuild" exited with code 6. ArenaBattleGAS C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 44
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
블록 태그 관련 질문
안녕하세요. 블록 태그 관련해서 질문 있습니다.강의에서는 각 어빌리티별로 블록할 태그들을 설정하고 있는데 이런 방식이라면 새로운 태그를 추가할 때마다 기존에 있던 어빌리티들의 블록할 태그에 해당 태그를 일일이 추가해줘야 하잖아요? enum 클래스를 사용해서 state패턴으로 구현하는 방법처럼 더 나은 방식은 없을까요?일반적으로 게임에서는 두 가지 이상의 행위를 동시에 하는 것은 막고 있기 때문에 블록 태그 같은 부정문 방식보다는 state패턴처럼 긍정문 방식이 더 좋을 것 같아 질문합니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
59:34 게임플레이 이펙트 cost 기능
cost로 지정된 값이 소모값보다 작으면 자동으로 GA를 실행시키지 않는것이 추가가 되있는건가요? 남아있는 에너지가 30보다 작으면 실행 할 수 없게 설계가 되어있는 걸까요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
게임플레이 태그 컨테이너, GAS와 기존 액터컴포넌트 차이
안녕하세요. 두 가지 질문이 있습니다.게임플레이 태그도 FName으로 구현되었다면 해시테이블 자료구조로 저장되어 있을 것이라 예측했는데 계층구조를 지원하는 검색기능을 제공한다면 게임플레이태그 컨테이너는 Trie같은 자료구조로 만들어져 있는 건가요?GAS를 사용해서 구현하는 방식이 액터로부터 기능을 분리하는 것인데 기존에 언리얼에서 제공하는 액터컴포넌트와 차이가 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
ConfirmTargetingAndContinue에서 브레이크가 걸립니다. [해결됨]
제목처럼 디버그 모드 실행시여기 check문에 걸리는데요 코드를 비교해 봐도 어디가 문제인지 모르겠습니다..
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
private를 잘 안 쓰시는 이유?
교수님 강의를 듣다 보니 private를 써도 되지 않나 싶은 곳에서도 전부 protected를 쓰시는 것을 보고 궁금증이 생겼습니다 예시로 4강에서 JumpAndWaitForLanding 클래스를 만들 때도 이 클래스는 제 생각에 더 파생되지 않을 것 같은데... 생각이 들었지만 protected를 사용하셨습니다 파생 클래스가 없다면 둘이 큰 차이는 없을 것 같다고 생각하지만 protected를 많이 사용하시는 이유와 스토리가 궁금합니다
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
SetupGASInputComponent 호출 부분 질문입니다.
PossessedBy 함수가 서버에서만 호출되기 때문에 인풋에 관련된 함수를 다시 호출해 주는 것은 이해했는데요, SetupPlayerInputComponent 가 아닌 SetupGASInputComponent를 호출하는 이유가 뭔가요? GAS에 관련된 인풋 함수만 중복 호출 하는 이유가 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
언리얼 기본 제공 태스크 UAbilityTask_WaitTargetData
언리얼이 기본제공하는 태스크들이 정말 많아서 좀 둘러보다가 저희가 만든 AT_Trace랑 비슷한 "UAbilityTask_WaitTargetData"라는 게 있어서 좀 살펴봤는데요. Activate()에 있는 구현 내용이 중복되는 BeginSpawningActor()와 FinishSpawningActor() 함수가 있는데 임의로 블루프린트에서 이 태스크를 실행해보니 Activate()가 실행이 안되고 이 두 함수가 실행되는 걸 봤습니다.이런 식으로 그냥 실행해봤는데요.사실 코드에선 어빌리티에서 CreateTarget()을 하고 ReadyForActivation()까지 호출해야 AT의 Activate()가 실행되는데 블루프린트에서는 이 노드 호출만으로 어떻게 AT가 실행까지 되는지도 잘 모르겠습니다. 거기에 UAbilityTask_WaitTargetData 처럼 Activate() 대신에 BeginSpawningActor()/FinishSpawningActor() 가 실행되는 이유도 알고 싶습니다....이 두 함수 존재의 설명은 엔진 주석에 나와있어서 어느정도 파악이 됐는데 문제는 코드에서든 블루프린트에서든 호출되는 조건을 잘 모르겠습니다...
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
어빌리티 태스크의 블루프린트 핀에 Async Task는 용도가 뭔가요?
찾아보려 했는데 정보가 잘 안 나오네요... +아, 그리고 블루프린트에서는 태스크 생성과 동시에 자동으로 ReadyForActivation 까지 호출되는 건가요??? 그러고보니 이 함수가 없네요
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
여러 대상에게 Effect를 전달하는 방법
AttackHit어빌리티의 스킬 공격 판정 결과 함수에서스킬 타겟 액터는 HitResult 대신 Actors 에 충돌된 액터들을 넣어서 보내주기 때문에 TargetDataHandle에 대상 액터들이 들어있을 텐데요. 이를 엔진 내부에서 사용하여한번의 ApplyGameplayEffectSpecToTarget() 호출로 각 대상 액터들에게 모두 Effect를 적용하는 걸로 예상하고 있습니다. 그런데 ASC에서 직접 BP_ApplyGameplayEffectSpecToTarget()을 할 때는 대상 액터가 여러개라면 For문으로 직접 여러번 호출할 수 밖에 없어 보이는데, 혹시 ASC도 Effect를 한번 호출로 여러 타겟에 적용하는 함수가 있나요??