[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 |