inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

7강 GE로 NonPlayer의 어트리뷰트셋 값을 초기화시키는 것에 질문이 있습니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

GE만 단독으로 동작시킬 때는 컨텍스트 핸들을 따로 만들어주고서 , 스팩핸들을 제작해주는데, 그에 반해 GA에서 GE를 동작시킬때는 스팩핸들만 제작해주는데, 그 이유가 GA가 이미 컨텍스트 핸들을 만들어줬기 때문일까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
임성우 댓글 2 좋아요 0 조회수 125

7강 정리했는데 검토부탁드려요

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

(사진)

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
임성우 댓글 1 좋아요 0 조회수 147

5강 정리해봤는데 검토부탁드립니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

간략하게 5강 실습내용들을 정리해봤는데 검토부탁드려요.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
임성우 댓글 2 좋아요 0 조회수 156

4강의 CreateTask 함수 질문입니다,

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

CreateTask 함수가 C++과 다르게 BP에서는 호출 시 내부에서 자동으로 알아서 ReadyForActivation함수를 호출해주네요. C++에서는 ReadyForActivation함수 호출 전에 맴버변수들을 초기화할 수 있지만 BP에서는 이것이 제한될까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
임성우 댓글 2 좋아요 0 조회수 185

2강에서 TimerAction함수 질문입니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

주석으로 코드 설명을 적어놓았는데요. 이게 맞을까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
임성우 댓글 2 좋아요 0 조회수 150

5.3 이후 버전 쓰시는 분들은 Granted Tags가 안나올때 해결방법

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

질문&답변 게시판에 이러한 글을 작성해서 죄송합니다. 저는 5.5버전으로 공부중인데 강의 중 39분 쯤에 Granted Tags에 태그 추가하는 부분이 있었는데 5.3버전 이후부터는 없어가지고 저가 찾은 방법을 나중에 저 처럼 공부하시는 분들이 해당 부분에 막힐까봐 여기서나마 적고싶었습니다. 문제가 된다면 해당 글을 삭제하겠습니다. 5.3 이후 버전에서는 Tags가 Components에 통합되면서 Component를 이용해서 추가해야합니다. 5.3버전일 경우 Components - " Target Tags Gameplay Effect Component"를 추가해서 tag를 넣으시면 되고 5.4,5.5버전일 경우 Components - "Grant Tags to Target Actor"를 추가해서 tag를 넣으시면 됩니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
김근우 댓글 2 좋아요 2 조회수 408

SetWaitingOnAvatar함수의 호출 위치에 따라 영향을 주는지 궁금합니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

50:24쯤에 Ability Task의 Activate 함수 작성 구간에서 void UABAT_Trace::Activate() { Super::Activate(); SpawnAndInitializeTargetActor(); FinalizeTargetActor(); SetWaitingOnAvatar(); } 로 하셨는데 void UABAT_Trace::Activate() { Super::Activate(); SetWaitingOnAvatar(); SpawnAndInitializeTargetActor(); FinalizeTargetActor(); } 이렇게 SetWaitingOnAvatar함수를 먼저 Task수행전에 호출해도 괜찮은지 궁금합니다. SetWaitingOnAvatar 함수를 호출이유가 해당 작업이 아직 안끝났다는걸 ASC에게 알려주기 위해 Waiting상태로 만든다고 들어서 이게 가능하다 생각되고 실제로도 돌려보니 별 다른점이 없어서 물어봅니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
김근우 댓글 1 좋아요 0 조회수 175

2강 보고 요약 정리해봤는데 검토 부탁드립니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

ASC_Actor : ASC 부착된 액터. GA : ASC_Actor 가 아닌 이곳에서 기능을 구현. Tag : ASC_Actor 와 GA의 연결다리 (의존성 약화) [ Tag 사용법 ] <1> 공용 Tag 헤더파일 선언. (ASC_Actor , GA 모두 보유) ㄴ 두 태그를 정의함 ( 1.기본태그 2.활성화 유무확인 태그) <2> " FGameplayTagContainer 생성자(기본태그) " 로 태그객체를 만듬. <3> TryActivateAbilitiyByTag(태그객체) 다음과 같이 호출해 2번 태그가 부착되는 동시에 기능이 돌아감.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
임성우 댓글 2 좋아요 0 조회수 172

Gameplayability vs Gameplaycue

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

여러 계산식(방향 , 상태 체크 )이 들어간 hitreaction을 구현하려고 합니다. Gameplayability 과 Gameplaycue 중 어느 구현방식이 최적화와 서버 비용 절감에 도움이 될까요? GameplayAbility로 계산식을 구현하고 ability안에서 cue를 사용해 애니메이션을 실행시키는게 좋을까요? 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
dhwjdqls123 댓글 2 좋아요 0 조회수 107

콤보 애니메이션 몽타주의 MontageJumpToSection에 대하여

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

안녕하세요. 하나의 콤보 애니메이션 몽타주에서 섹션으로 점프하는 방식으로 강의 내용이 진행되고 있는데요. 강의 프로젝트 재확인하는 느낌으로 개인 프로젝트를 조금씩 진행하고 있는 중 콤보 공격을 넣기 위해 강의 내용따라 애니메이션 몽타주를 만들었습니다. JumpToSection 을 사용하게 되면 애님 몽타주 내부에서 해당 지점으로 바로 점프해버리다보니 점프 직전 프레임과 이후 프레임간의 모션 차이가 클 경우 상당히 눈에 띄더라구요. 그래서 각 콤보 공격의 단계를 개별 애니메이션 몽타주로 제작하고 다음 콤보 입력시 개별 애니메이션 몽타주 재생을 해봤는데 이 경우는 애니메이션 블렌딩이 되어 자연스럽게 이어지는것 처럼 보였습니다. 여기서 질문인데, JumpToSection 이 직전/직후 프레임간의 애니메이션 블렌딩이 불가능하다면 실제 프로젝트에서는 어떤 상황에서 사용하게 되는지 궁금합니다. 감사합니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
Kyoungsoo Nam 댓글 1 좋아요 0 조회수 128

PossessedBy() 함수는 싱글플레이에서는 호출되지 않나요?

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

PossessedBy 함수가 서버에서만 호출된다면, 싱글플레이용 게임에서는 어느 위치에서 Character 의 ASC 에 PlayerState 의 ASC 를 대입하는게 적절할지 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
댓글 2 좋아요 0 조회수 182

CommitAbility 함수 관련 질문

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

안녕하세요 교수님. 5.4.4 버전으로 강의를 듣고 있는데, 계속해서 Cost 옵션과 CoolDown이 적용되지 않아 이것저것 찾아보다가 ActivateAbility부분에 해당 코드가 있는것을 발견했습니다. if (!CommitAbility(Handle, ActorInfo, ActivationInfo)) { EndAbility(Handle, ActorInfo, ActivationInfo, false, true); return; } 해당 코드를 넣고 난 후 정상적으로 cost와 cooldown이 적용되었습니다. 해당 함수는 어떤 기능을 하는 함수인지 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
eric1306 댓글 2 좋아요 0 조회수 216

가스 입력함수 AbilityLocalInputPressed() , 태그

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

교수님 안녕하세요. 복습하려고 필요한 부분들만 보고 있습니다. 궁금한게 있어서요. (질문해도되나요? ) 가스용 입력함수가 따로 있다고 들었는데, AbilityLocalInputPressed() 함수는 사용하는데 어떤 장단점이 있는지 아시나요? 아레나 플젝에서는 입력바인딩은 네이티브함수로 다 되있어서요. 태그는 매틱마다 반드시 검사할수밖에 없을까요? 태그로 상태,조건을 하는데 너무 많이 쓰면 오버헤드가 생긴대서요. 아니면, 태그 사용을 어느정도까지 사용이 안전한지 디버깅이 될까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
eunjeong seo 댓글 2 좋아요 0 조회수 159

GA에서 Attribute를 가져올때 발생하는 C6011 Warning과 관련하여 질문드립니다.

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

안녕하세요 교수님. 좋은 퀄리티의 강의를 제공해주셔서 정말 감사드립니다. 저는 현재 언리얼 엔진 5.4.4, Visual Studio 2022 17.12.3 버전으로 강의를 수강하고 있습니다. 다름이 아니고 "6강 : 캐릭터 어트리뷰트 설정"의 35분 즈음에 Source와 Target의 AbilitySystemComponent를 가져오고, 해당 ASC에서 AttirbuteSet을 가져오는 부분을 구현하던 도중, 초록색 줄이 나오면서 C6011 Warning이 발생하였습니다. https://learn.microsoft.com/ko-kr/cpp/code-quality/c6011?view=msvc-170 이는 null포인터 역참조에 의한 경고임을 확인했습니다. 근데, SourceASC의 경우 checked 함수를 통해서 점검하고 가져오기 때문에 null포인터가 발생할 수 없지 않나요? 아니면 check함수가 unreal에서만 사용하는 함수이기 때문에 C++은 이를 인지하지 못하여 저렇게 디레퍼런싱 경고를 띄워주는 것일까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
eric1306 댓글 2 좋아요 0 조회수 129

[Part4-5강] ABGA_AttackHitCheck활성화가 안되는 문제

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

강좌를 따라하면서 동일하게 진행을 했는데 어째서인지 ABGA_AttackHitCheck::ActivateAbility Begin로그가 찍히지 않습니다. ABGA_AttackHitCheck의 생성자는 호출되는데 ActivateAbility가 호출되지 않는데요. 어느 부분을 체크해봐야 할까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
댓글 3 좋아요 0 조회수 173

TA

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

언리얼에서 어빌리티 시스템을 이용하여 구현중입니다. 플레이어가 도끼를 휘둘러 몬스터가 넉백되는 시스템을 구현할때 플레이어가 도끼를 휘두르는 것을 GA, AT, TA로 구현했습니다. (광역 공격) 현재 상황은 TA에서 AddForce로 몬스터를 넉백처리 해주는데, AddForce로 몬스터를 넉백하는 것을 몬스터의 넉백 어빌리티로 구현하는것이 좀 더 괜찮은 코드일까요? 아니면 기존처럼 TA에서 몬스터의 넉백을 구현하는 것이 나을까요...? 몬스터에게 ASC를 생성하고 어트리뷰트까지 달아준 뒤 넉백 어빌리티를 만드는거는 너무 과한 코드일까라는 생각이 들어서요.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
lionhas99 댓글 2 좋아요 0 조회수 139

멀티플레이 게임 구현시 어떤 부분을 고려해야 할까요?

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

어빌리티 시스템은 이제 어느 정도 사용가능한데 멀티플레이 게임 구현시 OSS이용 Steam 타겟입니다. 따로 고려해야 되는 부분이나 팁이 있을까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
lionhas99 댓글 2 좋아요 0 조회수 204

게임어빌리티를 멀티플레이로 동기화하는 방법을 알고 싶습니다.

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

PlayerState 클래스의 생성자에 ASC->SetIsReplicated(true);를 추가하고 캐릭터의 SetCharacterControl 함수에 if ( ! IsLocallyControlled ()){ return ;}를 추가한 뒤 캐릭터의 PossessedBy 함수에 SetupGASInputComponent();를 넣었는 데 이걸로는 공격 어빌리티가 완전히 동기화되지는 않더라고요 서버역할도 하는 클라이언트(A) 에서 공격키를 누르면 다른 클라이언트(B) 에서 동기화되는데 클라이언트(B)에서 공격키를 눌렀을 때는 아무일도 일어나지 않습니다. OnRep_PlayerState 함수 안에서도 어빌리티를 등록해줘야 하는 걸까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
WALKING 댓글 2 좋아요 0 조회수 189

안녕하세요. 프로젝트 생성시 GAS 관련 모듈이 나오지 않습니다.

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

새로운 환경에서 GAS를 실습하고자 프로젝트를 하나 새로 파서 GAS시스템을 적용하고자 하였습니다. 처럼 Gameplay관련 모듈을 넣고 빌드를 했는데 와 같이 관련 모듈이 나타나지 않는 상황입니다. 세팅시 추가적으로 해야할 일이 있을까요?? 강의 항상 잘 듣고있습니다. 감사합니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
이경택 댓글 3 좋아요 0 조회수 233

MSB3073 오류로 프로젝트 빌드가 불가능합니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

C4067 전처리기 지시문 다음에 예기치 않은 토큰이 있습니다. 줄 바꿈 문자가 필요합니다. C4668 '__has_feature'은(는) 전처리기 매크로로 정의되어 있지 않으므로 '#if/#elif'에 해당하는 '0'으로 바뀝니다. MSB3073 ""C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="C:\Users\Runner\Downloads\UnrealGAS1-10\UnrealGAS1-10\ArenaBattleGAS.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6). 안녕하세요, 강의 자료 깃허브를 통해 브랜치 10 의 프로젝트를 다운 받아 열어보려고 하는 데 빌드가 되지 않아 프로젝트 실행조차 되지 않고 있습니다. 아래에 해결을 위해 시도한 내용들도 함께 작성하니 도움 부탁 드립니다. 새해 복 많이 받으세요.^^ <시도한 내용들> Binaries 삭제 후 Generate, Visual Studio에서 리빌드/빌드 -> MSB3073 오류 발생 uproject에서 VisualStudioTools 플러그인 확인 후 1번 과정 재진행 -> 해당 플러그인이 없음을 확인했으나 여전히 MSB3073 오류 발생 언리얼 마켓플레이스(Fab)에서 Visual Studio Integration Tool 다운 후 1번 과정 재진행 -> uproject에 VisualStudioTools 플러그인이 존재했으나 여전히 MSB3073 오류 발생 다른 브랜치로 다운 받은 프로젝트 실행 -> 브랜치 1, 2 등 다른 브랜치의 프로젝트로 다운 받아 실행해도 MSB3073 오류 발생

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
당고 댓글 3 좋아요 0 조회수 1683

인기 태그

인프런 TOP Writers

주간 인기글