본문 바로가기
NOTE/Unity

[Unity] Unity Script 정리

by DevAthena 2016. 10. 6.

[Vector Maths]

- 두 점사이의 거리를 구하는 Vector3.magnitude

- 두 벡터 VectorA(x,y,z) VectorB(x,y,z) 내적 : (Ax*Bx) + (Ay*By) + (Az*Bz) = Dot Product (가 0이면 두 점은 직각) 을 나타내는 Vector3.Dot(VectorA, VectorB) 가 있다.

- Cross Product를 나타내는 Vector3.Cross(VectorA, VectorB)



[Enabling and Disabling Components]

- 효과적으로 컴포넌트를 토글화 시키는 방법

public class EnableComponents : MonoBehaviour
{
    private Light myLight;
    
    
    void Start ()
    {
        myLight = GetComponent<Light>();
    }
    
    
    void Update ()
    {
        if(Input.GetKeyUp(KeyCode.Space))
        {
            myLight.enabled = !myLight.enabled;
        }
    }
}


[Translate and Rotate]

public class TransformFunctions : MonoBehaviour
{
    public float moveSpeed = 10f;
    public float turnSpeed = 50f;
    
    
    void Update ()
    {
        if(Input.GetKey(KeyCode.UpArrow))
            transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
        
        if(Input.GetKey(KeyCode.DownArrow))
            transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
        
        if(Input.GetKey(KeyCode.LeftArrow))
            transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
        
        if(Input.GetKey(KeyCode.RightArrow))
            transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
    }
}


[LookAt]

- 타겟의 방향으로 바라보게 할 수 있다.

public class CameraLookAt : MonoBehaviour
{
    public Transform target;
    
    void Update ()
    {
        transform.LookAt(target);
    }
}


[GetAxis]

- GetButton과 GetKey와 유사하지만 다르다.

- bool이 아닌 -1~1사이의 값을반환한다.


[OnMouseDown]

- 충돌체에 대한 클릭이나 GUI텍스트 요소를 탐지가능

public class MouseClick : MonoBehaviour
{
    void OnMouseDown ()
    {
        rigidbody.AddForce(-transform.forward * 500f);
        rigidbody.useGravity = true;
    }
}


[Invoke]

- 단순 Invoke("반복할함수", 지연시간);

- 반복 InvokeRepeating("반복할함수", 지연시간, 대기시간);

- 반복 Invoke 종료 CancelInvoke("반복한함수");

'NOTE > Unity' 카테고리의 다른 글

[Unity] Mobile Touch (펌)  (0) 2016.10.13
[Unity] 짧은 개념 정리2  (0) 2016.10.07
[Unity] 로컬 데이터 베이스 저장  (0) 2016.10.04
[Unity] 오브젝트 풀링 참고 소스 (펌)  (0) 2016.10.04
[Unity] Mobile & Input 2  (0) 2016.09.30