inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG

적 캐릭터 상태 머신 구현 (1/2)

기초적인 질문

107

양승근

작성한 질문수 39

0

현재 16강을 듣고 있는데요. 코드를 짜시는 형태가 대부분 c#클래스와 인터페이스를 구조로 해서 필요할 때 가져와서 사용하는 구조인 것 같은데요. 궁금한 점은 하이어라키에 있는 스크립트와 그냥 스크립트로만 존재하는 것은 어떤 차이가 있을까요?

 

질문이 이해가 잘 되지 않으실수도 있을 것 같은데요. 저는 거의 모든 스크립트를 만들어서 하이어라키 오브젝트 안에 넣어서 만들었거든요.

unity 네트워크 unity2d 유니티6

답변 2

0

양승근

컴포넌트로 추가하지 않는 C#클래스 스크립트들도 작동한다는 것이 새로워서요. 기초적인 질문인 것 같지만 클래스 그냥 폴더에 있는 스크립트들도 모두 플레이모드시 작동이 되는건가요? 원래는 하이어라키 상에 삽입된 것들만 작동된다고 생각하고 있었거드요.

0

이재현

이해하신대로 모든 스크립트가 게임오브젝트에 추가되지 않아도 특정 클래스에서 참조하고 있다면, 컴파일할 때 같이 컴파일이 됩니다. ~ 스크립터블 오브젝트가 대표적인 예라고 생각하시면 되세요.

0

이재현

안녕하세요. 양승근님,

우선 질문을 제대로 이해했는지 모르겠지만, 상태머신 구현할 때나 다른 코드 작성할 때 기본 Monobehavior와 인터페이스를 상속받아서 사용하는 부분에 대한 질문이신것으로 이해했습니다.

우선 C#은 다중 상속을 지원하지 않지만 Interface를 통해 구현할 수가 있습니다.

public class Enemy : MonoBehaviour, IDamageable, IInteractable
{
    ...
}

그리고 특정 클래스와 느슨한 결합(디커플링) 구조를 구현할 수 있습니다. SOLID 원칙중 인터페이스 분리원칙과도 부합하는 방식이라고 생각하시면 되시구요. 추후 코드의 확장 및 수정에도 용이한 장점도 있습니다.

어떤 부분의 코드에서 의구심이 드셨는지를 몰라서 원론적인 말씀만 드렸습니다.

 

 

리프레시 토큰

0

3

0

영상이 안나옵니다. 그냥 빈공간이에요

1

17

3

localhost : 3000 클릭하면 페이지를 로드하지 못함

0

17

2

클로드코드에서 진행할때 계속적인 질문이 뜹니다.

0

16

2

"도커 이미지 생성" 18:59부분에 텍스트 파일로 정리 된거는 어디서 볼수 있나요?

0

23

1

layout group의 종류 3가지 실무 적합활용이 궁금합니다.

0

20

1

aws기출문제 파트 문제 자료가 안보여서 질문드립니다

0

19

2

git 설치

0

33

1

링크 관리 기능 구현 실패

0

31

1

LAN, WAN, Braodcast

0

36

2

문제점

0

34

2

진도율 관련

0

31

1

IocpObject가 없어질 수 있는 이유에 대한 질문입니다.

0

49

2

6.0LTS, 6.3LTS 패키지 매니져 에러

0

147

3

캐릭터 중복 생성 문제

0

96

2

완강 후 궁금한 것

0

96

1

39강 질문

0

77

1

Default Player Prefab 파괴시 재생성

0

82

2

캐릭터 네트워크 애니메이션 질문 (29강의)

0

74

1

Warrior가 Gobin에게 달려가 충돌하면 Gobin이 뒤로 튀겨나가는 현상??

0

87

2

Warrior의 InputHandler.cs 의 OnEnable(), OnDisable() 메서드 부분에서 공격에 문제가 있는 것 같아요.

1

83

2

Netcode 사용시 운영관점 질문

0

92

1

캐릭터 이동 방식을 A* Pathfinding 에셋으로도 한번 부탁드립니다.

1

111

1

여기에 쓰인 기술이 적합할지 궁금하네요.

0

132

2