Transcript
Page 1: 120708 object selecting in unity3d skyseer

Object Selectingin Unity3d

[email protected]

Page 2: 120708 object selecting in unity3d skyseer

Object Selecting?

• 게임 내 오브젝트 선택 방법에 대한 구현–몬스터 선택 & 공격– NPC 선택–드랍 아이템 루팅– UI 선택

Page 3: 120708 object selecting in unity3d skyseer

How

• 키 입력을 통한 선택–근처의 오브젝트를 배열로 관리– List 를 사용하여 거리 순으로 Sort–특정 키 (ex, “Tab”) 를 누를 때 마다 선택 변경

• 마우스 클릭을 통한 선택–선택한 지점에 Ray 를 발사 !–충돌 체크–선택

Page 4: 120708 object selecting in unity3d skyseer

키 입력을 통한 Selecting

• StartCoRoutine( 시작 ) StartCoroutine("FSM");• IEnumerator( 리턴 )• yield return( 양보 ) 키워드 사용Tag 를 통해 주변 GameObject 등록GameObject[] go = GameObject.FindGameObjectsWithTag("Enemies");

선택된 GameObject 의 메터리얼 색상 변경selectedTarget.renderer.material.color = Color.red;

PlayerAttack pa = (PlayerAttack)GetComponent("PlayerAttack");

Page 5: 120708 object selecting in unity3d skyseer

마우스 클릭을 통한 Selecting

• StartCoRoutine( 시작 ) StartCoroutine("FSM");• IEnumerator( 리턴 )• yield return( 양보 ) 키워드 사용마우스를 누른 지점에 Ray 생성public Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

Ray 충돌 체크Physics.Raycast(ray, out hit, _CameraRange)

충돌된 object 의 tag 확인hit.collider.gameObject.tag == "Enemies”

Page 6: 120708 object selecting in unity3d skyseer

참고 사이트•