## 골드메탈님의 강의를 들으며 Visual Script 기본기를 정리합니다.
장애물 만들기
장애물로 쓰일 선인장을 Ground Group에 넣어 적당히 배치하고,
Box Collider와 Polygon Collider 를 활용하여 충돌 감지 기능을 넣어준다.
물리 충돌이 아닌 감지만을 위한 것으로 isTrigger 를 체크한다
장애물에 이동 매크로 넣기
Cactus 오브젝트에 Script Machine을 추가해주고,
Cactus라는 이름의 그래프를 만들어준다.
그래프에 MoveSide 슈퍼 유닛을 Subgraph로 추가해주고,
장애물 등장의 랜덤성 부여하기
장애물 등장의 랜덤성을 부여하기 위해 Random Range를 추가한다.
Random Range는 Int 와 Float 두가지가 있는데, 이번에는 Int 를 활용하는 유닛을 사용한다.
우리는 Random Range 값이 0,1 중 1이 나왔을 때에는 스프라이트와 collider 를 활성화하고, 다른 값이 나왔을 때는 비활성화해서 장애물이 등장하지 않도록 하고자 한다.
1. Min 은 0 Max는 2 로 설정하고, Equal 유닛을 추가한다. Max 값은 미만으로 포함도지 않기 때문에 0,1 만 선택지가 된다.
Equal 의 B 값에 숫자를 직접 넣으려면, Graph Inspector 에서 Numeric 을 체크해줘야 한다.
2. Sprite Renderer Set Enabled, 와 Collider 2D Set Enabled 유닛을 추가해준뒤, 아래와 같이 연결해준다.
이 Flow가 재미있는게, Bool 값이 true 인 경우, Sprite Renderer 와 Collider 2D Set Enabled에 각각 true값을 적용해주고,
false 인 경우 Set Enabled 에 각각 false 를 전달해주어서 굉장히 깔끔하게 구현이 된다.
if문을 쓸 경우 true일 경우와 else 일 경우 각각 행동을 지정하는 방식으로 구현하게 되는데,
if 에 익숙하다보니 위의 구성이 상당히 신선하게 느껴진다.
강의를 따라가면서도 그럼 false일때는? 지정안해주나? 하고 생각했는데, 플레이 시켜보고 흐름을 이해할 수 있었다.
Player 충돌 체크하기
player 그래프에 On Trigger 2D 를 추가해서 장애물과 충돌하는지 확인해보자.
아래와 같이 추가 후 플레이해보고, 콘솔에 로그가 뜨면 완료.
충돌 시 게임오버는 마지막에 구현 예정.