KeiStory

Unity Visual Scripting 기초 - 2D 캐릭터 좌우로 이동하기

 

2D 게임화면에서 캐릭터를 좌우로 이동하게 하는 Visual Scripting을 작성하는 방법입니다.

 

Speed 변수 추가

먼저 움직일 캐릭터에 Add Component 하여 Visual Scripting > Script Machine 을 선택하여 추가합니다.

Variables에 speed (float) 4 로 변수를 추가해 줍니다.

이 변수는 움직였을 때 얼만 큼의 속도로 움직일지 결정하게 됩니다.

 

Script Machine Component추가

Script Machine의 Graph 에서 New 버튼을 클릭하여 원하는 위치에 원하는 이름으로 지정해

Visual Scripting 파일을 하나 만듭니다.

Visual Scripting 파일이 만들어 지면 아래 Edit Graph 버튼이 활성화 되며 이를 클릭합니다.

--- 여기서 부터 Visual Scripting Graph 창에서 작업합니다. ---

Movement 변수 추가

이동값을 가져오기 위한 변수를 추가해 줍니다.

왼쪽창의 하단에 Graph 탭에서 Movement (float) 변수를 추가합니다.

 

이동값 계산

먼저 좌우로 움직였을 때 움직임 만큼의 값을 가져오는 Node를 추가합니다.

Node 추가는 마우스 우클릭하면 추가할수 있는 Node 목록이 나타납니다.

get axis 로 검색하여 아래처럼 검색된 항목(Input:  Get Axis (Axis Name))을 선택합니다.

아래처럼 추가가 되면 Axis Name에 Horizontal을 입력합니다.

Horizontal 값은 좌우로 이동한 값으로 X 축을 의미합니다.

 

여기에서 움직에 대한 속도를 곱하여 이동 거리를 계산해 줘야하는데

앞서 추가했던 speed 항목을 가져와 좌우 이동한 값에 곱해야합니다.

Get Variable 항목은 Node 조회 시 Variable > Object로 들어가면

아래처럼 앞서 추가한 speed Variable 항목이 나타납니다.

(만약 Get speed가 나타나지 않는 경우 get Variable 노드 추가후 speed 를 입력하면 됩니다)

Multiply Node 도 Multiply 로 검색하여 아래와 같은 항목을 선택하여 추가합니다.

위 Node 들이 추가되었으면 아래처럼 Node 를 연결해 줍니다.

 

계산된 이동 값 반영

연결해 준 덕분에 Multiply의 output으로 곱한 결과 값이 도출됩니다.

이 값을 바로 Movement Variable 에 설정(Set)해 줍니다.

Movement 항목을 Graph 화면에서 추가하였으므로 Node 검색 시 Variable > Grpah로 들어가면 찾을 수 있습니다.

아래처럼 노드를 연결해 주고 On Update와 Set Variable(Movement)를 연결해 줍니다.

이제 움직여질 만큼의 값이  Movement  에 설정되었습니다.

이제 이값을 실제 캐릭터에 반영해야 합니다.

2D 캐릭터의 좌우 이동이므로 X 축 값만 변경하면 되므로

현재 캐릭터의 좌표의 X 값에 위에서 계산한 Movement 값을 설정합니다.

아래처럼 Node 를 연결합니다.

여기에서 Vector 2 Create Node의 새로운 좌표 X 값으로 Movement 값을 연결하고

Vector 2 Create Node의 새로운 좌표 Y 값으로  Rigidbody 2D Node (Get) 를 이용해

현재 캐릭터의 좌표값을 가져와 Vector 2 Get Y 를 이용해 Y 축값을 가져와 연결합니다.

이제 새로운 좌표 Vector 2 Create  를 현재 좌표  Rigidbody 2D Node (Set) Node 로 설정하면 됩니다.

전체적인 Visual Script 모습입니다.

 

결과

 

이상 Unity Visual Scripting 을 이용한 2D 캐릭터 좌우로 이동하는 방법이었습니다.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band