본문 바로가기

UDON 강좌

UDON Node 강좌 (2) : Transform으로 오브젝트 움직이기

이강좌는 U#을 쓰지 않는 분들을 위해 U#강좌와 별개로 제작되는 강좌입니다
하지만 UdonSharp만 설치하지 않을뿐 진행은 동일하기 때문에

설치는 U#강좌 1편을 참고해주세요

 

Asset 폴더에서 Udon Graph Program Asset 스크립트를 하나 만들어줍니다

파일을 만든후 더블클릭하거나 상단 메뉴에서 VRChatSDK -> Udon Graph를 켜주세요

그리고 Start 블럭을 꺼내줍시다

 

분명 Udon을 하다보면 시작에다 두는 블럭이 무슨 역할을 하는건지 Update와 FixedUpdate와 같은 블럭때문에 햇갈리시거나 궁금하실꺼라 생각합니다
그 부분은 아래 이벤트 정리 강좌를 참고해주세요

2020/04/09 - [UDON 강좌] - UDON 자주 쓰이는 이벤트 함수 정리

 

UDON 자주 쓰이는 이벤트 함수 정리

UDON에서 월드를 제작할때 한번이상은 쓰이게되는 이벤트 함수를 정리해보았습니다 void Start() {} - 스크립트가 실행될때 가장먼저 호출된다 - 변수값 선언, 내부 로직의 실행을 준비하는 작업을 수행하기 좋음..

codekiba.tistory.com

 

Start는 스크립트가 시작되고 한번만 실행되기 때문에 먼저 오브젝트의 움직임이 시작될 위치를 정해줍시다

Transform 컴포넌트를 따로 집어넣어주지 않고 Instance 상태로 두는 이유는
Instance 상태에서는 스크립트가 적용되어있는 오브젝트의 컴포넌트로 가져오게 됩니다
(일부 가져오지 않는 몇가지가 있지만 Transform은 가져올수 있습니다)

value도 값을 만들어주지 않고 직접 입력할수도 있습니다

 

생략하지 않고 만들게 되면 아래와 같습니다

 

이제 오브젝트를 지정한 위치로 움직이기위해 Vector3(XYZ) 변수를 만들어줍니다

Add Node -> Variable Vector3

값과 이름을 설정하고
변수값은 그래프 에디터를 켜서 값을 수정하지 않고도 값을 바꿀수 있게하기 위해 public을 채크해 줍니다

Get Position으로 현재위치를 가져오고

Get Variable로 위치를 가져온후
Vector3 MoveTowards를 생성해서 값을 넣어줍니다

그리고 움직일때 속도(MaxDistanceDelta)는 Float Multiplication으로 
speed * 시간속도(Time.deltaTime)을 곱해줍니다 해줍니다

 

사칙연산은

더하기는 Addition 

뺄셈은 Subtraction

곱셈은 Multiplication

나눗셈은 Division

입니다

 

그렇게 Vector3 MoveTowards에서 나온 Vector3값을 set Position으로 넣어주면 천천히 이동하게 됩니다.

 

이제 실행해보면 천천히 이동하게 됩니다

 

전체코드는 아래와 같습니다

AM2X227bOBCGX8XgtWjwKJEGcrM9LIoi3QJJfLMJBFIkA+3KUqBDGq+TJ+tFH6mvsKM4dpxa9RpeB6htGKJMipxv5p8Zf//6bYFuTdF5NPlzgUJXFJ/MDAbooszb+bvyOi/9eW3KJlT1bJymjW/Tm6rJ27wq03Rj0tRnbVXzND2bN62fTavcoQh18D1BsfNCBKaxkjTGgtEEG6czHCvDBWGGEydh8uq5aLJAd2jCEzYmEZqjCWZMjclDhMrK+YsPbxs4LIIF1gpDFGVYaUqwCJJgy6jFTtmYa0uCtuGeoKsIhaL6sl54tXzQtDe7ebS76+34w/4FNkyXMBYoL5vWlJn/8BZN+r2bts7L66efEXqIDlt21S/c4LzEdQZzCg98q5v0tCva/KbIM7OEvDnj5eDFaE2b2iCDix222lksEiGx5YpgKZNEKqcNj/U2bcxj8oSbiSHYnhsvk0Cwdi7BgnuLraUBKyEdcSHEnukt2MdAvTRyvLQyGs2arKqL3Eajqa8bMOAEjtu/o9EbINfV/qT0XVubIhp97ixw/Ojn59XfvjyxSWJkJmOqufBE6Xt5NDduyiWf9Z68BqU4X7SmH//EVfswHXCV7OXw6CqxpYvd/Hcde0Pl1/+h8rUBWZxIzTKJA1xgoRXHmisIOJEFeHlLyICyMaSBlbQpZ9vRdvwg2umxJ6vA8NPq1p9XX0ztmsHsNnDrpSJ3sNonWw2w6tX4c1T7OABUGSGtFU2Uc1jDdpCDTQZBp2DIYyNNiB3R5HHiPunjVXR+sBaPJOHfIeinps6N3VDoPth2B/i2RF8jvldJ8vHmkZOkiWkMVRo7ZhkWVBmILpZhQTgVMlitpN6muSK5SxF7PXkb7nNfwHU8VKqeP8cHvWHO+MmeaLR5801V+9PKdX2tWsEn+8IvAeD94hLdXcLesOASzddX/yyvHg4M+FeMkHNTQ8X4vHLT/zrfb1VVeFMe+YA1bPHrHeu9KZpDz7WtuHe3vmzT9/mddxc3zrTPSUxK6yUVAXMLYhMiodgGw7FwUlNBnKCJ3Z3EBhrwH7rqvXr8A9uRg/50GOWotEZjwj3rK6PGRhPI3IZAVZQmc3QouQhG1tlFDTbCv1LpG46Bs9bU7RqEy5RlzAgcSOzB50SAZzKOOdcsgcYz5szs9v4AiB+8vxfsbe9fPfwL