본문 바로가기

Unity/▶ Unity Composition

[Unity Composition]#5. 변수와 컴포넌트

728x90
반응형

참조 변수는 실체가 아닌 실체로 향하는 참조값을 저장한다.

 

변수의 참조값으로 실체에 접근하는 참조 타입을 이용하여 변수로 씬에 있는 게임 오브젝트와 컴포넌트에 접근하고 이를 조종할 수 있게 된다. 이번에는 변수를 이용하여 게임 오브젝트를 제어해보자.

 

물리 큐브 생성하기

1. 하이어 라키 > Creat > 3D object > cube 생성

큐브 생성

2. 인스펙터 > Add Component > Phtsics > Rigidbody

3. Jumper 스크립트 생성

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Jumper : MonoBehaviour
{
    public Rigidbody myRigidbody;
    // Start is called before the first frame update
    void Start()
    {
        myRigidbody.AddForce(0,500,0);
    }

    
}

코드 이해하기

public Rigidbody myRigidbody;

Rigidbody 타입의 변수 myRigidbody를 선언한다. 이때 Rigidbody는 유니티의 Rigidbody 기능을 가져오는 것으로써 myRigidbody가 참조한다. myRigidbody는 public으로 선언되어 클래스 외부에서 접근이 가능하다.

void Start()
{
	myRigidbody.AddForce(0,500,0);
}

게임 실행 시 y축으로 500만큼의 힘을 받는다. 이후 중력으로 인해 다시 밑으로 떨어지게 된다.

AddForce는 힘을 주는 기능으로 x, y, z방향으로의 힘을 지정할 수 있다.

AddForce(x,y,z) : x,y,z 축의 힘을 지정하는 함수

1. Jumper 스크립트를 Cube에 추가한다.

2. cube 오브젝트의 리지드 바디 컴포넌트를 Jumper의 컴포넌트의 MyRigdbody 필드로 드래그&드롭한다.

(MyRigdbody에 Cude 게임 오브젝트의 리지드바디 컴포넌트로 향하는 참조가 할당된다.)

 

리지드바디 할당
게임 실행화면. 상자가 위로 상승 후 하강하는 것을 볼 수 있다.

728x90
반응형
댓글