반응형

이번시간은 Player에 충돌체를 만들어 적과 충돌하였을때 Player가 사라지는 효과를 만들어 보겠습니다.


먼저 Enemy를 선택하고 Tag에서 Add Tag를 선택하여 Tag이름을 Enemy로 하고 Save한다


Enemy Tag가  생성 되면 Enemy Tag를 선택한다





Player 를 선택하고 Tag를 Player를 선택한다


Player선택하고 Component ->Physics 2D -> Circle Collider 2D를 선택하여 Collider2D를 생성한다


Player에 Circle Collider2D가 생성된 모습




Cire Collider2D에 Is Trigger를 체크한다



Component -> Physics 2D -> Rigidbody 2D 선택



RigidBody 2D 가 생성되면 Body Type을 Kinematic으로 바꾼다





Enemy를 선택하고 Player와 같이 한다



Player를 선택하고 스크립트를 수정한다 .

OnTriggerEneter2D 함수를 추가하여  Enemy Tag 와 충돌하였을때 사라지게 하는 코드를 입력한다



게임실행 화면

반응형
반응형

이번 이간은 적의 전투기를 움직여 보겠습니다

Assets에 있는 enemies 폴더에 boarder를 드래그하여 Herarchy에 올려 놓습니다

그리고 이름을 Enemy 라고 바꿉니다



Scripts폴더에 Enemy 스크립트를 생성합니다





public class Enemy : MonoBehaviour

{

    public float moveSpeed = 0.5f;


// Use this for initialization

void Start () {

}


    void MoveControl()

    {

        float yMove = moveSpeed * Time.deltaTime;

        transform.Translate(0, -yMove, 0);

    }

// Update is called once per frame

void Update ()

    {

        MoveControl();


    }

}


스크립트를 작성합니다



작성한 스크립트를 Enemy 오브젝트에 드레그 하여 붙힙니다 


게임을 실행하면 Enemy 오브젝트가 위에서 아래로 움직이는 것을 볼수 있습니다



반응형
반응형


플레이어 비행기를 움직이는 스크립트를 짜보겠습니다



스크립트 폴더에 스크립트를 생성하고 이름을 Player라고 합니다



스크립트를 열고  그림과 같이 스크립트를 짭니다 

여기서 Horizontal은 유니티 엔진에서 제공하는 좌우 input  GetAxis이고 좌표 X에 -1과 1을 대입하게 됩니다



using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class Player : MonoBehaviour

{

    public float moveSpeed = 0.5f;


        


// Use this for initialization

void Start ()

    {

}

void MoveControl()

    {

        float moveX = moveSpeed * Time.deltaTime * Input.GetAxis("Horizontal");

        transform.Translate(moveX, 0, 0);

    }

// Update is called once per frame

void Update ()

    {

        MoveControl();


    }

}



Player 오브젝트를 선택하고 스크립트를 드래그하여 붙힙니다 그리고

키보드 A 와 D 키 와 키보드 좌우키를 움직이면 비행기가 움직입니다. 



반응형
반응형

유니티 슈팅게임 만들기 2장 배경스크롤(background scroller) 만들기 입니다 

 

그림과 같이 raw 파일에 있는 bg 텍스쳐를 선택하고 속성을 바꿉니다

 

 

GameObject -> 3DObject -> Quad 를 만들어 배경화면에 맞춥니다

그리고 이름을BackGround 로 바꿉니다

 

 

 

새로운 폴더를Assets에 만들어 이름을 Materials라하고 새로은 Material을 생성하여 이름을 BackGround라 하고  Shader를 Partcles/Alpha Blended로 바꿉니다 그리고  배경텍스쳐 bg 를 Select에 드래그하여 올립니다.

 

 

BackGround 메터리얼을 BackGround  오브젝트에 드래그 하여 붙입니다

 

BackGround 오브젝트를 선택하고 position을 0 ,0, -5 로 한다

 

 

 

배경이 화면과 같이 나오게 됩니다

 

 

 

BackGround 오브젝트를 선택하고 인스팩터에 offset y 값을 움직여보세요

배경이 스크롤 되는 것을 보게 될것입니다

 

새로운 폴더 Scripts를 만들과 스크립트를 생성하여 이름을 그림과 같이 합니다

 

그림과 같이 스크립트를 작성합니다

 

 

 

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class BackGroundCtrl : MonoBehaviour

{

    public float scrollSpeed = 0.5f;

    Material myMaterial;

 

// Use this for initialization

void Start ()

    {

        myMaterial = GetComponent<Renderer>().material;

 

}

 

// Update is called once per frame

void Update ()

    {

        float newOffsetY = myMaterial.mainTextureOffset.y + scrollSpeed * Time.deltaTime;

        Vector2 newOffset = new Vector2(0, newOffsetY);

 

        myMaterial.mainTextureOffset = newOffset;

 

}

}

 

 

스크립트를 그림과 같이 드래그하여 붙힙니다

 

게임을 실행하면 배경이 위에서 아래로 스크롤 되는 것을 볼수있습니다

 

 

반응형
반응형

유니티 3D 엔진 다운로드 


게임 리소스 다운로드



유니티3D 작업창 


씬 뷰(Scene) : 게임 제작을 위해 제공되는 씬이(scene)라는 3차원 공간을 편집 하도록 도와 주는 공간


계층뷰(Hierarchy) : 씬에 배치된 물체의 정보를 보여주는 공간  계층구조로 구성되어 있어서 계층 뷰라고 합니다 


프로젝트 뷰(Project) : 프로젝트 제작에 재료로 사용되는 에셋을 관리하는 공간 


인스펙터 뷰(Inspector) : 물체 및 에셋의 상세한 속성을 지정할 때 사용되는 뷰 입니니다


게임뷰 (Game) : 게임 제작이 완료되면 툴바의 플레이 버튼을 눌러 활성화되는 뷰입니다 이곳에서는 제작된 게임이 어떻게 동작하는지 미리 볼수 있습니다


프로젝트 뷰에서 Assets 을 눌러 오른쪽 마우스를 누르면  Creat -> Folder 를 생성하고 그림과 같이 

이름을 Graphic  , Scenes 라고 합니다 


Scenes 폴더에 Scene을 생성하고 이름을 Game 이라 합니다 

 


                                         유니티를 열고 게임 리소스를 다운 받아 에셋에 Graphic 폴더를 만들어 게임 리소스를 다움받아 Graphic 폴더에 집어 넣습니다

리소스를 유니티 Assets -> Graphic 에 몽땅 드레그하여 집어 넣어요

그림과 같이 폴더들이 생기면 됩니다 




2. 그리고 Player폴더에 ship2을Hierarchy에 올려 놓고 이름을 Player로 바꿉니다



3.  Game화면에서 디스플레이를 그림과 같이 설정하고 바꿉니다




4.메인카메라(Main Camera)를 선택하고 인스펙터에 사이즈를 1  로합니다



그림과 같은 모습이 되도록합니다


To bo continue

반응형

+ Recent posts