인프런 커뮤니티 질문&답변

Wind mill님의 프로필 이미지
Wind mill

작성한 질문수

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

보스와 인공지능

보스와 인공지능에서 질문있습니다.

작성

·

550

·

수정됨

0

안녕하세요.

보스와 인공지능에서 보스의 캐릭터가 영상처럼 공격을 하고 다시 찾고 하지 않습니다.

혹시 몰라서 보스와 인공지능의 프로젝트파일로 열어서 확인해보아도 동일한 현상이 발생하였습니다.

그래도 혹시 몰라서 코드와 파일을 복사 붙어넣기해도 동일한 증상이 발생하였습혹시 짐작되는 부분이 있을까요?

Movie_020.gif

 

추가 정보
MonsterController 의 UpdateController가 작동이 안되는 것을 확인하였습니다.


BossController 의 UpdateMoving도 작동안되는 것을 확인했습니다.

Play 와 CrossFade 도 같은 증상입니다.

답변 7

0

수업 내용 중 BossController에서 OnDamaged 함수에 데미지를 1로 임시로 바꾸는 부분이 있는데,

혹시 해당 부분이 누락 된 거 아닐까요?

 

데미지를 감소시키면 다른 상태로 넘어가는게 보입니다

0

저도 동일한 현상있어서 확인해봤는데 저렇게 움찔움찔하는게

죽는 애니메이션 같거든요.

그래서 SkillData.xml에서 데미지를 줄이니까 공격 모션등이 다 보이긴 합니다.

데미지 10으로 줄여도 빨리 죽는거보면 데미지가 엄청 빠르게 들어가는거 같은데...

 

0

이거 해결 방법을 찾았습니다.

지금 BossController에서 MonsterController를 상속받고 있는데 CreatureState가 갱신이 안되는 거더라구요.

그래서 BossController에서 그냥 재정의 해줬습니다.

#region State Pattern

Define.CreatureState _bossState = Define.CreatureState.Moving;

public override Define.CreatureState CreatureState

{

get { return _bossState; }

set

{

_bossState = value;

UpdateAnimation();

}

}

#endregion

이것만 BossController에 추가하면 해결 됩니다.

0

안녕하세요 ! 지나가던 사람1입니다.

제가 보기엔 분명히 어딘가에 잘못하신부분이 있을거에요
저두 안되길래 브레이크포인트 잡아가면서 디버깅해본결과 습관적으로 스크립트 기본포맷 start update를 안지워놨더라구요 구조 자체가 상속에 상속에 상속에 상속이다보니까 사이에 겹치는게 있으면 그 위에껀 다 씹히는 문제가있었던... 화이팅입니다.

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

위 내용만으로는 저도 알기가 힘듭니다.
강의 파일도 안 된다는 말씀이실까요?

안 될 때는 원인이 다양하기 때문에
꼭 코드가 아니라도 몬스터 프리팹에 MonsterController에 붙었는지 등
다양한 각도로 확인이 필요합니다.

일단 코드에 들어오지 않는다는 것을 확인했으면,
몬스터의 초기화 코드는 실행되는지,
스폰 코드를 확인해시는 등의 단계를 밟아보시면 되겠습니다.

Wind mill님의 프로필 이미지
Wind mill
질문자

샘플 프로젝트파일을 그대로 실행했는데도 안되더라구요

Wind mill님의 프로필 이미지
Wind mill
질문자

샘플파일이 작동되는지 확인 부탁드립니다..

Rookiss님의 프로필 이미지
Rookiss
지식공유자

안녕하세요
제 환경에선 다시 받아서 테스트 해봤는데 정상적으로 동작하는데요.
UpdateController()가 실행이 안 된다면,
해당 부분에 BP를 걸어보시기 바랍니다.

void Update()
{
UpdateController();
}


현재 코드는 부모 클래스인 BaseController의 Update에서 해당 부분을 호출합니다.
Update 함수를 MonsterController에서 정의를 하면,
부모 클래스의 Update 함수는 호출되지 않는데요.

따라서 MonsterController에 Update가 없는게 맞는지 확인해보시고,
그래도 안 된다면 버전에 따른 버그 이슈로 보이니

void Update()

{

UpdateController();

}

이 부분을 직접 MonsterController에 넣어보세요.

0

Wind mill님의 프로필 이미지
Wind mill
질문자

답변 부탁드립니다 ㅠㅠ

혹시 이 질문 해결 되셨나요??

Wind mill님의 프로필 이미지
Wind mill
질문자

아뇨 아직 해결 못했습니다

-2

안녕하세요 Wind mill 님, 인프런 AI 인턴이에요.
문제를 파악하기 위해서는 코드와 파일을 직접 확인해야 더 정확한 도움을 드릴 수 있습니다. 현재 상황에서는 비디오나 이미지로 제공된 정보만으로는 원인을 짐작하기 어려울 수 있습니다. 해당 코드와 파일을 개발자 커뮤니티나 포럼에 질문하여 도움을 받으실 수 있습니다. 개발자들은 코드를 직접 확인하고 원인을 파악할 수 있는 전문가이므로, 더 나은 답변을 받으실 수 있을 것입니다. 감사합니다!

Wind mill님의 프로필 이미지
Wind mill
질문자

코드는 보스와 인공지능에 있는 코드랑 동일 합니다.

혹시 CreatureController에 있는 Update는 지우셧나여

Wind mill님의 프로필 이미지
Wind mill

작성한 질문수

질문하기