목록2-2/모바일 게임 실무 (7)
브래의 슬기로운 코딩 생활
모바일 게임 실무 기말고사 202114013 김동현 ? = GetComponentInParent(); // 부모 객체의 구성요소 사용 vrCamera.eulerAngles.x: x축으로 기울어진 각도 vrCamera.TransformDirection:월드축 방향 (CharacterController객체).SimpleMove(방향, 속도) : 캐릭터의 속도 값을 받아 그 방향으로 이동시키는 함수 public void OnPointerEnter() // 카메라가 객체를 바라봤을 때 public void OnPointerExit() // 카메라가 객체를 바라보다가 바라보지 않을 때 스크립트이름 . 인스턴스 = ? // 해당 스크립트 인스턴스 호출 가능 StartCoroutine(); // 코루틴 시작 (인자가..
모바일 게임 실무 중간고사 202114013 김동현 서브루틴: C 언어에서 사용하는 함수는 시작할 때 진입하는 지점이 하나 존재하고 함수가 모두 실행되거나, return 구문에 의해서 종료되는 지점을 설정 코루틴: 서브루틴과 같은 개념이나 진입하는 지점이 코루틴 여러 개 일 수 있는 함수 어떤 시점에서 함수(코루틴)를 호출했다가 다시 복귀, 그리고 다시 함수(코루틴)로 가서 실행하는 등 로직을 돌리는 방식이 필요할 때 사용 (정의): IEnumerator 코루틴함수이름(){} / (복귀): yield return / (호출): StartCoroutine(“코루틴함수이름“); / (중지): StopCoroutine(“코루틴함수이름“); 1) yield return null // 다음 프레임까지 대기 2) ..
spawnPoint = gameObject.transform.GetChild(0).gameObject //자식 객체를 스폰포인트 변수로 지정 IEnumerator Shoot() //코루틴 선언,정의 { Rigidbody rb = spawnPoint.GetComponent(); // 스폰포인트의 Rigidbody를 rb 변수에 저장rb.AddForce(spawnPoint.transforn.forward*30f); // 스폰포인트를 앞으로 30만큼의 힘을 가함yield return new WaitForSeconds(1f); // 1초 기다린후 코루틴 종료} void Update(){StartCoroutine("Shoot"); // Shoot 코루틴 시작} GameObject bullet2 = Instanti..
cc = GetComponentInParent(); - 부모 객체의 Character Controller을 cc변수에 저장 vrCamera.eulerAngles.x // x축으로 기울어진 각도 vrCamera.TransformDirection //월드축 방향 cc.SimpleMove // 캐릭터의 스피드 값을 받아 그 만큼 이동시켜주는 함수 *Animator의 이름이 다른 이름이면 소스에도 그 이름을 사용 Animator anim; // 애니메이션 객체 anim선언 anim = GetComponent(); // anim에게 Animator 속성 부여 anim.Play("Base Layer.Idle"); // 괄호 안의 애니메이션 실행 OnPointerExit - 카메라가 객체를 바라보지 않으면 OnPoi..
Navigation 활용하기 NavMesh(네브메쉬) - 유니티에서 제공하는 네비게이션 시스템 - 플레이어를 따라와 공격하는 AI에 사용 - 가는 경로를 찾을 수 있는 데이터 구조를 Bake 해서 지정 using UnityEngine.AI; 필수 NavMeshAgent 목표를 향해 움직이는 물체에 지정해서 사용 설정에 따라 쫓아가면서 장애물 회피, 점프, 서로를 피하기 등을 설정 타겟 대상의 위치설정, 위치 설정시 바로 추적 시작 =>NavMeshAgent.destination = 캡슐.position; Agent Radius - 객체의 접근막의 반지름의 길이(값만큼 외각 여백 결정) Agent Height - 허용할 최대 높이(최대 등산각도,계단 높이에 영향을 줌) MaxSlope - 허용할 최대 경사..
오늘은 유니티를 활용해 가상현실을 구현하는 것을 배웠다. 대략 중요한 소스만 포스팅 하겠다. 가상현실에서 마우스를 이용하여 360도 시야를 볼 수 있고 화면의 중앙(에임)이 특정 물체에 겹치면 카메라가 다른 장소로 이동하는 앱이다. Player의 위치는 Camera.main.transform.parent.position - 플레이어는 메인 카메라의 부모 / 즉 카메라가 곧 플레이어 (특정 물체에 부착하는 소스) public void OnPointerEnter() - 카메라 에임이 자신을 가리키면 public void OnPointerExit() - 카메라 에임이 자신을 벗어나면 GetComponent().material = ? - 자신의 material(색상)을 ?로 설정한다. public Transfo..
코루틴(coroutine)이란? - Update()문은 기기의 CPU성능에 영향을 받으나 코루틴은 안 받음 - 코루틴이 10~20배 빠름 - 코루틴은 해당 함수를 끝까지 실행하지 않고, yield가 나오는 부분에서 일단 멈추고, 제어권이 돌아오면 남은 작업을 실행하는 방법 코루틴의 사용 (정의) IEnumerator (복귀) yield return (호출) StartCoroutine(“코루틴함수이름“) (중지) StopCoroutine(“코루틴함수이름“)