SlideShare a Scribd company logo
1 of 51
Unity3D 와 웹 통신
작성자 : 김현욱
목차
1. 유니티로 게임만들때 웹까지 해야해?
2. 웹통신을 위한 기본 지식
3. 개발환경 설정
4. DBMS 설정 및 작업
5. 웹 설정 및 작업
6. 유니티 작업 및 최종 테스트
7. 참고사항
8. Q&A
1. 유니티로 게임만들때 웹까지 해야해?
유니티로 게임만들껀데…
웹까지 왜 해야하나…-ㅅ-?
웹까지 해야한다니!! 으아 귀찮다~마ㅣ허;ㄷㄱㅎ
1. 유니티로 게임만들때 웹까지 해야해?
단 하나의 이유만 찾자면
데이터 보존!!!!
1. 유니티로 게임만들때 웹까지 해야해?
유니티에서 제공하는 PlayerPrefs를
사용하면 되는거 아님??
여기서! PlayerPrefs는.. 먹는건가요?
- UnityEngine.PlayerPrefs.SetString("stringKey", "abc");
- UnityEngine.PlayerPrefs.SetFloat("floatKey", 2.0f);
와 같은 형식으로 값을 설정하고 GetString 과 같은 함수로 저장한 값을
꺼내올 수 있으며, 저장되는 위치는 로컬에 물리적인 형태로 저장하므로
게임을 재시작해도 마지막에 저장한 값 그대로 가져와 사용할 수 있음.
1. 유니티로 게임만들때 웹까지 해야해?
- PlayerPrefs를 사용해서 저장해도 됨.
- PlayerPrefs을 이용해서 게임에 적용할 모든 데이터를 로컬에 저장할
수는 있겠지만, 보안에 취약해지고 관리적인 차원에서도 서버에 데이
터를 저장하는 것이 올바른 선택!
- (PlayerPrefs를 사용하여 데이터를 저장할때, 암호화하여 저장할수는
있어도.. 암호화된 데이터 자체가 로컬상에 있게 될 경우 서버보다 안
전하지 않음!)
- PlayerPrefs를 사용하는 것은 보안과는 상관없이 아주 간단한 데이터
저장을 할때 선택지로 고민해볼수 있음.
2. 웹통신을 위한 기본 지식
그럼 웹으로 통신해서 데이터를
어떻게 저장해야..?
2. 웹통신을 위한 기본 지식
- 필수 지식
1. 데이터 저장을 위한 전체 플로우 개념
2. DBMS 와 웹에 대한 얇은지식 은 뻥!!
2. 웹통신을 위한 기본 지식
Unity WEB DB
Unity WEB DB
저장
출력
2. 웹통신을 위한 기본 지식
DBMS 란?
- DataBase Management System의 약자… 인지는 불확실 ㅋㅋㅋㅋㅋ
- 액셀처럼 컬럼과 데이터를 2차원형태로 저장, 관리할 수 있는 기능을 가진 응
용프로그램.
- 오라클, MSSQL, MY-SQL 등 많이 들어봄직한 단어들이 DBMS를 지칭.
- 무결성, 원자성, 일관성, 고립성, 영속성..등 특성을 나타내는 단어들이 있으나!!
DBA가 아닌이상 이런거 필요없고 우리는 유니티프로그래머
이므로..!!! 핵심만 보자면.. 데이터를 영구적으로 안전하고 안정적으로 관
리하기 위한 프로그램이 DB다~ 라고 생각하세요!
2. 웹통신을 위한 기본 지식
웹이란?
- 설마…모르시는 분은 없겠죠?! Pass!!
3. 개발환경 설정
그렇다면.. 우리가 원하는 방식으로
데이터를 저장하고 불러오기 위해
어떻게 개발환경을 구성해야 하는
것인가!?
3. 개발환경 설정
1. DBMS
- DBMS 설치(Oracle)
2. WEB
- 순수 JSP만 사용.
3. Unity3D
- 이미 Install 완료! XD
※ 보통 MY-SQL을 선택. 무료이기 때문.
※ WEB은 잘 모르지만 PHP로 많이 하는듯 함.
※ JSP로 구현하는 경우라도 실제 상용화버젼으로는 앞으로 테스트하는
방식으로 절대 사용하지 않음.
※ 그럼에도 불구하고.. DB와 JSP를 선택한 이유는… Why? 그마나 조금 아
는게 이것뿐인 절망적인 상황..ORZ
4. DBMS 설정 및 작업
DBMS 설치
- http://www.oracle.com/index.html 에서 다운로드.
- Oracle Database Express Edition 11g Release 2(무료) 설치.
- 설치시 데이터베이스 접속을 위한 비밀번호 설정만 유의하여 Next 로
설치 마무리.
4. DBMS 설정 및 작업
DBMS 설치
- http://www.oracle.com/index.html 에서 다운로드.
- SQL Developer 다운로드.
- 압축 해제시 즉시 실행가능.
- 실행 후 관리자 계정으로 접속
짧은 Oracle 정보
- 오라클 설치후 관리계정은 총 2개가 있는데, Sys, system 이 그 두개의 계정.
- Sys계정은 최종관리계정으로 마스터권한으로 가지고 있고, System 계정은 ..
- ..기억나지 않습니다. 그냥 sys가 짱임.
4. DBMS 설정 및 작업
SQL Developer 셋팅
- SQL Developer로 로컬에 설치된 DB에 접속
- 오라클의 경우 최종관리자 계정은 sys (system 계정은 sys계정과는 다르
게 일반 계정처럼 생각하면 됨)
- 설치중 설정한 암호로 db 접속.
- sys 계정으로 접속한 후, 테스트로 사용할 사용자 계정 생성. (테스트로
생성 및 사용할 데이터는 모두 사용자 계정에서 작업)
- 11시 방향 + 녹색 아이콘 클릭~
4. DBMS 설정 및 작업
SQL Developer 셋팅
4. DBMS 설정 및 작업
SQL Developer 셋팅
4. DBMS 설정 및 작업
SQL Developer 셋팅
4. DBMS 설정 및 작업
SQL Developer 셋팅
4. DBMS 설정 및 작업
SQL Developer 셋팅
커밋이란?
Oracle은 데이터를 입력후 커밋을 해야 최종적으로 데이터가 저장됨. 커밋전까지
는 오라클이 데이터를 가지고만 있음.
5. 웹 설정 및 작업
※ 데이터베이스의 무결성등을 위한 세부적인 설정이 반드시 필요함.
하지만 우리는 유니티 프로그래머잖아?
5. 웹 설정 및 작업
중간다리 역할을 해줄 웹 기반 작업을 하기 전에!!!
Form 이 뭔가요?
5. 웹 설정 및 작업
중간다리 역할을 해줄 웹 기반 작업을 하기 전에!!!
Get / Post 방식이 뭔가요?
5. 웹 설정 및 작업
Eclipse 설치.
- https://www.eclipse.org/downloads/ 에서 다운로드.
- JDK 설치. 버전은 SELF.
- 웹서버 설정을 위한 Tomcat 다운로드.
- 오라클 DB와 연동할 ojdbc14.jar 다운로드.
- 유니티에서 JSON 형태로 데이터를 받아야 하므로 json-simple-
1.1.1.jar 다운로드.
- 그외 기본적인 환경설정에서 문제가 생기면 구글신에게 기도드리세요.
※ 앞으로의 설명은 웹서버 및 웹프로젝트를 작성하기 위한 설정이 완료
되었다는 가정하에 진행.
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
5. 웹 설정 및 작업
웹 프로젝트 작성
6. 유니티 작업 및 최종 테스트
드디어 DB, WEB 설정이 모두 끝! 만세!!!!
하지만 마지막 과정인 유니티가 남았으므로 다음으로 넘어갑시다!
6. 유니티 작업 및 최종 테스트
NGUI를 이용한 기본 화면 구성
6. 유니티 작업 및 최종 테스트
테스트에 사용할 스크립트 작성
싱글턴 패턴을 사용하여 별도의 객체 참조
명령 없이 편하게 접근하도록 작성.
Get 방식 및 Post 방식 모두 구현.
Post 방식으로 데이터를 전달하기 위해
WWWForm 클래스를 사용하여
Dictionary 제네릭으로 데이터를 받아
Form을 구성.
6. 유니티 작업 및 최종 테스트
테스트에 사용한 스크립트 작성
웹에서 SimpleJson을 검색하면 SimpleJson.cs 형태로 C#스크립트를 받을 수있음.
해당 스크립트를 프로젝트에 넣긔!
6. 유니티 작업 및 최종 테스트
테스트에 사용한 스크립트 작성
테스트를 위한 버튼 스크립트 작성
6. 유니티 작업 및 최종 테스트
WWW 클래스에 대해.
isDone : 코루틴 내에서 yield return www 형태로 요청후 대기한 다음 response가 되면 isDone으로 체크
하여 후 처리를 진행할 수 있음.
6. 유니티 작업 및 최종 테스트
Hierarchy에 준비한 스크립트 및 필요한 객체 attach.
6. 유니티 작업 및 최종 테스트
원격접속을 통해 실제 DB 구성 및 JSP
작업 진행내역 확인.
테스트 진행.
7. 참고사항
- SSL적용된 URL 호출시 인증서로 인해 WWW 클래스로 데
이터를 가져오지 못함.
- 이로 인해 문제가 생길 경우 아래의 url을 참고하여 구현.
- https://github.com/andyburke/UnityHTTP
- 1인개발로 게임을 개발하는데.. 서버쪽 지식이 없음.. 이거
어떻게 해야하나..
- 프라우드넷
(http://www.nettention.com/ko/default.aspx) 상용 제품을
고려해보는 것도 하나의 대안이 될수 있음.
8. 질문의 시간이 왔어요. 여러분.
Q&A
Thank you.

More Related Content

What's hot

少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -historia_Inc
 
ゲームエンジンの歴史概要
ゲームエンジンの歴史概要ゲームエンジンの歴史概要
ゲームエンジンの歴史概要Takashi Imagire
 
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundleYusuke HIDESHIMA
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 Amazon Web Services Korea
 
New Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMNew Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMShotaro Suzuki
 
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기SangJin Kang
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターンTakashi Komada
 
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다Lee Dustin
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architectureJongwon Kim
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 
Substance Designer の使い方事例
Substance Designer の使い方事例Substance Designer の使い方事例
Substance Designer の使い方事例poko ponmaru
 
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミングUnity Technologies Japan K.K.
 
게임회사 실무용어 완전정복! 쿡앱스 용어정리집
게임회사 실무용어 완전정복! 쿡앱스 용어정리집 게임회사 실무용어 완전정복! 쿡앱스 용어정리집
게임회사 실무용어 완전정복! 쿡앱스 용어정리집 CookApps
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들영욱 오
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページCLARA ONLINE, Inc.
 
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
WkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べたWkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べたfirewood
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 

What's hot (20)

少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
 
ゲームエンジンの歴史概要
ゲームエンジンの歴史概要ゲームエンジンの歴史概要
ゲームエンジンの歴史概要
 
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
 
New Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMNew Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASM
 
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
 
エフェクトツール機能の実装例
エフェクトツール機能の実装例エフェクトツール機能の実装例
エフェクトツール機能の実装例
 
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
Substance Designer の使い方事例
Substance Designer の使い方事例Substance Designer の使い方事例
Substance Designer の使い方事例
 
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
 
게임회사 실무용어 완전정복! 쿡앱스 용어정리집
게임회사 실무용어 완전정복! 쿡앱스 용어정리집 게임회사 실무용어 완전정복! 쿡앱스 용어정리집
게임회사 실무용어 완전정복! 쿡앱스 용어정리집
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
 
WkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べたWkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べた
 
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 

Similar to 유니티3D 그리고 웹통신

웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018devCAT Studio, NEXON
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220Seomgi Han
 
웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1mangonamu
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께지수 윤
 
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)YoungSu Son
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐라한사 아
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
 [NEXT] Android 개발 경험 프로젝트 3일차 (Database) [NEXT] Android 개발 경험 프로젝트 3일차 (Database)
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)YoungSu Son
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기Miyu Park
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용jinwook shin
 
Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1SeungHa Eom
 
Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기Ju-ri Seo
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon Lee
 
Share some development
Share some developmentShare some development
Share some developmentJi Heon Kim
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017devCAT Studio, NEXON
 
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time DatabaseFirebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database승빈이네 공작소
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스WebFrameworks
 

Similar to 유니티3D 그리고 웹통신 (20)

웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
 
웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
 
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
 [NEXT] Android 개발 경험 프로젝트 3일차 (Database) [NEXT] Android 개발 경험 프로젝트 3일차 (Database)
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
Place site Design
Place site DesignPlace site Design
Place site Design
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
 
Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1
 
Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
Share some development
Share some developmentShare some development
Share some development
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
 
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time DatabaseFirebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스
 

유니티3D 그리고 웹통신

  • 1. Unity3D 와 웹 통신 작성자 : 김현욱
  • 2. 목차 1. 유니티로 게임만들때 웹까지 해야해? 2. 웹통신을 위한 기본 지식 3. 개발환경 설정 4. DBMS 설정 및 작업 5. 웹 설정 및 작업 6. 유니티 작업 및 최종 테스트 7. 참고사항 8. Q&A
  • 3. 1. 유니티로 게임만들때 웹까지 해야해? 유니티로 게임만들껀데… 웹까지 왜 해야하나…-ㅅ-? 웹까지 해야한다니!! 으아 귀찮다~마ㅣ허;ㄷㄱㅎ
  • 4. 1. 유니티로 게임만들때 웹까지 해야해? 단 하나의 이유만 찾자면 데이터 보존!!!!
  • 5. 1. 유니티로 게임만들때 웹까지 해야해? 유니티에서 제공하는 PlayerPrefs를 사용하면 되는거 아님?? 여기서! PlayerPrefs는.. 먹는건가요? - UnityEngine.PlayerPrefs.SetString("stringKey", "abc"); - UnityEngine.PlayerPrefs.SetFloat("floatKey", 2.0f); 와 같은 형식으로 값을 설정하고 GetString 과 같은 함수로 저장한 값을 꺼내올 수 있으며, 저장되는 위치는 로컬에 물리적인 형태로 저장하므로 게임을 재시작해도 마지막에 저장한 값 그대로 가져와 사용할 수 있음.
  • 6. 1. 유니티로 게임만들때 웹까지 해야해? - PlayerPrefs를 사용해서 저장해도 됨. - PlayerPrefs을 이용해서 게임에 적용할 모든 데이터를 로컬에 저장할 수는 있겠지만, 보안에 취약해지고 관리적인 차원에서도 서버에 데이 터를 저장하는 것이 올바른 선택! - (PlayerPrefs를 사용하여 데이터를 저장할때, 암호화하여 저장할수는 있어도.. 암호화된 데이터 자체가 로컬상에 있게 될 경우 서버보다 안 전하지 않음!) - PlayerPrefs를 사용하는 것은 보안과는 상관없이 아주 간단한 데이터 저장을 할때 선택지로 고민해볼수 있음.
  • 7. 2. 웹통신을 위한 기본 지식 그럼 웹으로 통신해서 데이터를 어떻게 저장해야..?
  • 8. 2. 웹통신을 위한 기본 지식 - 필수 지식 1. 데이터 저장을 위한 전체 플로우 개념 2. DBMS 와 웹에 대한 얇은지식 은 뻥!!
  • 9. 2. 웹통신을 위한 기본 지식 Unity WEB DB Unity WEB DB 저장 출력
  • 10. 2. 웹통신을 위한 기본 지식 DBMS 란? - DataBase Management System의 약자… 인지는 불확실 ㅋㅋㅋㅋㅋ - 액셀처럼 컬럼과 데이터를 2차원형태로 저장, 관리할 수 있는 기능을 가진 응 용프로그램. - 오라클, MSSQL, MY-SQL 등 많이 들어봄직한 단어들이 DBMS를 지칭. - 무결성, 원자성, 일관성, 고립성, 영속성..등 특성을 나타내는 단어들이 있으나!! DBA가 아닌이상 이런거 필요없고 우리는 유니티프로그래머 이므로..!!! 핵심만 보자면.. 데이터를 영구적으로 안전하고 안정적으로 관 리하기 위한 프로그램이 DB다~ 라고 생각하세요!
  • 11. 2. 웹통신을 위한 기본 지식 웹이란? - 설마…모르시는 분은 없겠죠?! Pass!!
  • 12. 3. 개발환경 설정 그렇다면.. 우리가 원하는 방식으로 데이터를 저장하고 불러오기 위해 어떻게 개발환경을 구성해야 하는 것인가!?
  • 13. 3. 개발환경 설정 1. DBMS - DBMS 설치(Oracle) 2. WEB - 순수 JSP만 사용. 3. Unity3D - 이미 Install 완료! XD ※ 보통 MY-SQL을 선택. 무료이기 때문. ※ WEB은 잘 모르지만 PHP로 많이 하는듯 함. ※ JSP로 구현하는 경우라도 실제 상용화버젼으로는 앞으로 테스트하는 방식으로 절대 사용하지 않음. ※ 그럼에도 불구하고.. DB와 JSP를 선택한 이유는… Why? 그마나 조금 아 는게 이것뿐인 절망적인 상황..ORZ
  • 14. 4. DBMS 설정 및 작업 DBMS 설치 - http://www.oracle.com/index.html 에서 다운로드. - Oracle Database Express Edition 11g Release 2(무료) 설치. - 설치시 데이터베이스 접속을 위한 비밀번호 설정만 유의하여 Next 로 설치 마무리.
  • 15. 4. DBMS 설정 및 작업 DBMS 설치 - http://www.oracle.com/index.html 에서 다운로드. - SQL Developer 다운로드. - 압축 해제시 즉시 실행가능. - 실행 후 관리자 계정으로 접속 짧은 Oracle 정보 - 오라클 설치후 관리계정은 총 2개가 있는데, Sys, system 이 그 두개의 계정. - Sys계정은 최종관리계정으로 마스터권한으로 가지고 있고, System 계정은 .. - ..기억나지 않습니다. 그냥 sys가 짱임.
  • 16. 4. DBMS 설정 및 작업 SQL Developer 셋팅 - SQL Developer로 로컬에 설치된 DB에 접속 - 오라클의 경우 최종관리자 계정은 sys (system 계정은 sys계정과는 다르 게 일반 계정처럼 생각하면 됨) - 설치중 설정한 암호로 db 접속. - sys 계정으로 접속한 후, 테스트로 사용할 사용자 계정 생성. (테스트로 생성 및 사용할 데이터는 모두 사용자 계정에서 작업) - 11시 방향 + 녹색 아이콘 클릭~
  • 17. 4. DBMS 설정 및 작업 SQL Developer 셋팅
  • 18. 4. DBMS 설정 및 작업 SQL Developer 셋팅
  • 19. 4. DBMS 설정 및 작업 SQL Developer 셋팅
  • 20. 4. DBMS 설정 및 작업 SQL Developer 셋팅
  • 21. 4. DBMS 설정 및 작업 SQL Developer 셋팅 커밋이란? Oracle은 데이터를 입력후 커밋을 해야 최종적으로 데이터가 저장됨. 커밋전까지 는 오라클이 데이터를 가지고만 있음.
  • 22. 5. 웹 설정 및 작업 ※ 데이터베이스의 무결성등을 위한 세부적인 설정이 반드시 필요함. 하지만 우리는 유니티 프로그래머잖아?
  • 23. 5. 웹 설정 및 작업 중간다리 역할을 해줄 웹 기반 작업을 하기 전에!!! Form 이 뭔가요?
  • 24. 5. 웹 설정 및 작업 중간다리 역할을 해줄 웹 기반 작업을 하기 전에!!! Get / Post 방식이 뭔가요?
  • 25. 5. 웹 설정 및 작업 Eclipse 설치. - https://www.eclipse.org/downloads/ 에서 다운로드. - JDK 설치. 버전은 SELF. - 웹서버 설정을 위한 Tomcat 다운로드. - 오라클 DB와 연동할 ojdbc14.jar 다운로드. - 유니티에서 JSON 형태로 데이터를 받아야 하므로 json-simple- 1.1.1.jar 다운로드. - 그외 기본적인 환경설정에서 문제가 생기면 구글신에게 기도드리세요. ※ 앞으로의 설명은 웹서버 및 웹프로젝트를 작성하기 위한 설정이 완료 되었다는 가정하에 진행.
  • 26. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 27. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 28. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 29. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 30. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 31. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 32. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 33. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 34. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 35. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 36. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 37. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 38. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 39. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 40. 5. 웹 설정 및 작업 웹 프로젝트 작성
  • 41. 6. 유니티 작업 및 최종 테스트 드디어 DB, WEB 설정이 모두 끝! 만세!!!! 하지만 마지막 과정인 유니티가 남았으므로 다음으로 넘어갑시다!
  • 42. 6. 유니티 작업 및 최종 테스트 NGUI를 이용한 기본 화면 구성
  • 43. 6. 유니티 작업 및 최종 테스트 테스트에 사용할 스크립트 작성 싱글턴 패턴을 사용하여 별도의 객체 참조 명령 없이 편하게 접근하도록 작성. Get 방식 및 Post 방식 모두 구현. Post 방식으로 데이터를 전달하기 위해 WWWForm 클래스를 사용하여 Dictionary 제네릭으로 데이터를 받아 Form을 구성.
  • 44. 6. 유니티 작업 및 최종 테스트 테스트에 사용한 스크립트 작성 웹에서 SimpleJson을 검색하면 SimpleJson.cs 형태로 C#스크립트를 받을 수있음. 해당 스크립트를 프로젝트에 넣긔!
  • 45. 6. 유니티 작업 및 최종 테스트 테스트에 사용한 스크립트 작성 테스트를 위한 버튼 스크립트 작성
  • 46. 6. 유니티 작업 및 최종 테스트 WWW 클래스에 대해. isDone : 코루틴 내에서 yield return www 형태로 요청후 대기한 다음 response가 되면 isDone으로 체크 하여 후 처리를 진행할 수 있음.
  • 47. 6. 유니티 작업 및 최종 테스트 Hierarchy에 준비한 스크립트 및 필요한 객체 attach.
  • 48. 6. 유니티 작업 및 최종 테스트 원격접속을 통해 실제 DB 구성 및 JSP 작업 진행내역 확인. 테스트 진행.
  • 49. 7. 참고사항 - SSL적용된 URL 호출시 인증서로 인해 WWW 클래스로 데 이터를 가져오지 못함. - 이로 인해 문제가 생길 경우 아래의 url을 참고하여 구현. - https://github.com/andyburke/UnityHTTP - 1인개발로 게임을 개발하는데.. 서버쪽 지식이 없음.. 이거 어떻게 해야하나.. - 프라우드넷 (http://www.nettention.com/ko/default.aspx) 상용 제품을 고려해보는 것도 하나의 대안이 될수 있음.
  • 50. 8. 질문의 시간이 왔어요. 여러분. Q&A