< Return to Video

Raycasting - Unity Official Tutorials

  • 0:00 - 0:02
    Raycast는 광선 경로에
  • 0:02 - 0:04
    충돌체가 있는지 감지하기 위해
  • 0:04 - 0:07
    특정 방향의 점에서 보이지 않는
  • 0:07 - 0:09
    광선을 발사하는 과정입니다
  • 0:09 - 0:11
    총을 쏘는 것이 한 예입니다
  • 0:11 - 0:13
    이 인스턴스에서는
  • 0:13 - 0:15
    캐릭터는 자신을 배신하고 아버지를 죽인
  • 0:15 - 0:17
    악마의 상자를 쏴버리고 싶어 합니다
  • 0:17 - 0:20
    raycast 함수 문법은 이렇습니다
  • 0:20 - 0:22
    처음에는 혼동될 수 있지만
  • 0:22 - 0:25
    각 부분을 이해하면
  • 0:25 - 0:26
    구성에 수긍하실 겁니다
  • 0:26 - 0:28
    처음으로 광선의 시작은
  • 0:28 - 0:30
    세계 공간의 점입니다
  • 0:30 - 0:32
    그러므로 이 인스턴스에서
  • 0:32 - 0:34
    Vector3, X, Y 및 Z축 위치에 저장된
  • 0:34 - 0:38
    총신 앞의 점을 선택했습니다
  • 0:38 - 0:40
    그러나 세계 좌표 방향이 발사하려는
  • 0:40 - 0:42
    방향을 향하고 있지 않아
  • 0:42 - 0:44
    방향이 저장되어 있는 두 번째 Vector3가
  • 0:44 - 0:46
    필요합니다
  • 0:46 - 0:48
    이 두 Vector3 변수는 광선을 구성합니다
  • 0:48 - 0:51
    하지만 Ray 변수로 대체할 수도 있으며
  • 0:51 - 0:54
    해당 변수의 데이터 유형은
  • 0:54 - 0:56
    두 Vector3에 저장할 수 있습니다
  • 0:56 - 0:58
    코드는 이런 모양이 될 것입니다
  • 1:02 - 1:04
    함수의 다음 인수는
  • 1:04 - 1:06
    충돌체 충돌의 정보를 저장하는
  • 1:06 - 1:08
    RaycastHit 변수입니다
  • 1:08 - 1:10
    어떤 오브젝트가 광선을 교차하는지
  • 1:10 - 1:13
    코드에서 쿼리할 수 있습니다
  • 1:13 - 1:16
    마지막으로 선택적 인수 두 개입니다
  • 1:16 - 1:18
    거리는 광선 길이를
  • 1:18 - 1:20
    정의하며 생략하면 기본값인
  • 1:20 - 1:22
    무한 길이가 됩니다
  • 1:22 - 1:24
    다음은 레이어 마스크이며
  • 1:24 - 1:27
    Unity의 레이어 시스템에 있는
    특정 레이어 수이며
  • 1:27 - 1:29
    광선이 무시하는 오브젝트를
  • 1:29 - 1:30
    배치할 수 있습니다
  • 1:30 - 1:32
    Raycast를 사용한 다른 예를
  • 1:32 - 1:34
    살펴봅시다
  • 1:34 - 1:36
    이 예제는 바닥에 가까이 갈 때
  • 1:36 - 1:37
    낙하산이 펴지는 낙하산 상자가
  • 1:37 - 1:39
    나옵니다
  • 1:40 - 1:42
    상자에는 부품이 2개 있습니다
  • 1:42 - 1:44
    슈트와 상자 자체가 그것입니다
  • 1:44 - 1:46
    슈트에는 슈트를 여는 것과
  • 1:47 - 1:48
    닫는 것, 이렇게 두 개의
  • 1:49 - 1:50
    애니메이션이 있습니다
  • 1:51 - 1:53
    이 예제에서는 상자가 바닥에 얼마나
  • 1:53 - 1:55
    떨어져 있는지 확인하기 위해 광선을
  • 1:55 - 1:57
    아래쪽으로 쏠 것이며
  • 1:57 - 2:00
    환경에 적용된 충돌체를 찾아
    바닥을 확인할 것입니다
  • 2:01 - 2:03
    환경용 충돌체는 environment라는 단어로
  • 2:03 - 2:05
    태깅되어 있습니다
  • 2:05 - 2:09
    스크립트에서 해당 태그를 찾아보겠습니다
  • 2:11 - 2:12
    RayCast 함수가 IF문 안에 있어
  • 2:12 - 2:16
    아무 것이나 교차했다는 뜻인
  • 2:16 - 2:18
    true를 반환하면
  • 2:18 - 2:20
    IF문의 주석이 실행되고
  • 2:20 - 2:22
    RayCastHit 변수가 충돌한
  • 2:22 - 2:25
    것을 쿼리합니다
  • 2:26 - 2:29
    Physics.Raycast를 작성한
  • 2:29 - 2:33
    IF문에 상자 위치와 아래쪽 방향을 저장하는
  • 2:33 - 2:36
    landingRay 변수가 있습니다
  • 2:36 - 2:38
    Vector3.down 바로 가기를
  • 2:38 - 2:40
    광선을 쏘는 데
  • 2:40 - 2:42
    사용할 것입니다
  • 2:42 - 2:44
    RaycastHit 변수 'hit'는
  • 2:44 - 2:46
    아래쪽으로 쏠 때 광선과 충돌하는
  • 2:46 - 2:48
    모든 것을 저장하고 거리,
  • 2:48 - 2:50
    'length' 또는 광선은
  • 2:50 - 2:53
    'deployment height' 변수로 정의합니다
  • 2:53 - 2:56
    광선이 충돌체와 교차하면
  • 2:59 - 3:02
    deploy parachute 함수를 호출합니다
  • 3:02 - 3:05
    이 함수는 Boolean 'deployed' 플래그를
  • 3:05 - 3:08
    true로 설정해 반복할 수 없게 합니다
  • 3:09 - 3:11
    그리고 rigidbody의 Drag를
  • 3:11 - 3:14
    'parachuteEffectiveness' 변수로 설정합니다
  • 3:14 - 3:16
    이렇게 해서 낙하산이 펴지면
  • 3:16 - 3:18
    상자가 느리게 내려갑니다
  • 3:18 - 3:20
    또한 공용 변수에 할당하는
  • 3:20 - 3:22
    게임 오브젝트인 낙하산
  • 3:22 - 3:24
    오브젝트에서 애니메이션을
  • 3:24 - 3:25
    재생합니다
  • 3:25 - 3:28
    separate OnCollisionEnter 함수는
  • 3:28 - 3:30
    접는 애니메이션을 재생합니다
  • 3:30 - 3:32
    상자가 땅에 내려오거나 다른 오브젝트와
  • 3:32 - 3:35
    충돌하면 낙하산이 접힙니다
  • 3:36 - 3:40
    deployment height를 4로 설정해
  • 3:40 - 3:42
    광선 길이를 4로 정합니다
  • 3:42 - 3:45
    그리고 parachute effectiveness를 8로 설정해
  • 3:46 - 3:49
    rigidbody 끌기를 8로 정합니다
  • 3:49 - 3:51
    이제 낙하산 슈트 오브젝트를
  • 3:51 - 3:54
    parachute 변수로 끕니다
  • 3:54 - 3:57
    오브젝트에는 재생할 애니메이션 컴포넌트가
  • 3:57 - 3:59
    있어 펴는 것과 접는
  • 3:59 - 4:01
    애니메이션이 됩니다
  • 4:01 - 4:03
    이제 한 번 더 재생해 봅시다
  • 4:07 - 4:09
    씬 뷰나 게임에서는
  • 4:09 - 4:11
    광선 투시를 볼 수 있는
  • 4:11 - 4:13
    것에 주의하십시오
  • 4:13 - 4:15
    또한 Debug.DrawRay 함수를
  • 4:15 - 4:18
    사용하여 광선이
  • 4:18 - 4:21
    비춰지는 부분을 미리 볼 수 있습니다
  • 4:21 - 4:24
    Debug.DrawRay를
  • 4:24 - 4:26
    추가하여 Vector3.down 방향에서
  • 4:26 - 4:28
    상자 위치에 대한 광선을
  • 4:28 - 4:30
    시각적으로 그리고
  • 4:30 - 4:34
    기존 광선 길이인
    deployment height를 곱합니다
  • 4:34 - 4:36
    이렇게 하여 아래 IF문에서 쏘는
  • 4:36 - 4:38
    실제 광선을 일치시킵니다
  • 4:39 - 4:41
    다시 재생하면 Unity는 씬 뷰에서
  • 4:41 - 4:43
    그려진 광선을
  • 4:43 - 4:46
    표시하여 광선을 보여줍니다
Title:
Raycasting - Unity Official Tutorials
Description:

more » « less
Video Language:
English
Duration:
04:47

Korean subtitles

Revisions