달력

102024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Update, FixedUpdate, LateUpdate 차이점



  • Update()
    • Update는 프레임마다 한번씩만 호출이 되는 기본적인 업데이트 입니다.

  • FixedUpdate()
    • FixedUpdate는 Update보다 자주 호출이 되는 경우가 있습니다.
    • 프레임 속도가 낮을 경우 프레임마다 여러번 호출이 가능합니다.
    • 프레임 속도가 높을 경우 프레임마다 호출을 할 수 없습니다.
    • FixedUpdate 직후에 모든 물리적 특성 계산 및 업데이트가 발생하므로 이동 계산을 적용 할때 Time.DeltaTime 값을 곱할 필요가 없습니다.
    • 독립된 업데이트 이므로 모두 영향을 받는 update와 달리 어떤것이든 동일한 주기로 업데이트 영향을 받는다.
    •  물리적용시 사용하면 좋습니다.

  • LateUpdate()
    • LateUpdate는 Update 후 프레임마다 한번씩 호출이 됩니다.
    • update에서 계산이 완료되면 해당 LateUpdate가 실행이 됩니다.
    • 특정 행동이 완전히 끝난 후 실행하고 싶은 행동이 있다면 해당 LateUpdate를 이용하는 것이 좋습니다.
    • 예로 들어 3인칭 카메라가 캐릭터를 따라 움직일시 update에서 캐릭터 이동 방향 계산이 끝난 후 카메라에 대한 계산은 LateUpdate에서 행동을 취하시면 됩니다.


Posted by JakeGD
|

Ray 사용법!


  • 필요한 변수

float distance;    -> 레이의 길이

RaycastHit rayHit;    -> Ray가 맞았다는걸 알려주는 변수

Ray ray;    -> 사용될 레이 변수



void Start () 

{

ray = new Ray();       -> new를 이용하여 레이를 하나 생성합니다.

ray.origin = this.transform.position;    -> 레이위치를 사용될 오브젝트위치에 적용합니다.

ray.direction = this.transform.forward;    -> 레이 방향을 사용될 오브젝트 방향으로 초기화 해줍니다.

}


팁 // 만약 실시간으로 값을 받고 싶다면 ray.origin과 ray.direction을 Update 메소드에 넣어주시면 됩니다.



레이와 오브젝트의 충돌함수는 아래와 같습니다.


if (Physics.Raycast(ray.origin, ray.direction, out rayHit, distance))

// 순서대로 레이의시작위치 / 레이의 방향 / 레이충돌 반환 / 레이 길이값

{

// 해당 위치에서 조건에 대한 코드를 작성하시면 됩니다.


Debug.Log(rayHit.collider.gameObject.name); // 충돌된 오브젝트 이름 디버그 로그로 출력

}


로그 확인 방법은 유니티에서 ctrl + shift + C 를 누르시면 나옵니다.



자 그렇다면 레이가 잘 발사되고 있는지 확인을 해보고 싶으시죠?


그러면 void OnDrawGizmos() 메소드를 이용하여 렌더를 해줍니다.


void OnDrawGizmos()

{

        Debug.DrawRay(ray.origin, ray.direction * distance, Color.red);

// 이와같이 Debug로 그려주시면 실제 게임에서는 표시되지 않고 디버그 모드에서만 설정된 

// 레드컬러로 레이가 발사 되는것을 확인 하실 수 있습니다.

}



아래 레이가 적용된 예시 화면


Posted by JakeGD
|

유니티에서 스크립트 에디터 변경하기


변경 경로

  • 유니티 좌측 상단 Edit -> Preference -> External Tools ->External Script Editor -> 원하는 에디터 선택


↓↓↓↓↓↓↓↓↓↓ 이해가 안가신다면! ↓↓↓↓↓↓↓↓↓↓



유니티의 좌측 상단 Edit 선택





Edit 리스트 중 Preferences... 선택




그럼 아래의 그림같이 Unity Preferences 창이 하나 등장 합니다.



1. External Tools 클릭

2. External Script Editor 에서 원하는 에디터 선택





짝짝짝! 


수고하셨습니다.!


Posted by JakeGD
|