2013년 8월 18일 일요일

Unity_Tilt 형식의 움직임 구현






1
2
3
4
float tiltAng = Input.acceleration.x; // Device의 기울기값(return value = -1~1)
float speed = 60.0f; // move object speed

transform.Translate (new Vector3 (1, 0, 0) * tiltAng * Time.smoothDeltaTime * speed);
 


게임 기획시 tilt(device의 기울기에 따른 움직임)형식의 
움직임으로 게임을 만들고자 기획하였다면 위의 소스를 참고하시면 됩니다. ^^

2013년 8월 15일 목요일

Unity_2D 게임에 최적화된 Plane 만들기


Why?? 

기존 Unity에서 제공하는 Plane 
-verts 121 , tris 200 

2D에 최적하된 Custom Plane
-verts 4 , tris 2

각각 프리팹화 후 1000개씩 Instantiate 시 약 30% 정도의 속도의 차이가 보임 
물론 극단적인 test일수 있으나 게임 제작시 메모리를 조금이라도(30%면 엄청나지만..) 줄이기위해서 Custom plane 선택!


How to?

 http://wiki.unity3d.com/index.php?title=CreatePlane
 위 홈피에서 createPlane.cs 내용을 copy후 create (현재 프로젝트의 assets/editor) 적용
위그림처럼 Create 창에 CustomPlane 창이 뜨면 적용완료 ^^
그후 segments값들을 1로 주고 plane을 생성하면 아래그림처럼 4verts , 2tirs값을 지닌
Plane 생성완료!!


2013년 8월 14일 수요일

Unity_ 2D 게임 제작 진행전 정해야 될것들




 Unity 2D게임 제작 진행전 정해야 될것들..




1. Resolution ( 해상도 )
   - 1920*1024등의 pixel해상도가 아닌
   - 최소한 2:3 , 3:4 등의 비율은 꼭 정해두고 게임 제작을 진행하여야한다. 또한 제작 후 타 해상도로 리사이징 할 방법(9grid 활용이 대표적)도 염두해두고 제작을 진행!


2. Plugin
  - 어떤 플러그인을 사용해서 게임 제작을 진행할것인가도 꼭 정해두고 제작
  - 2D관련 유료 플러그인 : 2dtoolkit , NGUI , ezGUI등
  - 플러그인사용시 장점 : progress bar , atlas font, sprite,dynamic texture 등등 2D관련 게임 제작시 꼭필요한 기능 제공
  - 단점 : money.. money.. money...

필자는 무료 플러그인만을 사용해서 게임 제작을 진행했습니다.(그로인해 위의 기능들을 손수 수제로 제작해야되는...)

3. Language
 - 어떤 언어로 제작할것인가 (C# , java가 대표적) 은 기본이겠죠 ^^ 각언어의 특징들을 살펴보신 후 제작을 진행하시면 될것같습니다.


4. Display Mode
  - 종 , 횡 스크롤중 어떤 모드로 제작을 진행할것인지 정하고 이에따른 Object간의 움직임의 기본적인 디자인도 해두고 게임 제작에 들어가는것이 좋습니다.
 예를들어 횡스크롤에 Player(오브젝트)만 움직이고(Camera View또한 따라서 움직이겟죠?^^) 그외의 오브젝트(지형 , 장애물 , 아이템 등등) 들은 정지 해있는다. 뭐 이런식으로 전체적인 디자인은 꼭! 정해두고 제작에 들어가셔야지 작업하시기가 좋으실겁니다 ^^

5. Scene Design
 - 게임제작전 Scene을 나누고 각씬별로의 역활정도는 대략적으로 정해두고 진행하는것이 좋습니다. 예를들어 Main Scene과 Game Scene 그리고 Load Scene을 두는 경우가 있고
Load Scene자체를 Game Scene에 포함하여 진행하는방법등 여러가지 방법경우가있으니 미리 정해두는것이 좋습니다.




Unity_ 2D게임 제작진행시 기본 셋팅(Camera)


 1. Camera 



- Unity는 3D엔진 이므로 3차원좌표계(x,y,z)를 사용
 여기서 2D게임을 제작하려면 2차원좌표계를 사용하도록 설정
 Position : 0 , 20 , 0
Rotation : 90 , 180 , 0

- Projection : Orthographic(정투상) 속성 사용
          *정투상=원근감을 배제한 Camera View 제공 - Camera와의 거리(Y)와 관계없이                              Object의 크기를 그대로 camera View에 담아냄!!

- Size : View의 사이즈 조절(10이 적당)




2013년 8월 13일 화요일

Unity_ 2D Arcade 게임 제작 진행




진행시 알게된 테크닉 , 노하우 정리