Mastering Unity 3D Scripting & Networking
Hongik Univ. IDAS 2016 Independent Study Professor David Hall
Digital Media Design Jong-won Lee
appsdesigncom@gmail.com
01. the Goal of the Independent Study
Mastering Unity Scripting and Networking
I was eager to learn and use the Unity 3D program to make games and some interesting works. So I decided to take the Independent Study and chose the subject of ‘Mastering Unity Scripting and Networking’. I know, It is not possbile to master the scripting and networking in just one semester. So I made some little games and VR / AR related projects.
One Unity game consists of many objects such as ; Game Scene, Player, NPCs (Non-Playable-Characters), Enemies, Winning-Losing Logic, Platforms (macOS, Windows, Android, iOS and more), UI/GUI design and components, 3D models, Sounds, Networking (If necessary), and scripting. I decided that not making 3D design and models on this class, be-
cause it is not included on my Independent Study. But, if possible, I would like to learn and master 3D modeling, texturing, animating on my nexxt semester.
02. Resources
Books and Online Resources
I bought Unity related books (Korean), and also bought e-books (English). Here is the list ;
Korean : 유니티와 C#으로 배우는 게임 개발 교과서 (위키북스), 핵심강좌 유니티 5 (위키북스), 유니티 게임 제작 입문 (길벗),
유니티 5로 만드는 3D/2D 스마트폰 게임 개발 (제이펍), 유니티 게임 AI 프로그래밍 (에이콘), 유니티 C# 스크립팅 마스터 하기 (에이콘), 유니티 2D 게임 공작소 (길벗), 유니티 네트워크 프로그래밍 (길벗)
English : Unity Virtual Reality Projects (Packt Publishing), Unity 2D Game Development (Packt Publishing) Websites : unity3d.com, vuforia.com
03. the 1st Project.
Unity Augmented Reality Game : Unity + Vuforia + Network + Projection
1) Project Sketch Vuforia is the easiet way of making the augmented reality
Then I would like to control and play with the mobile
printed material mostly. So I would like to make it chang-
these two separate devices.
program in these days. But its recognition is limited to
ing its shape and also moving around. Then I chose to use a projector.
phone. Therefore, I have to use the network to connect So the one for projection should be a notebook and also should take the server part.
2) Network Scheme Not all of its playing information should be communicated between these two devices. Only touch - kill information on the mobile should go to the server (notebook).
Then I need to find out which newtork method is appropriate for this project.
3) Prototyping I made two unity programs : one for the projection which was running on the notebook. another for the mobile to see the augmented image on itself and to interact on its image.
4) Networking There were 4 options to consider, and I tried every Step #03 technical methods : TCP/IP, UDP, Unity Network LobEvaluate the Prototypes by, Unity Network Manager.
It is easy to project on the fixed object. But itmethods, would but TCP/IP, UDP is the common networking be whole different it starts to move. I havealot to learn morewhen about the server technologies. By using theNetwork Arduino Lobby and stepper motor, it starts But the by Unity supports more funcrotating. tions with ease, then I decided to use this networking method.
04. the 2nd Project.
Unity Virtual Reality Game : Unity + Google Cardboard SDK
1) Project Sketch Virtual Reality is another hot media now, then I would like
Here is the idea :
controllers to connect to the mobile VR, so I would like
player. When the player gazes to the zombies for a certain
to make another Unity project with it. But there are not
to use only glancing function with the google cardboard SDK.
the player is on the spot, then zombies are coming to the time, the zombies or one zombie stops or frozen temporarily. They will coming from all direction, so the player should look around and make the zombiles stop.
2) Unity : Programming & Designing
There is a book, ‘Unity Virtual Reality Project’. There is a very similar example project on the book, so I used the example project for this.
3) VR headset testing I put a iPhone 6+ into the VR headset. When I tested it
with the headset, I feel something interesting and fun.
4) iPad testing I also put the game into the iPad mini, and tested it
05. the 3rd Project.
Unity Mixed Reality Game : Unity + Lego + Projection
1) Project Sketch
Making a maze with Lego, then project the game on the maze. Then this becomes a physical maze + a digital game = the mixed reality game.
Make more Lego mazes : one lego on the desk, one drawing maze on the wall, one another Lego on the wall.
2) Lego + Unity 2D game testing Building a three-story building with Lego, and made a
simple 2D game with Unity. Then project the game on to the Lego building, and playing.
This kinds of game on mobile or computer is common,
but playing the character on the real object arise much interesting and actually I really felt fun with it.