유니티 메카님 시스템
- Has Exit Time은 반드시 해당 애니메이션이 끝난뒤에 트랜지션이 일어남.
- 딜레이 없는 트랜지션을 원한다면 Has Exit Time을 끄고, Trigger 등으로 애니메이션 조건을 지정해주자.
- Bool 과 Trigger는 보기에는 비슷해보이지만, Trigger는 한번 애니메이션이 재생되고 다시 자동으로 꺼진다.
- AIM_Anim.SetTrigger("트리거이름"); 로 적용한다.
레이캐스트 구현
- update 문에서 아래와 같이 태그로 검색하면 된다.
RaycastHit hit;
Vector3 fwd = transform.TransformDirection (Vector3.forward);
if (Physics.Raycast (transform.position, fwd, out hit)) { // 레이캐스트 히트 O
if (hit.collider.tag == "Monster") {
AIM ();
}
}
코루틴의 사용
- IEnumerator로 선언한 뒤, StartCoroutine으로 실행한다.
StartCoroutine (DelayShot ());
IEnumerator DelayShot(){
yield return new WaitForSeconds (1f);
}
Send Message의 사용
if (col.collider.tag == "Monster") {
col.gameObject.SendMessage("ApplyHit", SendMessageOptions.DontRequireReceiver);
}
이펙트의 생성
Instantiate (DeathEff, this.transform.position, this.transform.rotation);
난수의 생성
value = Random.Range(최소값, 최대값);
최소 최대값을 int로 입력하면 정수생성, float를 넣으면 float로 생성함. 단 절대 Max 값은 나오지않음
최소값 <= 난수 < 최대값 의 개념.
오일러 회전값
FP.slopeZ = transform.parent.eulerAngles.z;
'🌍 Unity > 유니티 프로그래밍' 카테고리의 다른 글
유니티 텍스트 파일 StreamingAssets 폴더에 입출력 (0) | 2018.03.30 |
---|---|
UV 스크롤러 (0) | 2016.11.27 |
[Unity] Y축으로만 LookAt (0) | 2016.08.31 |
[유니티/게임패드] 조이스틱 입력 한 번만 받기 (0) | 2016.06.06 |
유니티 오브젝트 사이의 정보 교환 (0) | 2016.05.29 |