inflearn logo
강의

講義

知識共有

ランダムに従う!

カットシーン

10:58 코드가 작동하지 않습니다.

515

Yj Shon

投稿した質問数 17

1

앞서 Instantiate 함수로 좀비를 spawnPoint에 랜덤으로 생성하는 것은 가능합니다.

10:58 에서 EnemySpawn 함수를 영상대로 작성하는 경우 좀비가 등장하지 않고 오류가 발생합니다.

NullReferenceException: Object reference not set to an instance of an object

GameManager+<EnemySpawn>d__20.MoveNext () (at Assets/_My/Scripts/GameManager.cs:123)

UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <f7237cf7abef49bfbb552d7eb076e422>:0)

UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)

GameManager:Start() (at Assets/_My/Scripts/GameManager.cs:52)

 

다만 yield return new WaitForSeconds(2f); 아래에 코드를 작성하면 정상적으로 좀비가 랜덤 생성됩니다.

그대로 사용해도 되지만 원인을 추적하고 싶은데요 ㅜㅜㅜ

어느 부분을 점검하는 것이 좋을지 문의드립니다.

 

IEnumerator EnemySpawn()

{

//Instantiate(enemy, spawnPoint[Random.Range(0, spawnPoint.Length)].transform.position, Quaternion.identity);

yield return new WaitForSeconds(2f);

GameObject enemy = PoolManager.Instance.ActivateObj(4);

SetObjPosition(enemy, spawnPoint[Random.Range(0, spawnPoint.Length)].transform);

StartCoroutine(EnemySpawn());

}

C# unity

回答 2

1

Yj Shon

보내주신 링크로 diff해서 확인했습니다.

bool값이 다른 부분이 있어 수정했습니다.

카페에 방문한 김에 가입도 했습니다. ㅎㅎ

0

doublelsoft2276

흠... 이상하네요.

NullReferenceException: Object reference not set to an instance of an object

이 오류는 해당 오브젝트를 등록하지 않아서 비어있는 경우 발생되는 오류 입니다.

GameManager+<EnemySpawn>d__20.MoveNext () (at Assets/_My/Scripts/GameManager.cs:123)

이 오류는 코드 123번째 줄에 해당 오브젝트가 비어있다는 말이고

GameManager:Start() (at Assets/_My/Scripts/GameManager.cs:52)

이 오류는 첫 호출되는 부분인 코드 52번째 줄을 의미합니다.

 

즉 마지막인 123번째 줄에 있는 코드에서 해당 오브젝트가 비어있어서 오류가 났다는건데

처음 Instantiate(enemy, spawnPoint[Random.Range(0, spawnPoint.Length)].transform.position, Quaternion.identity); 이렇게 작성한것이 되었다가

GameObject enemy = PoolManager.Instance.ActivateObj(4);

이 코드에서 해당 오브젝트를 받아오게되는데 여기서 문제가 있었다면

아마도 10:18 에서 +버튼을 클릭해서 좀비 프리팹을 등록하지 않아서 그런것이 아닌가 생각됩니다.

 

그런데

yield return new WaitForSeconds(2f);

GameObject enemy = PoolManager.Instance.ActivateObj(4);

SetObjPosition(enemy, spawnPoint[Random.Range(0, spawnPoint.Length)].transform);

이렇게 작성하였는데 되었다는것을 보면 정상적으로 등록되었다는건데

이걸

GameObject enemy = PoolManager.Instance.ActivateObj(4);

SetObjPosition(enemy, spawnPoint[Random.Range(0, spawnPoint.Length)].transform);

yield return new WaitForSeconds(2f);

이렇게 작성하여도 문제가 없다는것입니다.

혹시 코드를 다 작성한 다음 주석처리하고 저장을 하지 않아서 그런건 아닌지......

그거 말곤 정확하게 답을 드릴 수 없는것 같습니다.

0

Yj Shon

혹시 해당 스크립트 파일들만 전문을 전달 주실 수 있을까요.

diff 로 확인해보려 합니다.

여기에서 Unity 안에서 세팅하는 것은 풀링 강좌부터 영상 파일을 다시 한 번 체크해보면

스크립트 든 설정이든 어딘가 제가 다르게 한 부분을 찾을 수 있을 것 같습니다.

 

1

doublelsoft2276

해당 강좌에 작성된 소스코드는 제 카페에 올려져있습니다

그대로 올려져있으니 확인하시면 됩니다

https://m.cafe.naver.com/dl95/87

카페 주소입니다

19강 15_2) 템블릿에 List가 없는경우는 어떻게 해야되나요?

0

8

1

Spider와 Monster 구현 방식을 구분한 이유

1

14

1

Sprute Sheet에 대해서.

0

13

1

15강 12-3) 값 제출후 mysql 저장이 안됩니다.

0

12

2

혹시 언리얼 CEF기반 UI에서 한글 입력 오류 해결하신분??

0

29

2

ResourceManager 클래스 관련 질문

1

33

2

FBX chan 모델

0

25

1

크레딧 충전

0

40

1

수업자료 관련

0

28

1

첨부된 수업자료와 강의 내용이 다릅니다.

0

51

2

몬스터 HP 게이지바 이동

0

23

1

TextMeshPro용 커스텀 한글 2350자.txt 파일은 어디에 있나요?

0

27

1

02-02 NavMesh 응용 캐릭터 멈춤 문제

0

34

1

02-02 NavMesh 응용 캐릭터 멈춤 문제

0

43

2

비주얼 스튜디오 2026

0

43

2

C#에서의 RAII

0

66

3

public string Title { get; set; } 에서 WFO1000 오류가납니다.

0

45

1

Scene 뷰에서 Enemy Entity가 보이지 않는 문제

0

49

2

Lessons 3 & 4 don't have subtitles unfortunately

0

39

1

3강 조준시 버그가 납니다.

0

115

1

6주차 질문입니다.

1

322

2

27:46 4강) 콘솔 에러가 발생했습니다

2

373

1

3강 31:42 private Rig 를 사용하기 위해서 using 구문을 추가해야 합니다

4

1278

3

2강 주의)2:49 에셋과 3:36 에셋이 다릅니다

3

409

1