• Home
  • About
    • KKsDev photo

      KKsDev

      게임 프로그래머를 목표로 Unity, C#을 공부하고 있습니다.

    • Learn More
    • Email
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

내일배움캠프 51일차 TIL 심화 주차 시작

05 Oct 2023

Reading time ~1 minute

오늘 배운 내용

  1. 프로 빌더

  2. FSM (유한상태머신)



nbcbanner

프로 빌더

게임 개발 심화 강의 주차 강의에서 프로 빌더 패키지를 사용해 보게 됬다.

프로 빌더는 유니티 에디터 내에서 간단하게 원하는 크기, 모양의 3D 오브젝트를 제작하고 사용할 수 있게 해주는 패키지로

그 동안 간단한 프로젝트를 해보면서 나중에 원하는 모양의 오브젝트가 없으면 어떻게 해야될지에 대한 의문을 한번에 해결해주는 패키지였다.

정말 간단하게 원하는 모양의 오브젝트를 제작할 수 있었고 많은 기능들이 내장되어 있어 다 알지는 못하겠지만

프로젝트를 진행하며 유용한 기능들을 하나씩 사용해보고 대략적인 기능들을 파악하는게 좋을 것 같다.

FSM (유한 상태 머신)

FSM 패턴은 상태를 기반으로 동작을 관리하는 디자인 패턴이다.

저번 프로젝트에서 맡은 몬스터 AI부분을 구현할 때 FSM과 전략 패턴에 관한 내용을 찾아보고 생각을 하면서 만들었었다.


그런데 이번 주차의 강의에서 배우게 되어서, 저번 프로젝트에서 구현한 코드에 어떤 부분이 부족했는지 어떻게 더 좋은 방식으로

비슷한 기능들을 구현할지에 대해서 더 생각해 볼수 있는 시간이 된 것 같다.


저번 주차 때 구현한 코드들은 전체적으로 정리가 안되어있고 좀 더 기능들을 메서드별로 잘 나누지 못했다는 생각이 들었는데

이번 주차 강의에서 IState 인터페이스를 정의하면서 일단 메서드들의 이름을 보니 방향성이 틀리지는 않았던 것 같다는 느낌을 받았고,

내일 이어서 FSM에 대한 부분을 더 공부하고 저번 코드를 보완해나가면 이번 주 개인과제에서도 더 재밌는 기능을 구현할 수 있겠다

public interface IState
{
    public void Enter();
    public void Exit();
    public void HandleInput();
    public void Update();
    public void PhysicsUpdate();  
}

// 저번 프로젝트에서 정의했던 IBehaviour
public interface IBehaviour
{
    StrategyState State { get; set; }
    StratgeyType Type { get;}
    void OnRest();
    void OnAction();
    void OffAction();
    void OnCoolTime();
}



nbcthumbnail



TIL내일배움캠프스파르타 Share Tweet +1