모름

이번 튜토리얼 스터디에서 진행하게 된 내용은 유니티 심플 백엔드입니다.

 

간단하게 xampp를 이용하여 mysql 에 연동하여, 회원가입, 로그인, 서버타임 등의 데이터베이스와 같은 백엔드를 대략적으로 살펴볼 수 있는 튜토리얼입니다.

 

1~2화에선 XAMPP를 다운받고 DB를 만들고 데이터를 집어넣었습니다. MySql 에 아래와 같이 유저의 데이터를 입력했습니다. 

 

 

위 내용을 바탕으로 유니티 내에서 로그인 테스트를 진행합니다.

 

로그인 테스트

 

 

콘솔 창을 보면, 로그인 성공, 아이디는 맞으나 패스워드가 잘못된 경우, 아이디가 없는 경우로 나누어 디버그 로그를 찍어보았습니다.

 

유니티 스크립트 (Web.cs)

 

로그인 디버그는 위 클래스(Web.cs)에서 이루어집니다. WWWForm의 AddField()를 사용하는데, 딕셔너리와 비슷한 느낌입니다. "loginUser"와 "loginPass"는 MySql의 login.php 파일에 입력된 변수인데 이 값을 Form으로 입력해줍니다. 이 키값에 유니티에서 입력한 username과 password 값을 대응시켜준 후 SendWebRequest() 를 통해 연결된 loginUri 로 데이터를 보내주는 것입니다.

 

PHP 스크립트 (login.php)

 

앞서 유니티의 Web 클래스에서 보내진 데이터는 login.php 의 loginUser, lohinPass 변수로 이동합니다. 상단 이미지의 9번째 줄이 받는 곳입니다. 그리고 데이터베이스에 username과 loginUser(유니티에서 보낸 username)이 동일할경우 password의 동일성을 검사하고 로그인 성공유무 텍스트를 찍어줍니다.

 

유니티에선 downloadHandler.txt를 통해 php스크립트의 텍스트를 가져와 디버그 로그로 보여주게됩니다. 

 

유저 등록

 

 

다음으로는 유니티에서 유저를 새롭게 등록해봅니다.

 

php

INSERT문으로 데이터베이스에 loginUser, loginPass를 등록합니다. 이 값은 앞서 로그인과 동일하게 유니티에서 값을 가져오게됩니다.

 

유니티 함수

Login()과 이름만 다르지 내용은 똑같은 RegisterUser() 함수입니다.

 

로그인 UI

 

그럼 지금까지 스크립트 내에서만 진행했던 내용을, 유니티 게임씬으로 빼서 UI로 동작할 수 있도록 합니다.

 

 

InputField를 두 개 생성해줘, username과 password를 입력받습니다. 그리고 loginButton을 누를 경우 이벤트 발생을 감지하면 앞서 설명한 Login()함수를 실행시킵니다.

 

로그인 함수

username과 password는 위 함수를 타고 login.php 의 스크립트를 타게됩니다.

 

 

그럼 위와 같이 데이터베이스를 확인하며 로그인 성공 유무를 판단할수 있게 됩니다.

 

지금까지 unity easy backend 3~7/14 였습니다.