[TIL] 38 3D 강의, 팀과제 ⭐⭐⭐

업데이트:

카테고리:

태그: , ,




유니티 숙련주차 9일차, 팀과제

   [o] 알고리즘 문제 - 45
   [o] 강의 듣기 - 2개 복습하기
   [o] 반별 강의
   [X] 다른반 강의 듣기
   [X] 다른반 발표 보기







1. 팀과제

강의 코드를 베이스로 하였고

  • 원거리 적 추가
  • 적 체력 낮으면 도망가기
  • 원거리는 도망가다가 사거리 안에 들어오면 다시 공격
  • 몹젠 5마리
  • 시간 지나면 기지로 어그로
  • (추가하기) 죽이면 나눠져서 생성

2. 코루틴

코루틴은 함수의 실행을 일시 중지하고, 이후에 다시 재개할 수 있는 기능을 제공합니다.
예시) 무적상태 5초

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour
{
    bool invincible = false;

    void Start()
    {
        StartCoroutine(InvincibilityCoroutine());
    }

    IEnumerator InvincibilityCoroutine()
    {
        invincible = true;
        yield return new WaitForSeconds(5f);
        invincible = false;
    }
}








1) Enumerator

Enumerator는 IEnumerator 라는 인터페이스를 구현해야 합니다. IEnumerator 인터페이스는 Current (속성), MoveNext() (메서드), Reset() (메서드) 등 3개의 멤버로 이루어져 있는데, Enumerator가 되기 위해서는 Current와 MoveNext() 를 반드시 구현해야 합니다. 이를 통해 유니티의 DelayedCallManager가 등록하고 있다가 다음 단계에 실행하는 방식으로 구현되어 있습니다.



2) Yeild 종류

  • yield return null : 다음 프레임까지 대기
  • yield return new WaitForSeconds(float) : 입력한 초(sec) 만큼 대기
  • yield return new WaitForSecondsRealtime(float) : Timescale영향없는 실제 시간 기준 초 대기
  • yield return new WaitFixedUpdate() : 다음 프레임의 FixedUpdate 까지 대기
  • yield return new WaitForEndOfFrame() : 모든 랜더링 작업이 끝날 때까지 대기
  • yield return startCoroutiune(string) : 입력한 다른 코루틴이 끝날 때까지 대기
  • yield return new www(string) : 입력한 웹 통신 작업이 끝날 때까지 대기
  • yield break : 코루틴 종료
    코루틴은 StopCoroutine과 StopAllCoroutines를 이용하여 코루틴을 정지가능하며
    코루틴을 소유하고 있는 게임오브젝트를 정지하거나 파괴하는 경우에도 종료됩니다. 단, 컴포넌트를 .enabled를 false로 하는 경우 꺼지지 않습니다.








3. 카메라 뷰

카메라 Projection = Orthographic -> 원근감 X
image



1) 탑다운

2D, 3D : X축 45도이상
image



2) 사이드

원근법 무시 (2D, 3D : Orthographic, 캐릭터 follow)
image



3)1인칭 주인공 시점

3D, 캐릭터 Follow
image



4) 3인칭 백뷰(숄더뷰)

3D 주로, 캐릭터 후방 상공에서 X축 살짝 회전
image



5)아이소메트릭(쿼터뷰)

원근법 무시 + x축 30도 y축 45도
image







잡담,정리





참고 : 유니티 TOP


📔

댓글남기기