먼저 Asset Store 에서 탱크 3D 모델을 다운받아줍니다.






Asset Store 오른쪽 메뉴 > 3D 모델 > 탈것 > 지상






정렬 > 가격






Panzerkampfwagen II Ausf. F 이란 탱크 모델이 있습니다.



저는 이것을 사용해 보도록 하겠습니다.



다운로드 받으시면







이러한 창이 뜹니다. Import 시켜주세요!







이렇게 프로젝트에 추가됩니다.








Panze_II_Ausf_F > Prefabs > Panzer_II_Ausf_F 를 Hierarchy(계층 리스트) 에 드래그하면 탱크가 추가됩니다.




이제 탱크를 추가하였으니 포의 움직임을 적용하여 봅시다.









포구 (2cm_kwk38) 을









마운트 (weapon_mount) 에 드래그 하여 종속시켜줍니다.









종속시킨후 바로 회전을 시켜보면 저런식으로 탱크와 따로놀게 됩니다.



그래서 빈 껍데기를 하나 만들어서 껍데기에 종속시켜 주어야 합니다.







Hierarchy > Create > Create Empty 를 하나 만들어줍니다.








저 위치에 위치시켜주시고 포구와 마운트를 새 오브젝트에 종속시켜주세요.









그러면 이제 자연스럽게 움직이게 됩니다.








새로 만들었던 빈 껍데기를 터렛(turret) 에 종속시켜주시면 저렇게 따로 자연스럽게 움직여지게 됩니다.




이제 움직이는 소스를 작성하여 봅시다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public float MoveSpeed = 10f;
 
    public Transform Turret;
    public Transform po;
 
    void Update () {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
 
        transform.Translate(new Vector3(00, v) * MoveSpeed * Time.deltaTime);
        transform.Rotate(new Vector3(0, h, 0));
        // 탱크 전체의 움직임
 
        float y = 0f;
 
        if (Input.GetKey(KeyCode.Q)) y = -2;
        if (Input.GetKey(KeyCode.E)) y = 2;
 
        Turret.transform.Rotate(new Vector3(0, y, 0));
       // 탱크 터렛의 움직임
 
        float x = 0f;
 
        if (Input.GetKey(KeyCode.R)) x = -1;
        if (Input.GetKey(KeyCode.T)) x = 1;
 
        po.transform.Rotate(new Vector3(x, 00));
        // 탱크 포구의 움직임
    }


 







소스 작성 후 탱크에 터렛과 새로 만든 빈 오브젝트를 드래그해서 추가해줍니다.








잘 적용된 영상입니다.

'프로그래밍 > Unity3D' 카테고리의 다른 글

포(총알) 발사하기  (0) 2016.06.20
Rigid Body  (0) 2016.06.20
간단한 움직임 표현하기  (0) 2016.06.15
apk 마켓에 등록하기  (0) 2016.06.15
개발자 등록하기  (0) 2016.06.15